Unicode Text Editor · Unicode 17 Character Library

Write and explore 60,734 curated Unicode entries. The collection includes 59,332 single-code-point entries verified against four documented system-font collections and 1,402 standardized sequences assessed from verified component coverage.

Free to use, without registration, advertising or personal analytics. Your editor content stays in your browser.

What you can do with this text editor

This editor lets you style plain text wherever formatting is normally not possible.

Instagram, Facebook, X — bios, posts, captions
WhatsApp & Telegram — messages, group names, status texts
SMS & messengers — emphasis without formatting tools
Website headers & titles — standout headlines
Contacts on your phone — structured names & notes

And much more—explore what works for you.

User Guide

FONT

Select a font and write as you normally would. You can also format individual letters or words independently.

BULLETS

Add bullets at the beginning of a line to create lists. Bullets are applied to all selected lines, or to a single line if your caret is placed inside that line. Clicking the same bullet again removes it. Clicking a different bullet replaces the current one. You can also remove bullets manually using Backspace.

TEXT EDITOR

Write just like in any standard text editor. You can insert glyphs and emojis at any position in the text.

COPY

Copy the entire text content and use it anywhere you like. Try it — even in places where you would never expect styled text to work.

CLEAR

Clear the entire content of the text field.

SAVE

Save your text and manage your templates. You can save, overwrite, rename, duplicate, and organize your entries as needed. This allows you to build your own collection of reusable text templates.

WRITE

Click the pen to edit the template in the text editor.

DUPLICATE

Duplicate the template

DELETE

Delete the template

WHATSAPP & TELEGRAM

Send the text directly to the WhatsApp or Telegram app installed on your device. This eliminates the need for manual copy & paste.

LIB

A comprehensive Unicode 17 library of characters, symbols and standardized emoji sequences.
Use PROOF to explore 60,734 curated entries: 59,332 verified single code points and 1,402 standardized sequences assessed from verified component coverage (see PROOF).
Or switch to GLOBAL to explore the library’s full display-oriented Unicode 17 catalog.

Characters are displayed using system fonts or self-hosted fonts, depending on the selected mode. Font coverage varies by character and platform. The hosted fonts are used under their respective open-source licenses; the applicable license terms must be respected when fonts are downloaded or embedded elsewhere.


GLYPHBOARD

In PROOF mode, the Glyphboard contains 59,332 single-code-point entries verified against the default system fonts of four documented reference environments, plus 1,402 standardized sequences assessed from verified component coverage. This describes these four documented reference collections and is not a guarantee for every device, app or later system version. Hovering over an entry displays a small info tooltip with relevant character details.

SEARCH

Search by keywords to display related characters, symbols and emoji.

CATEGORIES

Select a main group and a sub-group to explore the associated characters, symbols and emoji.

FAV

Collect your favorite characters, symbols and emoji. Add items from the library with a single click. You can remove individual characters from the Favorites board at any time.

ZOOM ±

Adjust the glyph size for optimal visibility.

Fair by Design

GlyphType™ does not profile users, follow them across the web or monetize their attention. There are no behavioral fingerprints, advertising profiles or dark patterns. What you type stays in your browser and is never transmitted to GlyphType servers. Text is passed to another application only when you explicitly use a sharing function. A non-identifying aggregate action counter is currently used to understand general usage; it does not record text content, search terms or personal identifiers.

This approach is rare today — not because it is difficult, but because it requires restraint. Most platforms trade user data for growth. We deliberately chose not to.

Why can a character look different — or fail to appear?

Unicode characters are text, not images.
Characters are stored and transmitted as Unicode-encoded text. Their identity is defined by one or more Unicode code points; for example, U+1F600 identifies this emoji: 😀. A glyph is the visible form produced by a font and rendering system.

Whether a character becomes visible depends on the fonts and rendering system available on the receiving device. Missing font coverage usually produces an empty box or another missing-glyph shape, often called “tofu.” The replacement character � instead usually indicates that text could not be decoded correctly.

Because Unicode, fonts, and operating systems evolve over time, a character may render correctly on a modern device but fail on an older one — even though the same code point was sent.

In short: Just because a character is visible on your device does not mean it will work everywhere.

60,734 curated Unicode entries for social media text

