CharacterCodes.net

What’s New in Unicode v18.0

If this site has been useful, we’d love your support! Consider buying us a coffee to keep things going strong!
unicode v18

Unicode 18.0 is here, and it’s a big one for anyone working with historical scripts, text rendering engines, or internationalization pipelines. The release adds three entirely new scripts, expands the total character repertoire past the 172,000 mark, and fixes several long-standing bugs in line breaking and grapheme cluster segmentation — some dating back to Unicode 5.1.

13,007

New characters
172,808

Total characters
3

New scripts
7

New blocks

Three new scripts

The headline additions in 18.0 are three new scripts, two of which are substantial ideographic systems used for historical East Asian writing.

Jurchen U+18E00–U+1919F

A large logographic script used to write the Jurchen language, the ancestor of Manchu, during the Jin dynasty. It arrives with its own radical block (Jurchen Radicals).

Seal, a.k.a. “Small Seal” U+3D000–U+3FC3F

Small Seal script glyphs, the archaic, decorative form of Chinese characters historically used on seals and monumental inscriptions. The Unicode block name and Script property value are simply “Seal,” while the core specification and code charts use the fuller name “Small Seal” — the Consortium notes this is intentional, not an inconsistency.

Proto-Cuneiform numerals U+12550–U+1268F

Only the archaic numeral signs are encoded in this release, in the new Archaic Cuneiform Numerals block. Non-numeric Proto-Cuneiform signs are expected in a future version. Specialist implementations should note this is a very large set of numeric characters, which brings its own challenges for text formatting and font design.

New blocks

Beyond the three new scripts, 18.0 defines seven new blocks in total, including additions to existing repertoires:

Range Block Name
11DF0–11DFF Bengali Supplementv
12550–1268F Archaic Cuneiform Numerals
18E00–1919F Jurchen
191A0–191DF Jurchen Radicals
1D250–1D28F Musical Symbols Supplement
1DB00–1DBFF Miscellaneous Symbols and Arrows Extended
3D000–3FC3F Seal

Segmentation fixes worth knowing about

If you maintain a text-shaping or line-breaking engine, this is the section to read closely — several of these fix genuine regressions.

  • Line breaking (UAX #14): Rule LB12a now disallows a break between BA and GL. The Line_Break property for FIGURE DASH and EN DASH moved from HH to BA, and SOFT HYPHEN moved from BA to HH — fixing a regression in EN DASH behavior that had been present since Unicode 5.1.
  • Grapheme clusters (UAX #29): Rule GB9c, governing Indic conjuncts, no longer requires context before the linker, improving grapheme cluster breaking for Balinese. The derivation of Indic_Conjunct_Break was also corrected for Zanabazar Square (a regression introduced in Unicode 17.0) and now uses Script_Extensions instead of Script, improving results for Bengali.
Migration note: One additional CJK Unified Ideograph was added to Extension D, extending the assigned range to U+2B81E.

Conformance and stability policy

The conformance chapter has been revised with clearer definitions and requirements around variation selectors and variation sequences (see core spec Sections 3.6.2, 5.20, and 23.4). A new character-encoding stability policy has also been introduced, covering the ID_Compat_Math_Start and ID_Compat_Math_Continue properties.

Collation

The Default Unicode Collation Element Table (DUCET) has been updated for the 18.0 repertoire, with a few notable changes:

  • Jurchen and Seal now receive collation weights via implicit weighting, which required a small extension to the implicit weighting algorithm to add new base weights.
  • Ten missing Tibetan contraction mappings were added, making the DUCET well-formed.
  • U+FFFF now maps to the highest primary weight, and U+FFFE to the lowest non-zero primary weight, with special handling for merging sort keys.
  • The long-deprecated Shift-Trimmed option has been removed entirely from the UCA specification.

New emoji in this release

Emoji 18.0 ships in sync with Unicode 18.0, and it’s a small, tidy batch: 9 new emoji concepts, plus 10 additional skin-tone variants for two existing emoji. Several of these exist specifically to untangle emoji that had been doing double duty for two different meanings.

Emoji What it’s for
Cracked smiling face Looking happy on the outside while feeling anything but on the inside.
Thumb pointing left / Thumb pointing right Directional hand gestures, useful for pointing at something in a message or image.
Monarch butterfly Splits off from the generic butterfly, fixing years of platforms rendering the same codepoint as either a monarch or a blue morpho.
Pickle Gives the pickle its own emoji so the cucumber no longer has to represent both.
Lighthouse A guiding light through darker times, as well as literally a lighthouse.
Meteor A streaking fireball for dramatic or catastrophic moments — and it frees up the comet emoji to go back to being a blue ice comet.
Eraser For rubbing something out, starting over, or wiping the slate clean.
Net (with handle) A scoop or catching net, for capturing or “fishing” something out of the digital ether.
Disambiguation cleanup: A recurring theme in this batch is fixing emoji that were quietly overloaded with two meanings. Splitting out the meteor unblocks the comet to render consistently as ice rather than fire, and the new pickle and monarch butterfly emoji resolve similar long-standing rendering inconsistencies across platforms.

As with every release, the final glyphs are designed independently by each vendor (Apple, Google, Microsoft, Samsung, and others), so expect the look of each of these to vary once they roll out — typically months after the Unicode Consortium finalizes the list.

Should you upgrade?

If your stack does any of the following, plan an upgrade cycle: renders or collates Jurchen, Seal, or archaic Cuneiform numerals; hard-codes CJK Unified Ideograph ranges; relies on precise line-breaking around dashes and hyphens; or does confusable/spoof detection for identifiers. Everyone else can proceed at a standard pace — nothing in 18.0 is a breaking change for typical Latin/CJK/emoji-focused applications.

If this site has been useful, we’d love your support! Consider buying us a coffee to keep things going strong!