Utilities

Typographic Marks - Alt Codes & Unicode

Copy/paste common typographic symbols fast: guillemets « », en dash – , em dash —, ellipsis …, plus non-breaking space.

Characters & shortcuts

Alt codes & Unicode table

CharacterNameAlt codeUnicodeCopy
«left guillemetAlt + 0171U+00AB
»right guillemetAlt + 0187U+00BB
en dashAlt + 0150U+2013
em dashAlt + 0151U+2014
ellipsisAlt + 0133U+2026
 non-breaking spaceAlt + 0160U+00A0

Reference

Typographic Marks and Invisible Characters

This is a short table with an outsized effect on how finished text looks. It covers the guillemets used for quotation across much of Europe, the en and em dashes, the ellipsis, and — most usefully — two invisible characters that solve layout problems nothing else can.

The non-breaking space is the workhorse. It looks exactly like an ordinary space and behaves like one in every way except that no line break may occur at it. That makes it the correct fix for the small typographic embarrassments that appear in narrow columns and on mobile: a number separated from its unit across a line break, a name broken after an initial, a figure reference split from its number. Writing 10 kg, Dr. Smith, Figure 3 and 25 °C with non-breaking spaces keeps each pair together at any column width. In HTML the entity is the familiar  , but the literal character works identically and survives copy and paste, which the entity does not.

The narrow no-break space is the specialist version, narrower than a normal space and equally unbreakable. French typography needs it before the high punctuation marks — the colon, semicolon, question mark and exclamation mark all take a thin space before them in French, and a full space looks too wide. It is also used inside guillemets and as a digit group separator in several European conventions, where 1 000 000 is written with thin spaces rather than commas.

Because both of these characters are invisible, they cause a particular class of confusion. Text that looks identical can fail an equality check because one copy contains a non-breaking space where the other has a normal one. This happens constantly with text copied from web pages, PDFs and word processors into forms, spreadsheets and databases, and it is a common cause of lookups that fail for no visible reason. If a value will not match and looks correct, checking for U+00A0 is a good first move. Most spreadsheet software has a clean or substitute function for exactly this.

The guillemets « and » are the standard quotation marks in French, Russian, Spanish, Italian, Portuguese and several other languages, though the spacing conventions differ — French puts spaces inside the marks, Russian does not. On Windows, hold Alt with Num Lock on: « is Alt+0171, » is Alt+0187, – is Alt+0150, — is Alt+0151, … is Alt+0133 and the non-breaking space is Alt+0160. On macOS, Option+backslash gives «, Shift+Option+backslash gives », and Option+space gives the non-breaking space. On Linux, Compose then < then < gives « and Compose then space then space gives the non-breaking space. In Word, Ctrl+Shift+space inserts a non-breaking space directly.

FAQ

Frequently Asked Questions

How do I use these symbols on Windows?

Hold Alt and type the number on the numpad (Num Lock on), then release Alt. Examples: en dash Alt+0150, em dash Alt+0151, ellipsis Alt+0133.

How do I type them on Mac?

Common shortcuts: en dash (Option + -), em dash (Option + Shift + -), ellipsis (Option + ;). Guillemets vary by layout—copy from this table if needed.

Can I copy these symbols directly?

Yes—click Copy in the table and paste anywhere. No installation needed.

Why use a non-breaking space?

Non-breaking spaces keep items together (e.g., numbers + units, initials) and prevent line breaks.

What is a non-breaking space for?

It keeps two words or a number and its unit on the same line: 10 kg, Figure 3, Dr. Smith. It looks like a normal space but no line break can occur at it.

Why does my text fail to match even though it looks identical?

It often contains a non-breaking space (U+00A0) where the other copy has a normal one. Text copied from web pages, PDFs and word processors frequently carries them.

When do I need the narrow no-break space?

French typography uses it before the colon, semicolon, question mark and exclamation mark, and inside guillemets. It also serves as a digit group separator in several European conventions.

Should I use &nbsp; or the actual character?

Both render identically in HTML. The literal character survives copy and paste into non-HTML contexts, while the entity does not, so it is often the more portable choice.