diff --git a/CHANGELOG.md b/CHANGELOG.md
index 58115f6..1942ecc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,8 @@ TODO Summary
   The only associated user-facing change is the rename of
   `pyout.SCHEMA` to `pyout.schema`.
 
+- The style attribute "label" has been renamed to "lookup".
+
 ### Deprecated
 ### Fixed
 ### Removed
diff --git a/pyout/elements.py b/pyout/elements.py
index 700f53d..d88c4b8 100644
--- a/pyout/elements.py
+++ b/pyout/elements.py
@@ -15,7 +15,7 @@ schema = {
         "bold": {
             "description": "Whether text is bold",
             "oneOf": [{"type": "boolean"},
-                      {"$ref": "#/definitions/label"},
+                      {"$ref": "#/definitions/lookup"},
                       {"$ref": "#/definitions/interval"}],
             "default": False,
             "scope": "field"},
@@ -24,7 +24,7 @@ schema = {
             "oneOf": [{"type": "string",
                        "enum": ["black", "red", "green", "yellow",
                                 "blue", "magenta", "cyan", "white"]},
-                      {"$ref": "#/definitions/label"},
+                      {"$ref": "#/definitions/lookup"},
                       {"$ref": "#/definitions/interval"}],
             "default": "black",
             "scope": "field"},
@@ -37,7 +37,7 @@ schema = {
         "underline": {
             "description": "Whether text is underlined",
             "oneOf": [{"type": "boolean"},
-                      {"$ref": "#/definitions/label"},
+                      {"$ref": "#/definitions/lookup"},
                       {"$ref": "#/definitions/interval"}],
             "default": False,
             "scope": "field"},
@@ -76,10 +76,10 @@ schema = {
                                            {"type": ["string", "boolean"]}],
                                  "additionalItems": False}]}},
             "additionalProperties": False},