PROOF contains 60,734 unique catalog entries: 59,332 single-code-point entries and 1,402 multi-code-point sequences. The single-code-point platform baseline consists of four documented reference collections: the default system fonts of Android 12, iOS 16, Windows 10 and macOS 11.

For single code points, every font face was inspected for actual glyph content rather than accepted from a declared character mapping alone. Outline, CFF, bitmap, SVG and color-glyph data were evaluated where present. .notdef mappings, known missing-glyph fingerprints, replacement-glyph matches and LastResort fonts were excluded. The PROOF code-point collection is the intersection of the four resulting platform datasets.

Multi-code-point emoji sequences were evaluated separately against the standardized emoji test data. A sequence was included when all of its non-structural components had verified glyph content; available variation and font-substitution data was recorded separately. This verifies component coverage, not identical shaped or color rendering across all applications. Sequences are counted as catalog entries, not as single code points.

This is a deterministic analysis of the extracted system-font files, not a pixel comparison of screenshots produced by every operating-system renderer. Results apply to the documented font collections; rendering can still vary by device vendor, browser or app, shaping engine, font update and operating-system version.

The charts below are a separate, traffic-based market estimate for Europe in December 2025. They provide context for the selected baselines but are not part of the glyph verification itself.

Why some characters can’t be combined

Not all characters in Unicode are meant to be mixed freely.

Some scripts (such as Arabic, Devanagari, or Bengali) use combining marks that are designed to work only with letters from the same script. These combinations follow Unicode and script-specific shaping rules and are normally rendered correctly by suitable fonts and text engines. Actual results may still vary with font and application support.

Other characters — for example decorative, mathematical or stylistic letters — do not belong to those writing systems. Some combinations are technically representable as Unicode sequences but may be linguistically inappropriate, visually unstable or poorly supported.

GlyphType blocks combinations known to be unreliable for the selected transformation.

This improves consistency and avoids known unstable constructions, but it cannot guarantee linguistic correctness or identical rendering in every application.

Unicode

Unicode assigns code points to characters used by scripts, symbols and emoji and provides a common basis for interpreting encoded text across platforms, languages and systems. The current standard is Unicode Version 17.

Unicode strictly separates meaning from appearance: a code point defines what a character is — not how it looks. Visual rendering is provided by fonts and operating systems.

The Unicode system consists of clearly separated ranges. For web, messaging, and social media, only certain parts are relevant and visible. The breakdown below shows which parts are included in GlyphType and which are intentionally excluded.

The structural values below are deterministic and reproducible from the cited Unicode reference files (Blocks.txt, emoji-test.txt and emoji-sequences.txt) using the project’s documented inclusion rules.

Structure of the Unicode space (Unicode 17)

