
Byte order mark. Legitimate as the first character of a file, an artifact elsewhere.
zero-widthinvisibleThe byte order mark. At the very beginning of a file it is a legitimate encoding marker, telling a reader how the bytes that follow are arranged. Anywhere else in the text it is a zero-width no-break space and an artifact.
Mostly from machines rather than people. Content management systems insert them to control line breaking, word processors leave them behind when text is reflowed, and text generated by a language model carries them out of the tokenizer. Some arrive deliberately: a zero-width character is the simplest way to mark a copy of a document without the mark being visible.
As the first character of a file, yes — and TraceFree PRO recognises that position and leaves it alone.
In the middle of a paragraph it has nothing to mark. It is a common cause of a first line that will not parse, a CSV header that matches nothing, and a configuration file a program refuses to read.
| Preset | Action |
|---|---|
conservative | removed |
default | removed |
report-only | asked about |
strict | removed |
Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.
In TraceFree PRO, turn on the clipboard watcher and copy the text. On the command line:
tracefree clean --backup document.txt
pbpaste | tracefree clean | pbcopyReport without changing anything — exit code 1 on findings, so it works in CI:
tracefree check -r ./docsThis 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.
| Notation | Value |
|---|---|
| Unicode | U+FEFF |
| Rust | \u{FEFF} |
| JavaScript, Python | \uFEFF |
| HTML |   |
| Regex (PCRE, Rust) | \x{FEFF} |
Paste anything into the browser demo and see what is in it. Same engine as the app, running entirely on your device — nothing is uploaded.

