U+0000..U+0008, U+000B..U+000C, U+000E..U+001F, U+007F..U+009F
CONTROL CHARACTER

Non-printing control character that does not belong in text.

Codepoint
U+0000..U+0008, U+000B..U+000C, U+000E..U+001F, U+007F..U+009F
Short
CTRL
Group
control-char
Class
invisible
Default
removed
Replaced by
removed, no substitute
Codepoints
62

What it is

The non-printing control codes inherited from teleprinters and terminals: bell, form feed, escape, delete and their relatives, plus a second block that arrived with the 8-bit character sets.

Tab, line feed and carriage return are excluded. Those do belong in text, and TraceFree never reports them.

Where it comes from

From binary data read as if it were text, from a failed encoding conversion, from terminal output pasted into a document, and from files assembled by a program that never expected a human to read them.

When it belongs

In a document, essentially never. Their presence usually means something upstream treated a file as the wrong kind of thing.

What TraceFree does with it

PresetAction
conservativeremoved
defaultremoved
report-onlyasked about
strictremoved

Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.

How to remove it

In TraceFree, turn on the clipboard watcher and copy the text — the finding appears with a before-and-after comparison of the affected lines. For files, a watched folder does the same, keeping a backup copy alongside.

How to write it

This page never prints the character itself, only ways of writing it. A page about invisible characters that contained invisible characters would be unreviewable — and that is the problem the program exists to solve.

NotationValue
UnicodeU+0000
Rust\u{0}
JavaScript, Python\u0000
HTML� �
Regex (PCRE, Rust)\x{0}