Utilities
Copy/paste coding-friendly characters fast: backticks, arrows, ellipsis, curly quotes, non-breaking space.
Characters & shortcuts
| Character | Name | Alt code | Unicode | Copy |
|---|---|---|---|---|
| ` | backtick | Alt + 96 | U+0060 | |
| β | right arrow | Unicode | U+2192 | |
| β | left arrow | Unicode | U+2190 | |
| β | left right arrow | Unicode | U+2194 | |
| β¦ | ellipsis | Alt + 0133 | U+2026 | |
| β | left double curly quote | Alt + 0147 | U+201C | |
| β | right double curly quote | Alt + 0148 | U+201D | |
| β | left single curly quote | Alt + 0145 | U+2018 | |
| β | right single curly / apostrophe | Alt + 0146 | U+2019 | |
| Β | non-breaking space | Alt + 0160 | U+00A0 |
Reference
This table gathers the characters that come up when writing about code rather than writing code: the backtick that opens a fenced block or inline span in Markdown, the arrows used in documentation and diagrams, the ellipsis, the curly quotation marks, and the invisible spaces that control layout. The mix reflects a real need β technical writing sits between plain code, where only ASCII is safe, and prose, where proper typography is expected.
The backtick is the one people hunt for most. It opens inline code in Markdown, wraps template literals in JavaScript, and performs command substitution in shell scripts. On most keyboards it shares a key with the tilde at the top left, but on several international layouts it is a dead key β pressing it produces nothing until you press another key, which then receives a grave accent. On a French AZERTY or a US International layout, pressing backtick then space is the usual way to get a literal one, and this catches out developers switching machines constantly.
The single most important rule in this table is where not to use these characters. Curly quotation marks and the true ellipsis belong in prose about code and must never appear inside code itself. A smart-quote substitution inside a code block is one of the most common and most confusing bugs in technical writing: the code looks correct, but the string delimiters are U+201C and U+201D rather than the ASCII quote, and the interpreter rejects it with an error that points nowhere useful. Word processors and some note apps apply this substitution automatically, which is why pasting code through them corrupts it. If a copied snippet fails with a syntax error near a string, check the quote characters first.
The arrows earn their place in documentation. β is standard for describing navigation paths and transformations β File β Export, or input β output β and reads far better than a hyphen and a greater-than sign, which many readers parse as an operator. The bidirectional β marks two-way relationships in architecture notes and diagrams. These are the only arrows most technical writing needs.
The two invisible characters at the end of the table solve formatting problems in documentation. The non-breaking space keeps a command name from splitting across a line, or holds a version number to its product name. The narrow no-break space does the same in tighter typographic settings. Both are safe in prose and dangerous in code, for the same reason smart quotes are: a non-breaking space inside a command line looks exactly like a normal space and will not work. When a copied terminal command fails inexplicably, an invisible U+00A0 picked up from a web page is a frequent culprit, and retyping the spaces is usually faster than finding it.
FAQ
Use Alt codes on a numpad (Num Lock on) for the listed codes; or copy directly from this table for quick paste.
Some have shortcuts (ellipsis Option+;). Arrows/quotes vary by layoutβcopy from this table if needed.
Yesβclick Copy in the table and paste anywhere. No installation needed.
Yes. These are plain Unicode characters. Use with care in code; for plain text or docs they paste safely.
Word processors and note apps substitute curly quotes for straight ones. The code looks right but the string delimiters are U+201C and U+201D rather than ASCII quotes. Check the quotes first.
On layouts where it is a dead key, such as US International or French AZERTY, press backtick then space to get a literal one.
It often contains a non-breaking space picked up from a web page. It looks identical to a normal space but the shell does not treat it as a separator. Retyping the spaces fixes it.
Yes, for navigation paths and transformations: File β Export. It reads more clearly than -> which many readers parse as a code operator.