Basis: Blocks.txt (303,808 code point positions) and the block names present in expose/lex/*.json.

✅ Included Unicode categories (337 blocks)

1. Modern writing systems

The catalog includes a broad range of currently used alphabets and syllabaries, including:

Latin (including all Extended blocks)
Arabic
Cyrillic
Greek
Hebrew
Indic scripts (Devanagari, Tamil, Bengali, Gujarati, Gurmukhi, etc.)
Southeast Asian scripts (Thai, Lao, Khmer, Myanmar, Javanese, Sundanese …)
African and indigenous writing systems

→ Included in the catalog; visible font coverage varies

2. East Asian writing systems (CJK)

CJK Unified Ideographs (including Extensions A–J)
Compatibility and radical blocks
Kana (Hiragana, Katakana, Extensions)
Hangul (Jamo, Syllables, Extensions)
Tangut, Khitan, Nushu, Yi environment (without Yi PUA dependencies)

→ Included in the catalog with Source Han, Noto and specialist font mappings where available

3. Historic & extinct scripts

Ancient scripts (Phoenician, Ugaritic, Old Persian, Old Italic, Runic …)
Medieval and regional writing systems
Archaeological special blocks (Cuneiform, Egyptian Hieroglyphs incl. Extended-A)

→ Included in the catalog; embedded-font mappings are recorded where available

4. Symbols, signs & notations

Mathematical operators & alphanumerics
Technical symbols
Arrows, geometric shapes, frames
Music notation, chess, game symbols
Legacy computing symbols
Ornamental symbols & dingbats

→ Broadly represented in the catalog; embedded-font coverage varies

5. Emoji & pictographs (glyphic)

Emoji code points
Symbol and pictograph blocks
Transport & map symbols
(Emoji entries are cataloged separately; presentation and sequence rendering remain application- and platform-dependent.)

❌ Categories intentionally outside the display-oriented scope (9 blocks)

These ranges are outside the project’s interoperable display scope for different technical reasons:

1. UTF-16 surrogates

High Surrogates
Low Surrogates
High Private Use Surrogates

→ no displayable characters

2. Private Use Areas (PUA)

BMP PUA
Supplementary PUA-A
Supplementary PUA-B

→ no defined semantics, font-dependent, not interoperable

3. Technical special-purpose blocks without glyph value

Variation Selectors

→ functional or structural, not intended for display

Context

GlyphType focuses on the display-relevant and interoperable areas of Unicode. Entries without confirmed embedded-font coverage remain identifiable in the catalog but may not render visibly.

The project’s scope is defined by its included catalog areas; it does not represent every position in the theoretical Unicode code space.

Fonts

Fonts are the concrete rendering layer for Unicode code points. While Unicode defines which characters exist, fonts determine which of those characters can actually be rendered visibly.

GlyphType uses a combined font base made of:

Google Noto Fonts (broad, systematic Unicode coverage)
BabelStone Fonts (very rare, historic, and technical blocks)
Adobe Source Han (high-quality CJK coverage for Han ideographs)

This combination covers an unusually large portion of the visible Unicode space, and intentionally goes beyond individual system fonts.

Why not all Unicode code points are covered by fonts

Not every defined Unicode code point automatically has a glyph:

Some code points are purely functional (e.g., control or direction marks)
Others are allocated for private use and have no standardized, interoperable meaning
Some exist formally even though no font designer has created a glyph yet
Historic, rarely used, or newly added characters are often implemented with delay

Font coverage is therefore not static but a continuous process driven by: Unicode versions, font updates, and vendor priorities.

Structure: Unicode vs. font coverage

Pie chart – character coverage by fonts

The following split shows two clearly separated layers:

✅ Included catalog (unique single code points)

Unique single code points contained in the project’s current Unicode 17 catalog. Controls, private-use characters, surrogates and noncharacters are intentionally outside the display-oriented scope.

🎨 Mapped to embedded fonts

Catalog code points present in the union of the current embedded-font coverage maps for the Noto, BabelStone and Source Han collections.

Not every cataloged code point is automatically rendered. The figures below compare one deduplicated catalog set with the current embedded-font coverage maps.

All shares in the chart are calculated deterministically from the current catalog files and their corresponding embedded-font coverage maps.

Context

GlyphType does not claim theoretical completeness, but practical visibility. What is shown is:

Unicode‑conformant
accompanied by explicit embedded-font coverage data
deterministically calculated
independently inspectable from the catalog and documented source data

Unicode defines possibilities — fonts define reality.

Evaluation summary (sources, calculations, estimates, known issues)

Scope

Region / period: Europe, December 2025.

Goal: To derive a defensible market approximation for realistic minimum system baselines that reflect contemporary internet usage.

This analysis explicitly does not aim to provide a census of all installed devices or a perfect measurement of operating-system adoption. Its purpose is to place the four selected reference versions in the context of measured European web traffic.

It is a traffic-based market estimate and remains separate from the project’s system-font analysis.

Data sources

OS share (traffic):
Statcounter Global Stats, Region: Europe, Month: December 2025
https://gs.statcounter.com

Statcounter data is used exclusively as a traffic-weighted proxy (page views), not as a representation of device ownership or installed base.

macOS UA-capping (methodological limitation):
WebKit bug discussion on limiting macOS disclosure in the User-Agent
https://bugs.webkit.org

macOS UA-capping (cross-vendor alignment):
Chrome intent to cap reported macOS version to 10_15_7
https://chromestatus.com

Chromium blink-dev discussion
https://groups.google.com

Mozilla bug mirroring the same approach
https://bugzilla.mozilla.org

These sources document that modern macOS browsers deliberately suppress the real OS major version in the User-Agent string.

Non-UA plausibility check for macOS distribution:
TelemetryDeck Orbital Survey (macOS versions)
https://telemetrydeck.com

Documented dataset biases
https://telemetrydeck.com/surveyBiases

TelemetryDeck data is used only as a plausibility reference, not as a replacement for traffic-based statistics.

Definitions (operationalization)

OS share
Statcounter traffic share measured in page views. This metric reflects effective internet usage, not the installed device base.

Selected market baselines
The traffic model groups reported operating-system versions according to whether they meet these selected version thresholds:

  • Android 12 or later
  • iOS 16 or later
  • Windows 10 or later
  • macOS 11 or later

This classification is separate from the font analysis. The four font collections were evaluated specifically at Android 12, iOS 16, Windows 10 and macOS 11; the market model does not extend that test to every later release, device or application.

Unknown
Traffic share that cannot be mapped to a reliable version bucket with sufficient confidence. This includes, but is not limited to:

  • Reduced or frozen User-Agent strings
  • Embedded WebViews with limited disclosure
  • Aggregation and rounding artifacts
  • Rare or ambiguous platform variants

Importantly, “Unknown” does not mean “legacy” or “unsupported”. It explicitly means not classifiable with high confidence.

Below baseline
Traffic share reported below the selected version thresholds after accounting for the at-or-above-baseline and Unknown groups. This is a market classification, not a direct measurement of glyph rendering on those devices.

Computation (reproducible)

Let:

  • S(os) be the OS traffic share in percent (% of total traffic)
  • B(os) be the baseline-bucket share within that OS (% of that OS)

At or above baseline is computed as:

AtOrAboveBaseline = Σ_os S(os) × (B(os) / 100)
summed over {Android, iOS, Windows, macOS}.

Unknown is computed as:

Unknown = S(Android) × (U(Android)/100) + S(iOS) × (U(iOS)/100)

where U(os) denotes the unknown version share within that OS.

Below baseline is computed as:

BelowBaseline = 100 − AtOrAboveBaseline − Unknown

Rounding rule: All values are rounded to one decimal place. The final segment is adjusted, if necessary, to ensure that the pie closes to exactly 100.0%.

Color logic (traffic-light model)

Green = baseline met (≥ defined version bucket)

Yellow = Unknown / not reliably classifiable

Red = below baseline / legacy

Exception: The OS Share chart retains its original multi-color palette (Windows / macOS / Android / iOS / Other) to avoid semantic overload.

macOS version split: correction (methodological justification)

Why correction is necessary

UA-based macOS version inference is systematically biased.

Modern browsers on macOS (Safari, Chrome, Firefox) deliberately cap the reported OS version in the User-Agent string—commonly to:

Mac OS X 10_15_7

This behavior is intentional and serves two purposes:

  • Web compatibility: Prevents breakage on sites with hard-coded version checks that assume macOS major versions remain below 11.
  • Fingerprinting resistance: Reduces the entropy of OS version disclosure.

As a result, UA-derived dashboards artificially inflate “OS X / Catalina” shares, even when the underlying devices are running macOS 11, 12, 13, or newer.

Therefore, a raw UA split between “OS X” and “macOS” does not represent real operating-system adoption and is unsuitable for estimating version-threshold shares.

What was done

For the version-threshold estimate, macOS and OS X UA labels are treated as a single population (“Mac systems”).

Rather than relying on the biased UA split, a best-effort version bucket is applied for Europe, December 2025:

  • macOS ≥ 11: 98.0%
  • macOS < 11: 2.0%

This best-effort correction prevents a known measurement artifact from artificially depressing the estimated at-or-above-baseline share.

How the estimate is grounded

TelemetryDeck provides a non-UA, app-telemetry-based perspective on macOS adoption, which consistently indicates that the overwhelming majority of active macOS systems are on macOS 11 or newer.

This data is used only as a plausibility check, with explicit acknowledgment of its limitations:

  • App-telemetry ≠ web traffic
  • Tech-skewed user base
  • SDK and deployment floors

Accordingly, the macOS split is labeled as best-effort, not ground truth.

Limitations / threats to validity

Metric mismatch
Traffic share (page views) is not equivalent to installed base. Heavy users, automation, and bots can skew relative shares.

Unknown bucket semantics
“Unknown” does not imply obsolescence. It denotes insufficient classification confidence.

Cross-source comparability
TelemetryDeck and Statcounter differ fundamentally in sampling methodology. macOS corrections are therefore conservative approximations, not definitive measurements.