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 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, 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.
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.
| Notation | Value |
|---|---|
| Unicode | U+FEFF |
| Rust | \u{FEFF} |
| JavaScript, Python | \uFEFF |
| HTML |   |
| Regex (PCRE, Rust) | \x{FEFF} |