Currency Symbols in Unicode: A Complete Reference
Unicode contains over 60 currency symbols, from the ubiquitous dollar sign to obscure historical currencies. Using the correct Unicode symbol instead of a Latin-letter abbreviation makes your financial data cleaner, more compact, and internationally unambiguous. Here's what you need to know.
The Most Common Currency Symbols
- $ U+0024 DOLLAR SIGN — used for US dollars and many other currencies
- € U+20AC EURO SIGN — the euro; added in Unicode 2.1 (1998)
- £ U+00A3 POUND SIGN — British pound sterling
- ¥ U+00A5 YEN SIGN — Japanese yen and Chinese yuan
- ₿ U+20BF BITCOIN SIGN — added in Unicode 10.0 (2017)
- ₹ U+20B9 INDIAN RUPEE SIGN — added in Unicode 6.0 (2010)
- ₩ U+20A9 WON SIGN — South Korean won
- ₽ U+20BD RUBLE SIGN — Russian ruble, added in Unicode 7.0 (2014)
The Currency Symbols Block (U+20A0–U+20CF)
Most modern currency symbols live in the Currency Symbols block. Before this block was established, currencies were scattered through Latin-1 ($ and ¥ at U+0024 and U+00A5) and Latin Extended-Additional. New currency symbols are still being added—the Georgian Lari sign ₾ (U+20BE) arrived in Unicode 8.0, and the Azerbaijani Manat ₼ (U+20BC) in Unicode 7.0.
All currency symbols belong to the General Category Sc (Symbol, Currency). This lets you match all currency symbols with the regex \p{Sc} in Unicode-aware regex engines.
Encoding Considerations
The euro sign € (U+20AC) is encoded as the three-byte sequence E2 82 AC in UTF-8 and as the single two-byte code unit 20AC in UTF-16. One of the most common encoding bugs on European e-commerce sites is saving a price containing € in a Windows-1252-encoded database column—Windows-1252 maps 0x80 to the euro sign, but UTF-8 uses 0xE2 0x82 0xAC, so misread bytes produce the classic € mojibake. Use the character comparison tool to see encoding details for any two currency symbols side by side.