私用領域 (PUA)
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://unicodefyi.com/iframe/glossary/private-use-area/" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://unicodefyi.com/glossary/private-use-area/
Add a dynamic SVG badge to your README or docs.
[](https://unicodefyi.com/glossary/private-use-area/)
Use the native HTML custom element.
組織が独自の文字を割り当てられる予約領域:BMP PUA(U+E000〜U+F8FF)と第15・16面の補助PUAを含みます。
What is the Private Use Area?
The Private Use Area (PUA) refers to three ranges of Unicode code points that are permanently reserved for applications to define their own characters. Unlike most of the Unicode code space, PUA code points will never be assigned official characters by the Unicode Consortium. Instead, any organization can use them for proprietary characters — custom icons, corporate logos, game symbols, or glyphs not yet in Unicode.
There are three PUA regions in Unicode:
| Name | Range | Size |
|---|---|---|
| BMP Private Use Area | U+E000–U+F8FF | 6,400 code points |
| Supplementary Private Use Area A | U+F0000–U+FFFFF | 65,534 code points |
| Supplementary Private Use Area B | U+100000–U+10FFFF | 65,534 code points |
Total: 137,468 code points — by far the largest reserved region in Unicode.
How the PUA is Used
Because PUA code points have no standard meaning, their interpretation is entirely up to the parties exchanging the text. This requires both sides to agree on a mapping — typically through a custom font that maps PUA code points to specific glyphs.
Common use cases:
-
Icon fonts — Font Awesome, Material Icons, and similar libraries map their icons to PUA code points (e.g., U+F000+ for Font Awesome). The font renders the PUA code point as the intended icon.
-
Corporate logo characters — Companies sometimes use PUA slots for brand marks in specialized documents.
-
Pre-standardization characters — Klingon, Tengwar (Tolkien's Elvish script), and other scripts not yet in Unicode have community-defined PUA assignments (the ConScript Unicode Registry, CSUR).
-
Regional/historic writing systems — Script communities waiting for official Unicode approval use the PUA for interoperability within their community.
The Interoperability Problem
PUA usage is inherently non-interoperable across different applications or organizations unless
both use the same font and the same mapping. A PUA code point U+E001 might be a "thumbs up"
icon in one font and a currency symbol in another. When text with PUA characters is exchanged
between systems using different fonts, the result is meaningless glyphs.
# PUA code points have no official name
import unicodedata
cp = 0xE001 # PUA code point
try:
name = unicodedata.name(chr(cp))
except ValueError as e:
print(e) # no such name
category = unicodedata.category(chr(cp))
print(category) # "Co" (Private Use)
PUA in Emoji History
Before emoji were standardized in Unicode 6.0 (2010), Japanese mobile carriers (DoCoMo, KDDI, SoftBank) each used their own PUA encodings for emoji. DoCoMo used the range U+E63E–U+E757; SoftBank used a different range. This is why early cross-carrier emoji were garbled — each carrier had a different PUA mapping. Unicode 6.0 unified these into standardized code points.
Detecting PUA Characters
import unicodedata
def is_pua(char: str) -> bool:
return unicodedata.category(char) == "Co"
print(is_pua("\uE001")) # True (BMP PUA)
print(is_pua("\U000F0001")) # True (Supplementary PUA A)
print(is_pua("A")) # False
Common Pitfalls
Assuming PUA characters are portable: Never embed PUA characters in data exchanged with external systems without documenting the required font/mapping.
Font Awesome characters in databases: Storing Font Awesome PUA icons in a database works only if the rendering system also uses Font Awesome. On different systems, PUA values appear as blank boxes or unrelated glyphs.
Quick Facts
| Property | Value |
|---|---|
| BMP PUA range | U+E000–U+F8FF |
| Supplementary PUA A | U+F0000–U+FFFFF |
| Supplementary PUA B | U+100000–U+10FFFF |
| Total PUA code points | 137,468 |
| General category | Co (Private Use) |
| Official character assignment | Never — permanently private |
| Common use | Icon fonts (Font Awesome, Material Icons) |
| Registry for scripts | CSUR (ConScript Unicode Registry) |
関連用語
Unicode 標準 のその他の用語
中国語・日本語・韓国語 — Unicodeにおける統合漢字ブロックと関連スクリプトをまとめた総称。CJK統合漢字は20,992文字以上を含みます。
The process of mapping Chinese, Japanese, and Korean ideographs that share a …
The individual consonant and vowel components (jamo) of the Korean Hangul writing …
Unicodeと同期している国際標準(ISO/IEC 10646)で、同じ文字目録とコードポイントを定義しますが、Unicodeの追加アルゴリズムやプロパティは含みません。
あらゆる文字システムのすべての文字に固有の番号(コードポイント)を割り当てる普遍的文字エンコーディング規格。バージョン16.0には154,998個の割り当て済み文字が含まれます。
Normative or informative documents that are integral parts of the Unicode Standard. …
Informational documents published by the Unicode Consortium covering specific topics like security …
Unicode標準を開発・維持する非営利団体。Apple・Google・Microsoft・Metaなど多くの企業が会員です。
サロゲートコードポイント(U+D800〜U+DFFF)を除くすべてのコードポイント。実際の文字を表すことができる有効な値の集合で、合計1,112,064個です。
新しい文字・文字体系・機能を追加するUnicode標準の主要リリース。現在のバージョンはUnicode 16.0(2025年9月)です。