Short answer: Figma has no glyph panel like Illustrator or InDesign. To put a symbol into a text layer, copy and paste it, or open your operating system’s character picker — Windows + . on Windows, Ctrl + Cmd + Space on a Mac. On a Mac, Option shortcuts also work while you type. Windows Alt codes do not work in Figma. Copy the common symbols below.
Figma is a design tool, so “inserting a symbol” can mean two different things — a character in a text layer, or a scalable vector icon. This guide covers both, and shows you which one you actually want.
Quick reference
| What you want | Best method in Figma |
|---|---|
| → © ° • inline in text | Copy-paste, or the OS picker |
| Type it as you go (Mac) | Option shortcut |
-> turning into → automatically | Turn on smart symbols in Preferences |
| Many symbols, without leaving Figma | A glyphs / special-characters plugin |
| A scalable UI icon | An icon plugin (Iconify, Material Symbols, Feather) |
| Emoji | The OS emoji picker, or paste |
| A code for the developer | The Unicode / HTML table below |
| Symbol in a layer name or comment | OS picker, or paste |
Figma has no glyph panel — use these instead
Illustrator and InDesign ship with a dedicated Glyphs panel. Figma doesn’t — it’s one of the longest-running requests in the Figma community forum, and as of 2026 there is still no native glyph browser.
That leaves you four reliable routes into a text layer, plus a fifth if you insert symbols constantly.
Method 1: Copy and paste (fastest)
- Press T for the Text tool, or double-click an existing text layer.
- Place your cursor where the symbol goes.
- Paste with Ctrl + V (Windows) or Cmd + V (Mac).
You can copy from the strip above, from any web page, or from a note file where you keep your regulars. This works identically in the browser and the desktop app, and it works in FigJam stickies too.
A pasted symbol takes on the text layer’s font, size, and colour — it does not carry styling across with it.
Method 2: Your OS character picker
Windows: press Windows + . (Windows key + full stop) while your cursor is inside a text layer. The emoji panel opens; switch to the symbols tab (the Ω icon) for arrows, currency, and maths signs. Click to insert.
Mac: press Ctrl + Cmd + Space to open the Character Viewer. Search by name — type arrow, degree, copyright — then double-click the glyph to drop it into the active text layer.

Method 3: Mac Option shortcuts (typing, no picker)
On a Mac, while a text layer is in edit mode, these type directly:
| Press | You get | Symbol name |
|---|---|---|
| Option + 8 | • | Bullet |
| Shift + Option + 8 | ° | Degree |
| Option + G | © | Copyright |
| Option + R | ® | Registered |
| Option + 2 | ™ | Trademark |
| Option + V | √ | Square root |
These assume the US / ABC keyboard layout. On other layouts (UK, ABC – Extended, German, Serbian) the letter-to-symbol mapping shifts, so check yours in System Settings → Keyboard → Input Sources if a shortcut produces the wrong character.
There is no Windows equivalent — see the Alt codes section below.
Method 4: Smart symbols (Figma’s own, and most people miss it)
Figma has one native symbol feature, and it’s buried in Preferences. Open the main menu → Preferences → Use smart quotes/symbols.
With it on, Figma converts characters as you type:
- Type
->(hyphen then greater-than, no space) and Figma turns it into →. - Straight quotes
"become curly quotes.
It’s the fastest way to get an arrow into a label, and it needs no picker, no plugin, and no clipboard. If you don’t want the conversion — you’re mocking up a code snippet, say — turn the setting off.
Method 5: A glyphs plugin (if you do this daily)
If you insert unusual symbols often, a community plugin gives you a picker without leaving the canvas. Open Resources (Shift + I) → Plugins and search for glyphs, special characters, or unicode. Currently maintained options include Glyphs, Unipaste, CopyGlyphs, and GlyphMate — most insert at the cursor position in a selected text layer.
For a one-off symbol, copy-paste is quicker than installing anything.
Why Alt codes don’t work in Figma (Windows)
Numpad Alt codes — Alt + 0169 for ©, Alt + 0176 for ° — are unreliable inside Figma. In testing they either do nothing, or trigger a Figma tool instead of typing the character.
Two things are working against you:
- Alt is a Figma modifier. Figma binds Alt heavily (Alt-drag to duplicate, Alt for spacing measurements, Alt for a stack of tool shortcuts). Your Alt-code sequence gets captured as a shortcut before it ever reaches the text.
- Canvas text isn’t a native Windows text field. Figma renders and edits text on its own canvas, not in a standard Windows edit control — and the Windows Alt-code service is a feature of those standard controls. The same thing happens in other browser-based apps.
On Windows, use copy-paste or Windows + . That’s the whole workaround.
More on this: why Alt codes fail in some apps →
Fix: my symbol shows as a box (▯)
This is the single most common Figma symbol problem, and it is not a broken symbol.
A glyph only renders if the font on that text layer actually contains it. Paste a → into a font with no arrow glyph and you get the tofu box: ▯. The character underneath is perfectly correct — Figma just has nothing to draw.
The fix: select the text layer and switch its font to one that includes the symbol. Inter (Figma’s default), Roboto, Arial, and Noto Sans cover the everyday arrows, currency, and maths symbols. Coverage varies between font versions, so if one still shows a box, try the next.

