diff --git a/spacy/displacy/render.py b/spacy/displacy/render.py
index 69f6df8f0..07550f9aa 100644
--- a/spacy/displacy/render.py
+++ b/spacy/displacy/render.py
@@ -252,8 +252,10 @@ class EntityRenderer:
colors.update(user_color)
colors.update(options.get("colors", {}))
self.default_color = DEFAULT_ENTITY_COLOR
- self.colors = colors
+ self.colors = {label.upper(): color for label, color in colors.items()}
self.ents = options.get("ents", None)
+ if self.ents is not None:
+ self.ents = [ent.upper() for ent in self.ents]
self.direction = DEFAULT_DIR
self.lang = DEFAULT_LANG
template = options.get("template")
diff --git a/spacy/displacy/templates.py b/spacy/displacy/templates.py
index ff99000f4..b9cbf717b 100644
--- a/spacy/displacy/templates.py
+++ b/spacy/displacy/templates.py
@@ -51,14 +51,14 @@ TPL_ENTS = """
TPL_ENT = """
{text}
- {label}
+ {label}
"""
TPL_ENT_RTL = """
{text}
- {label}
+ {label}
"""
diff --git a/spacy/tests/test_displacy.py b/spacy/tests/test_displacy.py
index adac0f7c3..1fa0eeaa1 100644
--- a/spacy/tests/test_displacy.py
+++ b/spacy/tests/test_displacy.py
@@ -1,6 +1,6 @@
import pytest
from spacy import displacy
-from spacy.displacy.render import DependencyRenderer
+from spacy.displacy.render import DependencyRenderer, EntityRenderer
from spacy.tokens import Span
from spacy.lang.fa import Persian
@@ -97,3 +97,17 @@ def test_displacy_render_wrapper(en_vocab):
assert html.endswith("/div>TEST")
# Restore
displacy.set_render_wrapper(lambda html: html)
+
+
+def test_displacy_options_case():
+ ents = ["foo", "BAR"]
+ colors = {"FOO": "red", "bar": "green"}
+ renderer = EntityRenderer({"ents": ents, "colors": colors})
+ text = "abcd"
+ labels = ["foo", "bar", "FOO", "BAR"]
+ spans = [{"start": i, "end": i + 1, "label": labels[i]} for i in range(len(text))]
+ result = renderer.render_ents("abcde", spans, None).split("\n\n")
+ assert "red" in result[0] and "foo" in result[0]
+ assert "green" in result[1] and "bar" in result[1]
+ assert "red" in result[2] and "FOO" in result[2]
+ assert "green" in result[3] and "BAR" in result[3]
diff --git a/website/docs/api/top-level.md b/website/docs/api/top-level.md
index 61fca6ec5..89c53cce3 100644
--- a/website/docs/api/top-level.md
+++ b/website/docs/api/top-level.md
@@ -257,7 +257,7 @@ If a setting is not present in the options, the default value will be used.
| Name | Description |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ents` | Entity types to highlight or `None` for all types (default). ~~Optional[List[str]]~~ |
-| `colors` | Color overrides. Entity types in uppercase should be mapped to color names or values. ~~Dict[str, str]~~ |
+| `colors` | Color overrides. Entity types should be mapped to color names or values. ~~Dict[str, str]~~ |
| `template` 2.2 | Optional template to overwrite the HTML used to render entity spans. Should be a format string and can use `{bg}`, `{text}` and `{label}`. See [`templates.py`](https://github.com/explosion/spaCy/blob/master/spacy/displacy/templates.py) for examples. ~~Optional[str]~~ |
By default, displaCy comes with colors for all entity types used by
diff --git a/website/docs/usage/visualizers.md b/website/docs/usage/visualizers.md
index f33340063..4ba0112b6 100644
--- a/website/docs/usage/visualizers.md
+++ b/website/docs/usage/visualizers.md
@@ -121,10 +121,10 @@ import DisplacyEntHtml from 'images/displacy-ent2.html'
The entity visualizer lets you customize the following `options`:
-| Argument | Description |
-| -------- | -------------------------------------------------------------------------------------------------------------------------- |
-| `ents` | Entity types to highlight (`None` for all types). Defaults to `None`. ~~Optional[List[str]]~~ | `None` |
-| `colors` | Color overrides. Entity types in uppercase should be mapped to color names or values. Defaults to `{}`. ~~Dict[str, str]~~ |
+| Argument | Description |
+| -------- | ------------------------------------------------------------------------------------------------------------- |
+| `ents` | Entity types to highlight (`None` for all types). Defaults to `None`. ~~Optional[List[str]]~~ | `None` |
+| `colors` | Color overrides. Entity types should be mapped to color names or values. Defaults to `{}`. ~~Dict[str, str]~~ |
If you specify a list of `ents`, only those entity types will be rendered – for
example, you can choose to display `PERSON` entities. Internally, the visualizer