🖥️ Platform Guides

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

  1. Go to File > Language and add an RTL language (Arabic, Hebrew, etc.)
  2. New toolbar buttons for paragraph direction (LTR/RTL) appear
  3. 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:

  1. Check the document's selected font (e.g., Arial)
  2. Fall back to Noto Sans variants for the character's script
  3. 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
.pdf 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 HEX2DEC to 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.

Mehr in Platform Guides