Buffalo Records Symbols

Sharp and Flat Symbols

Three accidental characters exist below U+FFFF: flat, natural and sharp. Each is listed here with its official Unicode name and codepoint.

Tap any tile to copy it. Nothing is sent anywhere — the copy happens in your browser.

Three characters at the end of a block

♭ is U+266D MUSIC FLAT SIGN, ♮ is U+266E MUSIC NATURAL SIGN and ♯ is U+266F MUSIC
SHARP SIGN. They are the last three characters of the Miscellaneous Symbols block and they sit
directly after the four note characters on
music note symbols, so U+2669 to U+266F is one unbroken run of
seven. Each of the seven encodes in three bytes of UTF-8, which is the whole reason they travel where
the rest of music notation does not.

♯ is not the hash key

The sharp sign and the number sign are two different characters and nothing forces a font to draw
them alike. ♯ is U+266F; the key on your keyboard is U+0023 NUMBER SIGN; there is also a
full-width variant at U+FF03 FULLWIDTH NUMBER SIGN. The checkable difference is the general category
Unicode assigns: U+266F is Sm, a maths symbol, while U+0023 is Po,
punctuation. A filter written around \p{Sm} matches the sharp and skips the hash —
and skips ♭ and ♮ too, because those two are So. Three characters sitting side
by side, two general categories between them.

♭ is not a lower-case b

Typing Bb instead of B♭ looks close enough on screen and is not the same data.
U+266D is a symbol; U+0062 LATIN SMALL LETTER B is a letter. A spell checker reads one as a word and
ignores the other. A slug generator that keeps letters and drops symbols turns Bb minor into
bb-minor and B♭ minor into b-minor.

The three do not align with each other

East Asian Width decides how many cells a character takes in a monospace layout. ♭ and ♯
are Ambiguous; ♮ is Neutral. Where a terminal is configured to render Ambiguous characters
double-width, the flat and the sharp take two cells and the natural takes one, so a chord chart drawn
in fixed-width text drifts out of column at every natural sign.

In HTML

All three have named character references: ♭, ♮
(also spelled ♮) and ♯. The numeric forms are
♭, ♮ and ♯.

Double sharps and double flats are elsewhere

Unicode does encode them — U+1D12A MUSICAL SYMBOL DOUBLE SHARP and U+1D12B MUSICAL SYMBOL
DOUBLE FLAT — but both are above U+FFFF and need four bytes, so a field that only accepts
three-byte characters will refuse them.
Sheet music symbols explains what that limit is and what else it
takes out; music symbols indexes the wing.