WordsPolish.
← Blog

Unicode vs. ASCII: A Writer's Practical Guide

Published 2026-07-19

Why does a curly quote sometimes break code, why does a single emoji occasionally use up two spots in a platform's character limit, and how do the Unicode text-styler tools on this site actually work under the hood? All three questions trace back to the same underlying distinction: the difference between ASCII, an old, narrow character-encoding standard, and Unicode, the much larger modern standard that superseded it.

What ASCII actually is, and why it's so limited

ASCII (American Standard Code for Information Interchange), standardized in the 1960s, defines only 128 distinct characters — enough for unaccented English letters (upper and lowercase), digits, basic punctuation, and a handful of control characters, but nothing else. No accented letters (é, ñ), no non-Latin scripts (Chinese, Arabic, Cyrillic), no emoji, no curly 'smart' quotes distinct from straight ones. ASCII was designed for a much narrower set of writing needs than global computing eventually required.

Unicode's much larger character set

Unicode, developed starting in the late 1980s and now the dominant global standard, defines well over 140,000 characters covering virtually every writing system in current and historical use, plus symbols, emoji, and specialized notation characters (like the small-caps and superscript-lookalike characters this site's /small-text-generator/ maps regular letters to). Unicode was built specifically to solve the problem ASCII couldn't: representing the full range of the world's writing systems in one consistent, universal standard rather than dozens of incompatible regional encodings.

Why curly quotes break code but look fine in a document

A straight quote (") is a basic ASCII character that every programming language recognizes as a string delimiter. A curly 'smart' quote (“ ”) — the kind Word and Google Docs automatically substitute for readability in prose — is a completely different Unicode character, visually similar but not interchangeable with the ASCII straight quote as far as a programming language's syntax parser is concerned. Pasting curly-quoted text into code produces a syntax error because the parser is looking for the specific ASCII character, not a visually similar Unicode lookalike. This site's /text-cleaner/ tool exists specifically to convert curly quotes back to straight ones for exactly this reason.

Why some emoji and characters count as more than one character on social platforms

Many programming environments, including JavaScript (which powers every tool on this site), represent text internally using UTF-16 encoding, where some characters — particularly many emoji and certain characters from non-Latin scripts — require two 16-bit code units (a 'surrogate pair') to represent a single visible character, rather than the one code unit most Latin letters need. When a platform like X counts 'characters' based on this internal code-unit representation rather than visible glyphs, an emoji that's one visible character to a human reader can count as two characters toward a platform's limit. /character-counter/ walks through this same mechanism in full, and /limits/x-twitter/ in the platform-limits section shows exactly how X applies its own version of the rule.

How the Unicode text-styler tools on this site actually work

/small-text-generator/, /wide-text-generator/, and /strikethrough-text-generator/ all exploit the same basic mechanism: Unicode includes character blocks originally designed for other purposes (phonetic notation, East Asian typesetting width, combining diacritical marks) that happen to visually resemble a stylistic effect when applied to ordinary Latin letters. None of these tools change font size, width, or add real formatting in the technical sense — they substitute your regular letters for different, specifically-chosen Unicode characters that merely look small, wide, or struck-through on most fonts. This is exactly why all three tools carry the same honest caveat about screen-reader accessibility: assistive technology is built to recognize standard letters, not these repurposed Unicode lookalikes, so styled text frequently doesn't get read aloud correctly.

A practical takeaway for writers

If text you've typed or pasted is behaving strangely — a search isn't finding an exact match you expect, a character count seems inflated, or pasted text breaks when used somewhere else — the underlying cause is very often a Unicode/ASCII mismatch of exactly the kind described here: a non-breaking space instead of a regular one, a curly quote instead of a straight one, or an emoji counting as more code units than expected. /text-cleaner/ and /remove-extra-spaces/ on this site both specifically target these common Unicode-related gotchas as part of their cleanup process.

You don't need to memorize any of this to write well

None of the mechanics covered here need to be memorized to write effectively day to day — the practical value of understanding the ASCII/Unicode distinction is mainly diagnostic: when something behaves unexpectedly (a broken search, an inflated count, a code error from pasted text), knowing that a character-encoding mismatch is a common, genuine cause gives you somewhere useful to look, rather than assuming the tool you're using is simply broken.

Recommended reading

  • On Writing WellWilliam Zinsser

    The classic, still-relevant guide to writing clear nonfiction -- the book most editors point new writers to first.

  • The Elements of StyleWilliam Strunk Jr. & E. B. White

    The short, standard reference behind most of the grammar and style rules this site's tools apply automatically.

  • Bird by BirdAnne Lamott

    Less a style guide, more a companion for the actual process of getting a messy first draft written at all.

Disclosure: some links below are Amazon affiliate links -- we may earn a small commission on qualifying purchases at no extra cost to you.

FAQ

Is Unicode just a bigger version of ASCII?
In a loose sense, yes — Unicode was designed to be backward-compatible with ASCII (the first 128 Unicode code points are identical to ASCII), while extending vastly further to cover the full range of the world's writing systems, symbols, and emoji. Every ASCII character is also a valid Unicode character, but the reverse isn't true — most Unicode characters have no ASCII equivalent at all.
Why does pasting text from Word sometimes break things?
Word (and Google Docs) automatically substitutes several ASCII characters for visually similar but different Unicode ones during "autoformatting" — straight quotes become curly quotes, a double hyphen becomes an em dash, and regular spaces around certain punctuation sometimes become non-breaking spaces. Each of these is a different character under the hood than what it looks like, which is exactly what causes downstream breakage in code, search, or exact-match contexts.
Do all emoji count as more than one character?
No — it depends on the specific emoji's underlying Unicode representation. Simpler emoji made of a single Unicode code point that fits within one UTF-16 code unit count as one character; many more complex or newer emoji require a surrogate pair (two code units) or even multiple combined code points (for modifiers like skin tone), counting as more than one character on platforms that count by code unit rather than visible glyph.