TextToolboxTextToolbox
HomeUnicode & Fancy TextUnicode Text Generator

Unicode Text Generator

See how Unicode builds your text: code points, UTF-8 bytes, UTF-16 units, escapes, grapheme clusters and normalization forms, plus five letter styles.

Built by Saurabh Kumar

Quick Answer

Type text to get five Unicode letter styles, two combining-mark styles, eight code point and byte views, and five structure views: grapheme clusters and the NFC, NFD, NFKC and NFKD normalization forms. Style outputs are different characters, not fonts. Use Font Generator to browse all 53 copy-and-paste styles.

12 UTF-16 units; 12 source grapheme clusters. Limits: 2,000 UTF-16 units and 500 source clusters.

20 named results. Names do not guarantee unique outputs.

Bold

Thick bold letters

22 output UTF-16 units. Check destination limits.

Italic

Slanted italic letters

22 output UTF-16 units. Check destination limits.

Bold Italic

Thick and slanted letters

22 output UTF-16 units. Check destination limits.

Script

Mathematical script character map

18 output UTF-16 units. Check destination limits.

Bold Script

Mathematical bold script character map

22 output UTF-16 units. Check destination limits.

Underline

Underlined character styling

23 output UTF-16 units. Check destination limits.

Strikethrough

Strikethrough character styling

23 output UTF-16 units. Check destination limits.

Code Points

Each Unicode code point as U+ and four or more hexadecimal digits

83 output UTF-16 units. Check destination limits.

Binary

UTF-8 bytes as eight-bit binary

107 output UTF-16 units. Check destination limits.

Hex

UTF-8 bytes as hexadecimal

59 output UTF-16 units. Check destination limits.

Decimal Code Points

Each code point as a decimal number

43 output UTF-16 units. Check destination limits.

UTF-16 Units

Each UTF-16 code unit in hexadecimal; characters outside the BMP use a surrogate pair

59 output UTF-16 units. Check destination limits.

JavaScript Escapes

Escape sequences for a JavaScript string; line breaks and tabs use short escapes

72 output UTF-16 units. Check destination limits.

HTML Entities

Numeric hexadecimal character references for HTML

72 output UTF-16 units. Check destination limits.

CSS Escapes

Six-digit CSS escapes for use in a content value

84 output UTF-16 units. Check destination limits.

Grapheme Clusters

The visible characters Unicode segments the text into, separated by a bar

51 output UTF-16 units. Check destination limits.

NFC

Normalization Form C: canonical composition, so e plus an accent becomes one code point where possible

12 output UTF-16 units. Check destination limits.

NFD

Normalization Form D: canonical decomposition, so accented letters become a base letter plus a combining mark

12 output UTF-16 units. Check destination limits.

NFKC

Normalization Form KC: compatibility composition, which also folds lookalikes such as fullwidth letters

12 output UTF-16 units. Check destination limits.

NFKD

Normalization Form KD: compatibility decomposition

12 output UTF-16 units. Check destination limits.

Copy uses the complete displayed value. If access fails, select its output field and copy manually. Preview, filter and clipboard feedback changes do not re-roll the generated strings.

Characters, Code Points and Bytes in One View

Type text to see how Unicode builds it: grapheme clusters, code points, UTF-8 bytes, UTF-16 units, HTML, CSS and JavaScript escapes and the four normalization forms, plus five common letter styles. These outputs are plain characters, not installed fonts or native rich-text formatting. Several maps overlap other TextToolbox tools; a name is not proof of a unique alphabet.

Start with the job. To browse all 53 copy-and-paste styles, use the Font Generator. To see what characters a piece of text is made of, or to get an escape you can paste into code, use this page. Search narrows the view names and descriptions; category and favourites filters narrow that selection further.

From text to a copied result

Enter the complete source you want to inspect, including spaces and accents; Sample offers short drafts and coverage checks. Compare the complete labeled outputs: search and category filters intersect, and you can choose favourites for this browser. Open an inline Preview when you want a larger separate field, and Copy uses the same cached value you see. If Copy fails, select the output and copy manually, and check the actual destination before publishing.

What each view shows

