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.

Start playing free

  1. U+0000, the null character
  2. U+000A, the line feed
  3. 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.

The dad joke
Why was the byte order mark invisible? It didn't want to make a scene at the start of the file.
Like this card?
Play the game

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.

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

Test yourself in the game