U+FEFF was added to Unicode in version 1.1 (1993). It belongs to the block Arabic Presentation Forms-B in the Basic Multilingual Plane.

This character is a Format and is commonly used, that is, in no specific script. The character is also known as BOM and ZWNBSP.

The glyph is not a composition. It has a Neutral East Asian Width. In bidirectional context it acts as Boundary Neutral and is not mirrored. In text U+FEFF behaves as Word Joiner regarding line breaks. It has type Format for sentence and Format for word breaks. The Grapheme Cluster Break is Control.

The Wikipedia has the following information about this codepoint:

The byte order mark (BOM) is a Unicode character – (U+FEFF byte order mark (BOM) – whose appearance as a magic number at the start of a text stream can signal several things to a program consuming the text:

  • What byte order, or endianness, the text stream is stored in;
  • The fact that the text stream is Unicode, to a high level of confidence;
  • Which of several Unicode encodings that text stream is encoded as.

BOM use is optional, and, if used, should appear at the start of the text stream.

Unicode can be encoded as 8-bit, 16-bit, or 32-bit integers. For the 16- and 32-bit representations, a computer receiving text from arbitrary sources needs to know which byte order the integers are encoded in. Because the BOM itself is encoded in the same scheme as the rest of the document, but has a known value, the consumer of the text can examine these first few bytes to determine the encoding. The BOM thus gives the producer of the text a way to describe the text stream's endianness to the consumer of the text without requiring some contract or metadata outside of the text stream itself.

Once the receiving computer has consumed the text stream, it is free to process the characters in its own native byte order and no longer needs the BOM. Hence the need for a BOM arises in the context of text interchange, rather than in text processing within a closed environment.


System Representation
UTF-32 00 00 FE FF
URL-Quoted %EF%BB%BF
Wrong windows-1252 Mojibake �
abbreviation BOM
abbreviation ZWNBSP
alias BOM
alias ZWNBSP


Complete Record

Property Value
Age (age) 1.1
Unicode 1 Name (na1) BYTE ORDER MARK
Block (blk) Arabic_PF_B
General Category (gc) Format
Script (sc) Common
Bidirectional Category (bc) Boundary Neutral
Combining Class (ccc) Not Reordered
Decomposition Type (dt) None
Decomposition Mapping (dm) �
Lowercase (Lower)
Simple Lowercase Mapping (slc) �
Lowercase Mapping (lc) �
Uppercase (Upper)
Simple Uppercase Mapping (suc) �
Uppercase Mapping (uc) �
Simple Titlecase Mapping (stc) �
Titlecase Mapping (tc) �
Case Folding (cf) �
ASCII Hex Digit (AHex)
Alphabetic (Alpha)
Bidi Control (Bidi_C)
Bidi Mirrored (Bidi_M)
Bidi Paired Bracket (bpb) �
Bidi Paired Bracket Type (bpt) None
Cased (Cased)
Composition Exclusion (CE)
Case Ignorable (CI)
Full Composition Exclusion (Comp_Ex)
Changes When Casefolded (CWCF)
Changes When Casemapped (CWCM)
Changes When NFKC Casefolded (CWKCF)
Changes When Lowercased (CWL)
Changes When Titlecased (CWT)
Changes When Uppercased (CWU)
Dash (Dash)
Deprecated (Dep)
Default Ignorable Code Point (DI)
Diacritic (Dia)
East Asian Width (ea) Neutral
Extender (Ext)
FC NFKC Closure (FC_NFKC) �
Grapheme Cluster Break (GCB) Control
Grapheme Base (Gr_Base)
Grapheme Extend (Gr_Ext)
Hex Digit (Hex)
Hangul Syllable Type (hst) Not Applicable
Hyphen (Hyphen)
ID Continue (IDC)
Ideographic (Ideo)
ID Start (IDS)
IDS Binary Operator (IDSB)
IDS Trinary Operator and (IDST)
Indic Positional Category (InPC) NA
Indic Syllabic Category (InSC) Other
ISO 10646 Comment (isc)
Joining Group (jg) No_Joining_Group
Join Control (Join_C)
Jamo Short Name (JSN)
Joining Type (jt) Transparent
Line Break (lb) Word Joiner
Logical Order Exception (LOE)
Math (Math)
Noncharacter Code Point (NChar)
NFC Quick Check (NFC_QC) Yes
NFD Quick Check (NFD_QC) Yes
NFKC Quick Check (NFKC_QC) Yes
NFKD Quick Check (NFKD_QC) Yes
Numeric Type (nt) None
Numeric Value (nv) NaN
Other Alphabetic (OAlpha)
Other Default Ignorable Code Point (ODI)
Other Grapheme Extend (OGr_Ext)
Other ID Continue (OIDC)
Other ID Start (OIDS)
Other Lowercase (OLower)
Other Math (OMath)
Other Uppercase (OUpper)
Pattern Syntax (Pat_Syn)
Pattern White Space (Pat_WS)
Quotation Mark (QMark)
Radical (Radical)
Sentence Break (SB) Format
Simple Case Folding (scf) �
Script Extension (scx) Common
Soft Dotted (SD)
STerm (STerm)
Terminal Punctuation (Term)
Unified Ideograph (UIdeo)
Variation Selector (VS)
Word Break (WB) Format
White Space (WSpace)
XID Continue (XIDC)
XID Start (XIDS)
Expands On NFC (XO_NFC)
Expands On NFD (XO_NFD)
Expands On NFKC (XO_NFKC)
Expands On NFKD (XO_NFKD)