Input is segmented into complete source grapheme clusters. A mapping replaces a supported whole cluster; combined letters, non-Latin clusters and emoji remain unchanged in map-based rows. This does not normalize accents or transliterate a language. A substitution can still change subsequent boundaries or rendering.

Underline and Strikethrough append one combining mark after each non-whitespace cluster, so one visible letter becomes two code points. Code Points lists each Unicode code point as U+ followed by hexadecimal digits. A character outside the Basic Multilingual Plane, such as U+1F602, is one code point but two UTF-16 units and four UTF-8 bytes.

Grapheme Clusters separates the text into the characters a reader sees, so a letter with an accent or an emoji sequence counts as one. NFC, NFD, NFKC and NFKD are the four Unicode normalization forms. NFC joins a letter and its accent into one code point where possible, and NFD splits them into two. The K forms also fold compatibility lookalikes such as fullwidth letters into ordinary ones. Normalizing can make two strings that look the same compare as equal.

Binary and Hex encode the complete input as UTF-8 bytes, including whitespace; they are serialized representations rather than visual fonts. UTF-16 Units lists the 16-bit units a JavaScript string is made of, and Decimal Code Points gives the same numbers as Code Points in base ten.

JavaScript Escapes writes each character as \uXXXX, or \u{...} above U+FFFF, with short escapes for line breaks and tabs. HTML Entities writes numeric hexadecimal character references. CSS Escapes writes six-digit escapes for use in a content value. Test an escape in your own code or markup before relying on it.

Exact examples, including what NFD changes

Exact complete-source examples; combined characters stay intact in map rows
Input and styleOutputWhat to check
X ego, Bold𝗫 𝗲𝗴𝗼Capital X remains capital
ego, ScriptℯℊℴLetterlike script exceptions, not italic substitutions
é, Code PointsU+00E9One code point for the precomposed letter
é, Binary11000011 10101001Two UTF-8 bytes
é, NFDéLooks the same as é but is two code points: e and U+0301
é, JavaScript Escapes\u00E9Paste into a JavaScript string
A, HTML EntitiesANumeric hexadecimal reference
e plus U+0301, mathematical mapéWhole combined cluster is retained

Choosing a view for the job

Use this page when you need to see what characters a text is made of, or to turn text into an escape for code. Binary and Hex help inspect UTF-8 bytes; they do not create a visual font. For decorative styles beyond the five letter styles here, use the Font Generator. Keep important names and instructions in ordinary text.

Choose a Unicode view by the job you want it to do
TaskStarting viewLimitation
Compare letter shapesBold or Script; narrow with category or searchMapped characters are different identities; combined letters can stay ordinary
Inspect charactersCode Points or Decimal Code PointsOne entry per code point; one visible character can contain several
Compare two strings that look the sameNFC or NFD, then Code PointsNormalization changes code points, not what a reader sees
Inspect byte encodingBinary or HexUTF-8 bytes of the entire input, including spaces
Paste into code or markupJavaScript Escapes, HTML Entities or CSS EscapesTest the result in your own environment
Keep a shortlistFavourite rows, then Favourites onlyChoices belong to this browser origin; they do not sync across devices

Why valid Unicode can still be refused, and what to check

Unicode validity does not establish account-name permission, display consistency, search equivalence or identical speech output. Lookalikes are different characters. Font fallback, line wrapping and field filters can alter appearance or reject a result. Copying a style does not carry arbitrary color or size.

Input is capped at 2,000 UTF-16 units and 500 source clusters. Unsupported C0/DEL controls and incomplete surrogate sequences are rejected; tabs and line endings are allowed. In this Unicode grid, results are capped at 50,000 units each and 500,000 total; UTF-8 export size is checked before constructing its token string. Errors keep input editable and clear results without silent shortening. Browser segmentation data can differ.

Test supported letters and combined/non-Latin text together, inspect stored output counts, and retain the source. Favourites are validated known style names in website-origin browser storage; blocked storage keeps choices only during this visit. For the full set of 53 copy-and-paste styles, see the Font Generator. For what the site collects and how, read the Privacy Policy.

Reference character identities in the Unicode Mathematical Alphanumeric Symbols chart and Letterlike Symbols chart. Chart glyphs do not guarantee identical font artwork.

Learn more: What is Unicode?, What is Invisible Character?