If only part of your text goes tofu, select just those characters and change the font on that range — the rest of the layer stays as-is.
Two things worth knowing:
- The Unicode code point never changes. Copy the box, paste it into a different font, and the symbol reappears. It was always there.
- Missing fonts on a shared file cause the same thing. If a teammate opens your file without your font installed, Figma substitutes — and the substitute may not have your glyph.
Text glyph or vector icon? Choose before you build
This is the decision that actually matters, and it’s easy to get wrong.
| You need | Use | Why |
|---|---|---|
| → between two words in a label | Text glyph | Flows with the text, inherits size and colour, re-wraps |
| © in a footer | Text glyph | It’s typography, not UI |
| 25°C in a weather mockup | Text glyph | Part of the string |
| • as a separator in a nav bar | Text glyph | Inline punctuation |
| An arrow button icon | Vector icon | Needs to scale, recolour, align to a pixel grid |
| A checkmark in a checkbox component | Vector icon | It’s a component, not a character |
| Chevrons in a dropdown | Vector icon | Consistent stroke weight matters |
Vector icons come from icon plugins — search the Community for Iconify, Material Symbols, or Feather. Drop them in as vectors, and they scale cleanly and recolour like any other shape.
Rule of thumb: if it lives inside a sentence, it’s a character. If it lives inside a component, it’s a vector.
Symbol reference: Unicode and HTML codes for handoff
Designers hand files to developers, and developers need the code — not the glyph. Keep these next to your symbol:
| Symbol | Name | Unicode | HTML entity | HTML numeric |
|---|---|---|---|---|
| → | Rightwards arrow | U+2192 | → | → |
| ← | Leftwards arrow | U+2190 | ← | ← |
| ↑ | Upwards arrow | U+2191 | ↑ | ↑ |
| ↓ | Downwards arrow | U+2193 | ↓ | ↓ |
| • | Bullet | U+2022 | • | • |
| © | Copyright | U+00A9 | © | © |
| ° | Degree | U+00B0 | ° | ° |
| ™ | Trademark | U+2122 | ™ | ™ |
| ® | Registered | U+00AE | ® | ® |
| ✓ | Check mark | U+2713 | — | ✓ |
| √ | Square root | U+221A | √ | √ |
| × | Multiplication | U+00D7 | × | × |
Paste the code point into your handoff notes and the developer gets the exact character every time — no screenshot-squinting, no guessing between ✓ and ✔.
See also: all arrow symbols → · the degree symbol (°) · the copyright symbol (©)
Other platforms and surfaces
Chromebook / ChromeOS. Figma runs in the browser, so copy-paste works normally — that’s your dependable route. ChromeOS’s own emoji and symbol picker (right-click inside a text field, or Launcher + Shift + Space) and its Unicode shortcut (Ctrl + Shift + U, hex code, Enter) are built for standard input fields; they’re reliable in Figma’s layer names, comments, and search boxes, but on the canvas itself, paste is the method that never lets you down.
Linux. Same story — copy-paste is the dependable route. GNOME Characters gives you a searchable picker to copy from, and Ctrl + Shift + U hex entry may work depending on your desktop and input method.
Mobile. You can’t do this on the phone app, and it isn’t your fault: Figma’s mobile app cannot edit Design files at all. It’s for viewing, commenting, mirroring, and prototypes. FigJam is editable on iPad — there, use your device keyboard’s emoji/symbol layer or long-press a key for variants.
FigJam. Same methods as Design. Copy-paste and the OS pickers work in stickies, text, and shape labels.
Layer names, comments, and page names. These are ordinary input fields, so the OS pickers and copy-paste both work — handy for prefixing layers with • or → in a busy file.
Exporting: what happens to your symbols
- PNG / JPG — the symbol renders exactly as you see it on canvas. No surprises.
- PDF — Figma outlines text to vectors on PDF export; it does not embed fonts. Good news for you: the symbol’s appearance survives on any machine, in any viewer, even without your font. The trade-off: the text isn’t selectable or searchable, so a developer can’t copy the character out of the PDF. Hand them the Unicode code point instead.
- SVG — text is exported as outlined glyphs by default, which locks the shape in permanently. If you uncheck Outline text in the export settings to keep the text editable, the symbol then depends on the viewer having a font that contains it — and you’re back to the tofu risk.
- Emoji — render with the system emoji set. The same emoji looks different on Windows, macOS, and for whoever opens your file. If the exact look matters, use a vector icon instead.
Troubleshooting
| Problem | What’s happening | Fix |
|---|---|---|
| Symbol shows as a box ▯ | The layer’s font has no glyph for that character | Switch the layer (or just that character range) to Inter, Roboto, Arial, or Noto Sans |
| Alt codes do nothing on Windows | Expected in Figma | Use copy-paste or Windows + . |
| An Alt key press triggers a Figma tool | The shortcut is being captured by Figma | Same fix — don’t use Alt codes here |
| Mac Option shortcut gives the wrong character | Your keyboard layout isn’t US / ABC | Check System Settings → Keyboard → Input Sources |
| Pasted symbol lost its bold / colour | Characters inherit the layer’s style | Restyle the layer, or the character range |
-> keeps turning into → and I don’t want it | Smart symbols is on | Main menu → Preferences → untick Use smart quotes/symbols |
| Symbol looks right for you, broken for a teammate | Missing font on their machine | Use a common font, or outline the text |
| Emoji look different after export | System emoji set, not a Figma bug | Use a vector icon if the look must be exact |
| Windows + . doesn’t open the panel | Cursor isn’t inside a text layer in edit mode | Double-click into the layer first |
| Can’t type anything on the phone app | Figma mobile can’t edit Design files | Use desktop or browser |
Frequently Asked Questions
How do I insert a symbol in Figma?
Figma does not have a built-in glyph panel. You can copy and paste a symbol into a text layer or use your operating system’s character picker:
Windows: Windows + .
Mac: Control + Command + Space
Does Figma have a special character or glyph panel?
No. Unlike Adobe Illustrator or InDesign, Figma does not include a native glyph panel. You can use copy and paste, your operating system’s character picker, or a community plugin that provides a glyph picker.
Do Alt codes work in Figma?
On Windows, Alt codes are unreliable because Figma is a Chromium-based application. It’s usually better to copy and paste symbols or use the Windows + . emoji and symbols panel. On a Mac, Option-key shortcuts work normally while typing.
Why does my symbol show as a box in Figma?
The font used in your text layer does not contain that symbol. Switch to a font that supports the glyph, such as Inter, Roboto, or Arial.
How do I add an arrow or check-mark icon in Figma?
For inline text, you can use characters such as → or ✓. For scalable interface icons, use a vector icon plugin such as Iconify, Material Symbols, or Feather.
How do I add emoji in Figma?
Use your operating system’s emoji picker:
Windows: Windows + .
Mac: Control + Command + Space
You can also copy and paste emoji directly into a text layer. Keep in mind that emoji appearance may vary depending on the operating system and export format.
Recap
No glyph panel: copy-paste or the OS picker (Windows + . / Ctrl + Cmd + Space). Mac Option keys type symbols directly; Windows Alt codes don’t work at all. Turn on smart symbols to get → from ->. If you see a box ▯, change the font — not the symbol. For scalable icons, use an icon plugin.
Written by Igor R. Tested in Figma on Windows 11, macOS, and in the browser. Last updated July 2026. Symbol code points follow the Unicode Standard.