Skip to content
Ghostchars

Control characters

C0 CONTROL CHARACTERS (U+0000–U+001F)

The 32 ASCII control codes — NUL, BEL, ESC, the file and record separators, and the rest. They are commands to a teletype, not text.

Range
U+0000–U+001F
Removed by default
No
Governing option
Control characters --controls
Can be load-bearing
No

Where it comes from

Binary data pasted as text, terminal output that still contains escape sequences, log files, mis-decoded files, and payloads that exploit software which handles them badly.

Why it matters

A NUL truncates a C string; an ESC can start a terminal escape sequence that changes what you see; the separators split records in unexpected places. Most of them render as nothing or as a placeholder box, so a reviewer sees a gap.

Before and after

BeforeokU+0007done
Afterokdone

U+0007 BELL — a character that used to ring a physical bell, now invisible.

The character is shown as a labelled chip so you can see where it sits. In your text it draws nothing at all.

When it is legitimate

Tab, line feed and carriage return, which is exactly why Ghostchars excludes those three from this group and never removes them.

How to remove it

Turn on Control characters (`--controls`). Tab, LF and CR are never touched; CR is handled separately by the line-ending pass.

Is it an AI watermark?

Not a watermark

No. Control characters in text mean a decoding problem or a deliberate probe. No model produces them as prose.

No connection to machine-generated text. It comes from software, from a keyboard, or from a person.

Questions

Does it remove tabs?

No. Tab (U+0009), line feed (U+000A) and carriage return (U+000D) are excluded from this group. Line endings are handled by `-n`.

Why does my terminal go strange when I cat the file?

An ESC character starts an escape sequence, and the terminal obeys it. That is one reason to clean untrusted text before printing it.

Check your own text

Paste anything into the cleaner to see every hidden character it contains, with position, codepoint and what happens to each one. Nothing is uploaded.

Check your own textAll characters