U+FEFF
ZERO WIDTH NO-BREAK SPACE

Byte order mark. Legitimate as the first character of a file, an artifact elsewhere.

Codepoint
U+FEFF
Short
ZWNBSP
Group
zero-width
Class
invisible
Default
removed
Replaced by
removed, no substitute

What it is

The 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.

Where it comes from

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.

When it belongs

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.

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

Related characters