-        "label": {
+        "lookup": {
             "description": "Map a value to a style",
             "type": "object",
-            "properties": {"label": {"type": "object"}},
+            "properties": {"lookup": {"type": "object"}},
             "additionalProperties": False},
         "transform": {
             "description": """An arbitrary function.
diff --git a/pyout/field.py b/pyout/field.py
index 3b0664c..12cc4a7 100644
--- a/pyout/field.py
+++ b/pyout/field.py
@@ -360,13 +360,13 @@ class StyleProcessors(object):
 
         Returns
         -------
-        str, {"simple", "label", "interval"}
+        str, {"simple", "lookup", "interval"}
         """
         try:
             keys = list(value.keys())
         except AttributeError:
             return "simple"
-        if keys in [["label"], ["interval"]]:
+        if keys in [["lookup"], ["interval"]]:
             return keys[0]
         raise ValueError("Type of `value` could not be determined")
 
@@ -412,7 +412,7 @@ class StyleProcessors(object):
                         yield self.by_key(key)
                 elif key_type is str:
                     yield self.by_key(column_style[key])
-            elif vtype == "label":
+            elif vtype == "lookup":
                 yield self.by_lookup(column_style[key][vtype], attr_key)
             elif vtype == "interval":
                 yield self.by_interval_lookup(column_style[key][vtype],

diff --git a/pyout/tests/test_field.py b/pyout/tests/test_field.py
index 0c1f9fa..b4d72a1 100644
--- a/pyout/tests/test_field.py
+++ b/pyout/tests/test_field.py
@@ -82,7 +82,7 @@ def test_style_value_type():
 
     assert fn(True) == "simple"
     assert fn("red") == "simple"
-    assert fn({"label": {"BAD": "red"}}) == "label"
+    assert fn({"lookup": {"BAD": "red"}}) == "lookup"
 
     interval = {"interval": [(0, 50, "red"), (50, 80, "yellow")]}
     assert fn(interval) == "interval"
diff --git a/pyout/tests/test_tabular.py b/pyout/tests/test_tabular.py
index 49affe1..aa342e8 100644
--- a/pyout/tests/test_tabular.py
+++ b/pyout/tests/test_tabular.py
@@ -517,10 +517,10 @@ def test_tabular_repaint_with_header():
 
 
 @patch("pyout.tabular.Terminal", TestTerminal)
-def test_tabular_write_label_color():
+def test_tabular_write_lookup_color():
     fd = StringIO()
     out = Tabular(style={"name": {"width": 3},
-                         "status": {"color": {"label": {"BAD": "red"}},
+                         "status": {"color": {"lookup": {"BAD": "red"}},
                                     "width": 6}},
                   stream=fd, force_styling=True)
     out(OrderedDict([("name", "foo"),
@@ -535,10 +535,10 @@ def test_tabular_write_label_color():
 
 
 @patch("pyout.tabular.Terminal", TestTerminal)
-def test_tabular_write_label_bold():
+def test_tabular_write_lookup_bold():
     fd = StringIO()
     out = Tabular(style={"name": {"width": 3},
-                         "status": {"bold": {"label": {"BAD": True}},
+                         "status": {"bold": {"lookup": {"BAD": True}},
                                     "width": 6}},
                   stream=fd, force_styling=True)
     out(OrderedDict([("name", "foo"),
@@ -553,10 +553,10 @@ def test_tabular_write_label_bold():
 
 
 @patch("pyout.tabular.Terminal", TestTerminal)
-def test_tabular_write_label_bold_false():
+def test_tabular_write_lookup_bold_false():
     fd = StringIO()
     out = Tabular(style={"name": {"width": 3},
-                         "status": {"bold": {"label": {"BAD": False}},
+                         "status": {"bold": {"lookup": {"BAD": False}},
                                     "width": 6}},
                   stream=fd, force_styling=True)
     out(OrderedDict([("name", "foo"),
@@ -570,9 +570,9 @@ def test_tabular_write_label_bold_false():
 
 
 @patch("pyout.tabular.Terminal", TestTerminal)
-def test_tabular_write_label_non_hashable():
+def test_tabular_write_lookup_non_hashable():
     fd = StringIO()
-    out = Tabular(style={"status": {"color": {"label": {"BAD": "red"}}}},
+    out = Tabular(style={"status": {"color": {"lookup": {"BAD": "red"}}}},
                   stream=fd)
     out(OrderedDict([("status", [0, 1])]))
     expected = ("[0, 1]\n")

"label" -> "enum" or alike?
Although originally `enum` is for enumerating and in our case to assign arbitrary style values, I feel that it might be a better fit instead of a `label`. just an idea, feel free to close
pyout/tests/test_field.py::test_style_value_type pyout/tests/test_tabular.py::test_tabular_write_lookup_color pyout/tests/test_tabular.py::test_tabular_write_lookup_bold pyout/tests/test_tabular.py::test_tabular_write_lookup_bold_false pyout/tests/test_tabular.py::test_tabular_write_lookup_non_hashable
pyout/tests/test_field.py::test_field_base pyout/tests/test_field.py::test_field_update pyout/tests/test_field.py::test_field_processors pyout/tests/test_field.py::test_something_about_nothing[text=''] pyout/tests/test_field.py::test_something_about_nothing[text='-'] pyout/tests/test_field.py::test_truncate_mark_true pyout/tests/test_field.py::test_truncate_mark_string pyout/tests/test_field.py::test_truncate_mark_short pyout/tests/test_field.py::test_truncate_nomark pyout/tests/test_field.py::test_style_processor_translate pyout/tests/test_tabular.py::test_tabular_write_color pyout/tests/test_tabular.py::test_tabular_write_empty_string pyout/tests/test_tabular.py::test_tabular_write_missing_column pyout/tests/test_tabular.py::test_tabular_write_missing_column_missing_text pyout/tests/test_tabular.py::test_tabular_write_list_value pyout/tests/test_tabular.py::test_tabular_write_missing_column_missing_object_data pyout/tests/test_tabular.py::test_tabular_write_columns_from_orderdict_row pyout/tests/test_tabular.py::test_tabular_write_columns_orderdict_mapping[sequence] pyout/tests/test_tabular.py::test_tabular_write_columns_orderdict_mapping[dict] pyout/tests/test_tabular.py::test_tabular_write_data_as_list pyout/tests/test_tabular.py::test_tabular_write_header pyout/tests/test_tabular.py::test_tabular_write_data_as_object pyout/tests/test_tabular.py::test_tabular_write_different_data_types_same_output pyout/tests/test_tabular.py::test_tabular_write_header_with_style pyout/tests/test_tabular.py::test_tabular_nondefault_separator pyout/tests/test_tabular.py::test_tabular_write_data_as_list_no_columns pyout/tests/test_tabular.py::test_tabular_write_style_override pyout/tests/test_tabular.py::test_tabular_default_style pyout/tests/test_tabular.py::test_tabular_write_multicolor pyout/tests/test_tabular.py::test_tabular_write_align pyout/tests/test_tabular.py::test_tabular_rewrite pyout/tests/test_tabular.py::test_tabular_rewrite_notfound pyout/tests/test_tabular.py::test_tabular_rewrite_multi_id pyout/tests/test_tabular.py::test_tabular_rewrite_multi_value pyout/tests/test_tabular.py::test_tabular_rewrite_with_ids_property pyout/tests/test_tabular.py::test_tabular_rewrite_auto_width pyout/tests/test_tabular.py::test_tabular_rewrite_data_as_list pyout/tests/test_tabular.py::test_tabular_repaint pyout/tests/test_tabular.py::test_tabular_repaint_with_header pyout/tests/test_tabular.py::test_tabular_write_intervals_color pyout/tests/test_tabular.py::test_tabular_write_intervals_color_open_ended pyout/tests/test_tabular.py::test_tabular_write_intervals_color_outside_intervals pyout/tests/test_tabular.py::test_tabular_write_intervals_bold pyout/tests/test_tabular.py::test_tabular_write_intervals_missing pyout/tests/test_tabular.py::test_tabular_write_transform pyout/tests/test_tabular.py::test_tabular_write_transform_with_header pyout/tests/test_tabular.py::test_tabular_write_transform_autowidth pyout/tests/test_tabular.py::test_tabular_write_transform_on_header pyout/tests/test_tabular.py::test_tabular_write_transform_func_error pyout/tests/test_tabular.py::test_tabular_write_width_truncate_long pyout/tests/test_tabular.py::test_tabular_write_autowidth pyout/tests/test_tabular.py::test_tabular_write_autowidth_with_header pyout/tests/test_tabular.py::test_tabular_write_autowidth_min pyout/tests/test_tabular.py::test_tabular_write_autowidth_min_max[marker=True] pyout/tests/test_tabular.py::test_tabular_write_autowidth_min_max[marker=False] pyout/tests/test_tabular.py::test_tabular_write_autowidth_min_max[marker=\u2026] pyout/tests/test_tabular.py::test_tabular_write_autowidth_min_max_with_header pyout/tests/test_tabular.py::test_tabular_write_autowidth_different_data_types_same_output pyout/tests/test_tabular.py::test_tabular_write_autowidth_auto_false_exception pyout/tests/test_tabular.py::test_tabular_write_callable_values pyout/tests/test_tabular.py::test_tabular_write_callable_transform_nothing pyout/tests/test_tabular.py::test_tabular_write_callable_values_multi_return pyout/tests/test_tabular.py::test_tabular_write_callable_values_multicol_key_infer_column[result=tuple] pyout/tests/test_tabular.py::test_tabular_write_callable_values_multicol_key_infer_column[result=dict] pyout/tests/test_tabular.py::test_tabular_write_generator_function_values[gen_func] pyout/tests/test_tabular.py::test_tabular_write_generator_function_values[generator] pyout/tests/test_tabular.py::test_tabular_write_generator_values_multireturn pyout/tests/test_tabular.py::test_tabular_write_wait_noop_if_nothreads