SESK: Stuff Everyone Should Know · sesk.info/tech-utf8-bom
Which Unicode character is used as the byte order mark (BOM) at the start of some text files?
U+FEFF, the zero width no-break space.
- U+0000, the null character
- U+000A, the line feed
- U+FEFF, zero width no-break space ✔
Why: U+FEFF is invisible, so placing it first lets software detect the byte order of UTF-16 text. In UTF-8 it shows up as the three bytes EF BB BF and is usually not needed, since UTF-8 has no byte order.
Huh, didn't know that: RFC 3629 says a BOM is useless for byte order in UTF-8 because its encoding unit is one byte.
Why was the byte order mark invisible? It didn't want to make a scene at the start of the file.
Like this card?
References
Answer: U+FEFF, zero width no-break space. U+FEFF is invisible, so placing it first lets software detect the byte order of UTF-16 text. In UTF-8 it shows up as the three bytes EF BB BF and is usually not needed, since UTF-8 has no byte order.
- RFC 3629: UTF-8, a transformation format of ISO 10646 www.rfc-editor.org/rfc/rfc3629.txt
The UCS character U+FEFF "ZERO WIDTH NO-BREAK SPACE" is also known informally as "BYTE ORDER MARK"
Checked 2026-10-10.
Think this answer is wrong? Tap "Challenge this answer" on the card in the game and tell us why.
More stuff everyone should know
That's stuff everyone should know.