Unicode in Google Docs & Sheets
Google Docs and Sheets use UTF-8 internally and provide a Special Characters panel for inserting Unicode symbols by drawing, searching by name, or browsing by category. This guide explains how to insert and work with Unicode characters in Google Docs and Sheets, including formula functions for character conversion.
Google Docs and Google Sheets are the dominant cloud-based office tools, used by hundreds of millions of people. Because they are browser-based, their Unicode support inherits the capabilities and limitations of the web platform. This guide covers how to insert Unicode characters in Google Docs and Sheets, explains the CHAR and UNICHAR functions, and discusses the quirks of working with multilingual text in Google's ecosystem.
Inserting Special Characters in Google Docs
Google Docs has a built-in character picker that rivals Word's Symbol dialog:
| Method | Access | Details |
|---|---|---|
| Special Characters dialog | Insert > Special characters | Visual grid + search |
| Drawing input | Draw the character with your mouse | AI-powered shape recognition |
| Keyword search | Type a name like "snowman" or "infinity" | Searches Unicode names |
| Code point search | Type the hex code (e.g., "2603") | Jumps to exact character |
| Category browsing | Use the dropdown menus to filter | By script, block, or category |
The drawing feature
One of Google Docs' unique features is the ability to draw a character in the Special Characters dialog. Draw an approximation of the symbol you want, and Google's recognition engine suggests matching Unicode characters. This is remarkably effective for symbols you can visualize but cannot name — draw a star, an arrow, or a mathematical operator and the system finds it.
Searching by name or code
The search box in the Special Characters dialog accepts: - English names: "check mark", "right arrow", "degree sign" - Unicode code points: "0041" finds A, "1F600" finds the grinning face emoji - Partial names: "heart" shows all heart-related characters
Unicode Functions in Google Sheets
Google Sheets provides two functions for working with Unicode code points:
CHAR(number)
Returns the character corresponding to a decimal code point. This function uses the Unicode code point value (not a code page).
| Formula | Result | Description |
|---|---|---|
=CHAR(65) |
A | Latin capital letter A |
=CHAR(169) |
© | Copyright sign |
=CHAR(8364) |
€ | Euro sign (U+20AC = 8364 decimal) |
=CHAR(9731) |
☃ | Snowman (U+2603 = 9731 decimal) |
UNICHAR(number)
Identical to CHAR in Google Sheets (both accept Unicode code points). The separate UNICHAR function exists for compatibility with Excel, where CHAR is limited to 0-255:
| Formula | Result | Description |
|---|---|---|
=UNICHAR(128512) |
(grinning face) | Emoji U+1F600 |
=UNICHAR(12354) |
あ | Hiragana letter A |
=UNICHAR(9829) |
♥ | Black heart suit |
CODE and UNICODE (reverse lookup)
| Formula | Result | Description |
|---|---|---|
=CODE("A") |
65 | Decimal code point of A |
=UNICODE("€") |
8364 | Decimal code point of Euro sign |
=DEC2HEX(UNICODE("€")) |
20AC | Hex code point of Euro sign |
Practical formula patterns
Generate a range of characters:
=ARRAYFORMULA(UNICHAR(ROW(INDIRECT("1:100"))+8319))
This fills 100 cells with consecutive Unicode characters starting from a given offset.
Convert hex code points to characters:
=UNICHAR(HEX2DEC("2603"))
This converts hex "2603" to decimal 9731, then returns the snowman character.
Google Docs and RTL Text
Google Docs has strong support for right-to-left (RTL) text, which is essential for Arabic, Hebrew, Persian, and other RTL scripts:
| Feature | Support |
|---|---|
| RTL paragraph direction | Yes (Format > Paragraph > Right-to-left) |
| Bidirectional text | Yes (automatic BiDi detection) |
| RTL keyboard input | Yes (system IME) |
| Mixed LTR+RTL in one paragraph | Yes |
| Bullet and numbering in RTL | Yes |
Enabling RTL support
- Go to File > Language and add an RTL language (Arabic, Hebrew, etc.)
- New toolbar buttons for paragraph direction (LTR/RTL) appear
- You can toggle direction per paragraph
Common BiDi issues
| Issue | Cause | Fix |
|---|---|---|
| Numbers appear reversed | Weak BiDi characters | Wrap in LTR marks (U+200E) |
| Punctuation misplaced | Neutral characters follow context | Insert directional marks |
| URL direction broken | Mixed scripts in URL | Use LTR embedding (U+202A) |
Font Behavior in Google Docs
Google Docs uses web fonts served from Google's infrastructure. When you select a font like "Roboto" or "Noto Sans", Google streams the font data to the browser.
Font fallback chain
When a character is not in the selected font, Google Docs uses its own fallback mechanism:
- Check the document's selected font (e.g., Arial)
- Fall back to Noto Sans variants for the character's script
- Fall back to system fonts as a last resort
Because Google has invested heavily in the Noto font family (which aims to cover every Unicode character), Google Docs generally handles multilingual text better than desktop applications that depend on locally installed fonts.
Limitations
- No custom font upload: You cannot use your own fonts in Google Docs (unlike Word). You are limited to the Google Fonts library.
- Emoji rendering: Google Docs uses the platform's native emoji (Apple on macOS, Google's Noto Color Emoji on Chrome OS, etc.), so emoji appearance varies by OS.
- Rare scripts: Some recently added Unicode scripts (e.g., Tangut, Egyptian Hieroglyphs) may not render even in Google Docs if no Noto font covers them yet.
Copy-Paste and Encoding
Google Docs stores all text as UTF-8 internally. When you copy text from Google Docs:
| Destination | What happens |
|---|---|
| Another Google Doc | Perfect preservation |
| Email (Gmail) | UTF-8 preserved |
| Plain text editor | Depends on editor's encoding setting |
| Excel / Word | Generally preserved (modern versions use UTF-8) |
| Terminal | Depends on terminal encoding (see terminal guide) |
Downloading as different formats
| Format | Encoding | Notes |
|---|---|---|
| .docx | UTF-8 (in XML) | Full Unicode preserved |
| Font-embedded | Full Unicode preserved (fonts subsetted) | |
| .txt | UTF-8 | All Unicode preserved |
| .odt | UTF-8 (in XML) | Full Unicode preserved |
| .html | UTF-8 | Entities used for some characters |
Google Docs always exports plain text as UTF-8, which means you will not encounter the encoding ambiguity issues common with desktop applications.
Google Slides and Unicode
Google Slides shares the same Unicode infrastructure as Docs: - Same Special Characters dialog (Insert > Special characters) - Same font fallback to Noto variants - Same RTL text support
One difference: Slides may render text slightly differently because of its canvas-based layout engine. Complex scripts with elaborate shaping (Arabic cursive, Indic conjuncts) sometimes show subtle rendering differences compared to Docs.
Key Takeaways
- Google Docs' Special Characters dialog is powerful — use drawing input to find symbols you can sketch but cannot name, or search by Unicode name or hex code.
- In Google Sheets, CHAR/UNICHAR convert decimal code points to characters, while
CODE/UNICODE do the reverse. Use
HEX2DECto convert from hex code points. - Google Docs has excellent RTL and BiDi support, but you may need to insert directional marks (U+200E, U+200F) to fix edge cases with numbers and punctuation.
- Font fallback in Google Docs benefits from Google's Noto font family, providing broader script coverage than most desktop applications.
- All Google Workspace exports default to UTF-8, eliminating most encoding headaches.
Thêm trong Platform Guides
Microsoft Word supports the full Unicode character set and provides several methods …
Modern terminals support Unicode and UTF-8, but correctly displaying all Unicode characters …
PDF supports Unicode text through embedded fonts and ToUnicode maps, but many …
Microsoft Excel stores text in Unicode but has historically struggled with non-Latin …
Social media platforms handle Unicode text with varying degrees of support, affecting …
Both XML and JSON are defined to use Unicode text, but each …
Natural language processing and data science pipelines frequently encounter Unicode issues including …
QR codes can encode Unicode text using UTF-8, but many QR code …
Allowing Unicode characters in passwords increases the keyspace and can improve security, …