diff --git a/customization/data-settings.mdx b/customization/data-settings.mdx
index 73bb759..9958ac1 100644
--- a/customization/data-settings.mdx
+++ b/customization/data-settings.mdx
@@ -31,6 +31,7 @@ The picker lists the monospaced families installed on your Mac, at 10 to 24 pt.
| Show row numbers | On | |
| Auto-show inspector on row select | Off | Opens the inspector on selecting a row, in a query result as well as a table. A pane you left on the assistant stays on it |
| Smart value detection | On | Reads id-like binary columns as UUIDs, timestamp-named integer columns as dates, and binary columns holding UTF-8 as text. Override per column with Display As, see [Cell and Row Viewers](/features/json-viewer) |
+| Show invisible characters | On | Marks zero-width, control and special space characters in cells and value fields. See [Invisible characters](/features/data-grid#invisible-characters) |
| Default row sort | No sorting (engine order) | Or Primary key, First column. Applied when a table first opens; clicking a column header overrides it |
| Sort direction | Ascending | Or Descending. Sets the default row sort's direction and which way the first click on a column header sorts |
diff --git a/customization/editor-settings.mdx b/customization/editor-settings.mdx
index 7106806..6de12e0 100644
--- a/customization/editor-settings.mdx
+++ b/customization/editor-settings.mdx
@@ -27,7 +27,7 @@ The picker lists the monospaced families installed on your Mac, at 10 to 24 pt.
| Show line numbers | On | Turning this off also hides the per-statement run button |
| Highlight current line | On | |
| Highlight current statement | On | A faint band behind the statement the cursor is in. See [Statement markers](/features/sql-editor#statement-markers) |
-| Show invisible characters | Off | See [Invisible characters](/features/sql-editor#invisible-characters) |
+| Show invisible characters | On | See [Invisible characters](/features/sql-editor#invisible-characters) |
| Word wrap | Off | Off means long lines scroll horizontally |
## Gutter
diff --git a/customization/settings.mdx b/customization/settings.mdx
index 63ea567..ba7f802 100644
--- a/customization/settings.mdx
+++ b/customization/settings.mdx
@@ -71,6 +71,7 @@ What a fresh install ships with, so one glance down this column says what you ch
| Data | Show row numbers | On |
| Data | Auto-show inspector on row select | Off |
| Data | Smart value detection | On |
+| Data | Show invisible characters | On |
| Data | Default row sort | No sorting (engine order) |
| Data | Sort direction | Ascending |
| Data | Default page size | 1,000 rows |
diff --git a/features/data-grid.mdx b/features/data-grid.mdx
index 43fcb80..ef946fb 100644
--- a/features/data-grid.mdx
+++ b/features/data-grid.mdx
@@ -218,3 +218,11 @@ SQL Server, Oracle, SpatiaLite, Teradata, Trino, Spanner, Cassandra and BigQuery
Double-click a cell to edit it. A long value stays on one line and scrolls sideways rather than wrapping into the column's width. Nothing reaches the database until you save, and [Change Tracking](/features/change-tracking) covers the type-specific editors, the row operations, and what a Save runs.
NULL renders as styled `NULL` text. That text, the date format, row height, row numbers, and alternate row backgrounds are [data settings](/customization/data-settings). Every shortcut the grid answers to, and how to rebind it, is in [Keyboard Shortcuts](/features/keyboard-shortcuts).
+
+### Invisible characters
+
+A value that will not match a `WHERE` clause it looks right for often holds a character that draws as nothing. Cells mark those characters the way the [SQL editor](/features/sql-editor#invisible-characters) does: a zero-width space, a byte order mark, a soft hyphen or a bidirectional control shows as a box with its short name, such as `ZWSP`, `BOM`, `SHY` or `RLO`, and a non-breaking or other special space is outlined. A carriage return with no line feed after it shows as `CR`. Other line breaks still read as a space.
+
+The inspector's text fields, the viewer and editor that open on a cell, and the [text window](/features/json-viewer#row-details-inspector) mark the same characters. The text window's status bar also counts the value's characters and bytes.
+
+To hide the marks, turn off **Show invisible characters** in [Settings > Data](/customization/data-settings).
diff --git a/features/json-viewer.mdx b/features/json-viewer.mdx
index a9dc921..1eabe49 100644
--- a/features/json-viewer.mdx
+++ b/features/json-viewer.mdx
@@ -144,7 +144,7 @@ A value that refuses to open in one mode still opens in another.
| An image, in any column | [Image viewer](#image-viewer), source behind the second segment |
| An enum, set, or boolean column | Picker |
| A blob column, or other bytes in a spatial column | Hex editor |
-| A `TEXT` variant, `CLOB` or `NTEXT` column, or any value with a line break or over 80 characters | Scrolling text box |
+| A `TEXT` variant, `CLOB` or `NTEXT` column, or any value with a line break, over 80 characters, or holding a [marked invisible character](/features/data-grid#invisible-characters) | Scrolling text box |
| Anything else | Single-line field |
@@ -158,7 +158,7 @@ The hex editor shows the first 10 KB of a blob. Past that it reads **Truncated,
The text box, the JSON editor and the map each carry a drag handle under them, with separate remembered heights that survive a relaunch.
-**Open in Window** detaches a JSON, PHP or text value into its own resizable window; on an editable row, edits there join the same pending changes as the field. An image and a map detach read-only. The expand button on a JSON, PHP, long text or geometry field grows it to fill the inspector's height with the other fields still listed around it; click it again to shrink it back. Binary and image fields draw at a fixed height and carry no expand button, and neither does a geometry field stored as bytes, whose map still takes the drag handle.
+**Open in Window** detaches a JSON, PHP or text value into its own resizable window; on an editable row, edits there join the same pending changes as the field. An image and a map detach read-only. The text window's status bar counts the value's characters, as the Unicode code points `CHAR_LENGTH` counts, and its bytes in UTF-8, and warns when the value holds a bidirectional control that can reorder how the text reads. The expand button on a JSON, PHP, long text or geometry field grows it to fill the inspector's height with the other fields still listed around it; click it again to shrink it back. Binary and image fields draw at a fixed height and carry no expand button, and neither does a geometry field stored as bytes, whose map still takes the drag handle.
Every field carries a menu at its trailing edge, and right-clicking the field opens the same one. **Set NULL**, **Set DEFAULT**, **Set EMPTY**, **Generate UUID**, **Generate UUIDv7** and **SQL Functions** need an editable field and appear only where the column takes them, as in [Set Value](/features/change-tracking#editing-a-cell); `Ctrl+Option+N` and `Ctrl+Option+D` set NULL and DEFAULT from the keyboard. **Copy Value** is always there, and a read-only field keeps its text selectable.
diff --git a/features/sql-editor.mdx b/features/sql-editor.mdx
index ddd6683..e47ec19 100644
--- a/features/sql-editor.mdx
+++ b/features/sql-editor.mdx
@@ -231,7 +231,7 @@ Invisible characters around a statement, such as a byte order mark in front of `
A database often quotes the offending character back in its error message. Error messages show each marked character as its short name in angle brackets, so SQLite's reply to a stray backspace reads `unrecognized token: ""`. The error banner, query history and the other panes that show a database error also color the name orange and tint a special space. In an error alert, a special space shows as an ordinary space. The banner's copy button copies the database's text as it arrived, for a search or a bug report.
-To hide the marks in the editor, turn off **Show invisible characters** in **Settings > Editor**. Read-only views, such as the AI assistant's code blocks, and error messages always show them.
+To hide the marks in the editor, turn off **Show invisible characters** in **Settings > Editor**. Read-only views, such as the AI assistant's code blocks, and error messages always show them. The data grid and the value fields have a switch of their own; see [Invisible characters](/features/data-grid#invisible-characters).
## AI assistance