Unicode Characters

Arrows, math, currency, dashes and keyboard glyphs to paste

palupdated 2026-10-27ReferenceComes with pal

Open in pal

Comes with pal, so a new install already has it; the button finds it in pal again if you removed it. This page can't see what your pal has installed.

Unicode Characters: The ones copied lately first, then every character in a grid by block; the full name of the one under the cursor below
The ones copied lately first, then every character in a grid by block; the full name of the one under the cursor below
Unicode Characters: Searching arrow: the matches in every block, the recent ones first
Searching arrow: the matches in every block, the recent ones first
Unicode Characters: Copy or paste the character, or copy its code point, HTML entity or numeric reference
Copy or paste the character, or copy its code point, HTML entity or numeric reference
1 of 3

What it does

Arrows, math, currency, punctuation, keyboard symbols, box drawing, Greek and accented letters in a grid to copy or paste. Search by name, alias, HTML entity, LaTeX command or code point.

  • About 1,800 characters in sections: arrows, math, Greek, currency, quotes and dashes, fractions, Mac keys (⌘ ⌥ ⇧ ⌃), box drawing
  • Search by name, code point (2192), HTML entity (rarr), LaTeX (\alpha) or a plain word (cmd, tick, eur)
  • enter copies the character, cmd+enter pastes it into the app in front
  • Copy the code point (U+2192), the HTML entity (→) or the numeric reference instead
  • A detail pane with the name and the character large, its block, UTF-8 bytes, LaTeX command and aliases
  • The last twelve copied lead in a Recent section

Palettes 1

  • Unicode Charactersunicodegridcatalog

    The bundled character table, by block; recently copied characters first.

    • ↵Copy character
    • ⌘↵Paste
    • ⌘⇧UCopy code point
    • ⌘⇧ECopy HTML entity
    • ⌘⇧NCopy numeric reference

Actions

  • Copy character↵
  • PasteInto the app that was in front; needs Accessibility on macOS.⌘↵
  • Copy code pointU+2192⌘⇧U
  • Copy HTML entity→, or → for a character without a named entity.⌘⇧E
  • Copy numeric reference→⌘⇧N

Settings

Unicode Characters, [palettes.unicode]

columns
10 number

Tiles per row in the grid.

Defaults shown. Change them in pal's settings window or in the config file.

The README

Everything Unicode Characters does, key by key, from the extension's own README.md

Unicode Characters

A grid of 1795 characters one pastes rather than types, from unicode/data.json: arrows, math, Greek, currency, quotes and dashes, punctuation, typographic and zero-width spaces, superscripts and fractions, accented Latin letters (the Turkish, German, French, Nordic and Spanish sets), letterlike symbols, the Mac keyboard glyphs (⌘ ⌥ ⇧ ⌃ ⎋ ⏎ ⌫ ⇥ ⏏ and the control pictures), check marks, box drawing and block elements, geometric shapes, miscellaneous symbols, dingbats, enclosed numbers and letters.

The tile is the glyph (a space shows as the open box ␣); the name is the Unicode name in lower case; the code point is the subtitle; the section is the block. The search matches the name, the code point (2192 or u+2192), the HTML entity names (rarr, nbsp), the LaTeX command where there is an obvious one (\rightarrow, \alpha), the character's Unicode 1.0 name (command key) and plain words (cmd, turkish, tick, eur).

The last twelve characters copied lead the grid in a Recent section (kept in the extension's storage) and leave their block while they are there. The section is rebuilt when the palette lists again (at start, on cmd+r); between listings the core's frecency already moves a picked tile up.

The detail pane (cmd+i) shows the glyph large, the block, the code point, both HTML forms, the UTF-8 bytes (E2 86 92), the LaTeX command and the aliases.

Keyboard

In the grid, arrows move across and down the tiles and Enter runs the first action of the tile under the cursor.

keys action
enter Copy character
cmd+enter Paste it into the app that was in front
cmd+shift+u Copy code point: U+2192
cmd+shift+e Copy HTML entity: →, or → for a character without a named entity
cmd+shift+n Copy numeric reference: →
cmd+i The detail pane
cmd+k Every action

Every action works over marked characters too (cmd-click, shift-click, shift+↑↓): the characters, entities and references run together as one string (→⌘), the code points are a space apart (U+2192 U+2318).

Setup

Nothing to install. Pasting is a synthesised Cmd+V, which macOS only delivers from a process on the Accessibility list: without the permission pal shows the system prompt once per run and a toast saying what to grant (System Settings > Privacy & Security > Accessibility). Copying needs nothing. On Linux the paste is Ctrl+V through wtype, else ydotool (which needs ydotoold running).

The table is generated: bun run unicode/build.ts fetches UnicodeData.txt (names) and the WHATWG entities.json (entity names), applies the sections, LaTeX and keyword tables in the script, and writes data.json (160 KB), which is committed. The whole UCD is not shipped; add a range or a code point to the script's SECTIONS to widen the table.

No extension settings. Per palette, [palettes.unicode.settings]:

key type default what
columns number, 4 to 16 10 Tiles per row in the grid. Read once when the extension loads: after a change, Settings > Restart extension host.

What it does not do

  • Every Unicode character: 1795 curated ones, by block. A code point outside the table finds nothing; widen SECTIONS in build.ts.
  • Emoji: they have their own palette (Emoji), with shortcodes and skin tones.
  • Compose characters (a base letter plus a combining mark); the accented letters are the precomposed ones.
  • Type a code point to get its character as an input palette would; the grid is searched, so 2192 finds the arrow's tile.

Platforms

macOS and Linux. The glyphs are drawn by the system font, so a character the font lacks shows as its fallback box; paste needs Accessibility on macOS and wtype or ydotool on Linux.