Dash and Hyphen Symbols Guide
The hyphen-minus on your keyboard is just one of Unicode's many dash characters, which also includes the en dash, em dash, figure dash, horizontal bar, and soft hyphen, each with distinct typographic purposes. This guide explains when to use each dash character and provides code points and keyboard shortcuts.
Understanding the difference between a hyphen and a dash — and knowing which dash to use — is one of those small typographic details that separates polished writing from sloppy text. Unicode provides a surprising number of horizontal line characters, each with a distinct purpose, width, and set of conventions.
Quick Copy-Paste Table
| Symbol | Name | Code Point | HTML Entity | Use |
|---|---|---|---|---|
| - | Hyphen-minus | U+002D | - |
General-purpose, ASCII default |
| ‐ | Hyphen | U+2010 | ‐ |
Typographic hyphen |
| ‑ | Non-breaking hyphen | U+2011 | ‑ |
Hyphen that never line-breaks |
| ‒ | Figure dash | U+2012 | ‒ |
Telephone/numerical ranges |
| – | En dash | U+2013 | – |
Ranges, compound adjectives |
| — | Em dash | U+2014 | — |
Parenthetical, interruption |
| ― | Horizontal bar | U+2015 | ― |
Quotation introduction |
| − | Minus sign | U+2212 | − |
Mathematical subtraction |
| ⁃ | Hyphen bullet | U+2043 | ⁃ |
List bullet point |
| ⸗ | Double oblique hyphen | U+2E17 | ⸗ |
Old German orthography |
The Hyphen-Minus: The ASCII Default
The hyphen-minus (U+002D, -) is the character you type when you press the minus/hyphen key on any keyboard. It is the workhorse of ASCII text and is used for three overlapping purposes: as a hyphen, as a minus sign, and as a dash substitute when proper Unicode characters are unavailable.
Because it lives in the ASCII range, every system and font renders it reliably. However, it is typographically imprecise — it is shorter than a proper minus sign and lacks the width of a true en or em dash.
When to use it:
- In URLs, file names, and command-line flags (--verbose, file-name.txt)
- In code and programming contexts where ASCII is preferred
- As a quick substitute when typing in plain-text environments (emails, SMS)
- Compound adjectives in casual writing (well-known, step-by-step)
The Hyphen (U+2010): The Typographic Upgrade
The typographic hyphen (U+2010, ‐) is the proper Unicode hyphen, distinct from the hyphen-minus. It is designed specifically for joining words and breaking long words across lines. In most body text, it looks nearly identical to the hyphen-minus but has cleaner spacing defined by the font.
When to use it:
- In professionally typeset documents where character precision matters
- Word processors like Microsoft Word and InDesign often insert this automatically
- Hyphenated words: co‐operation, self‐reliant
Non-breaking hyphen (U+2011, ‑) works identically but instructs the renderer never to break the line at that point. Use it in phone numbers (800‑555‑0100) or hyphenated proper nouns (Spider‑Man) where a line break would look wrong.
The En Dash: Ranges and Relationships
The en dash (U+2013, –) is so named because it is approximately the width of the letter "N." It serves two primary purposes in English typography:
1. Expressing Ranges
Use an en dash between two values that represent a span — numbers, dates, times, pages:
- Pages 10–25
- Monday–Friday
- The 2010–2020 decade
- A score of 3–1
Note that there are no spaces around the en dash in ranges. The sentence reads "turn to pages 10–25," not "pages 10 – 25."
2. Compound Adjectives with Multi-Word Parts
When one element of a compound adjective is itself a compound (open compound or proper noun), use an en dash instead of a hyphen:
- A New York–London flight
- The post–World War II economy
- A Nobel Prize–winning author
Keyboard Shortcuts
| Platform | Shortcut |
|---|---|
| Windows | Alt + 0150 (numpad) |
| Mac | Option + - |
| Linux (GTK) | Ctrl + Shift + U, then 2013, then Enter |
| HTML | – or – |
The Em Dash: The Power Pause
The em dash (U+2014, —) is the widest of the common dashes, approximately the width of the letter "M." It is the most expressive punctuation mark in English prose. It can replace commas, parentheses, and colons — often with more dramatic effect.
Uses of the Em Dash
Parenthetical asides (stronger than commas, less formal than parentheses):
The solution — if you could call it that — lasted only three days.
Abrupt interruption or break in thought:
She opened the door and — nothing. Complete silence.
Introducing a list or elaboration (like a colon, but more forceful):
One thing drove his decision — money.
Attribution in pull quotes (often preceded by a horizontal bar or em dash):
"The only way to do great work is to love what you do." — Steve Jobs
Spacing Conventions
Style guides disagree on spacing around em dashes:
| Style | Example |
|---|---|
| Chicago Manual of Style (US) | no spaces — like this |
| AP Stylebook (US journalism) | spaces – like this |
| British style | spaces – like this |
Pick one convention and apply it consistently throughout a document.
Keyboard Shortcuts
| Platform | Shortcut |
|---|---|
| Windows | Alt + 0151 (numpad) |
| Mac | Option + Shift + - |
| Linux (GTK) | Ctrl + Shift + U, then 2014, then Enter |
| Microsoft Word | Type -- between words and Word auto-converts |
| HTML | — or — |
The Figure Dash (U+2012): For Numbers
The figure dash (U+2012, ‒) has the same width as a digit (0–9), making it useful for telephone numbers and other numerical sequences where visual alignment matters:
- 1‒800‒555‒0199
- ISBN: 978‒0‒306‒40615‒7
It is rarely needed in everyday writing but useful in typesetting contexts where a number range must align neatly in a table column.
The Minus Sign (U+2212): Mathematics Only
The minus sign (U+2212, −) is emphatically not the same as a hyphen-minus. It is a mathematical operator with specific spacing and height defined to align with the plus sign (+) and other arithmetic operators.
In correctly typeset mathematics:
- Use − (U+2212) for subtraction: 5 − 3 = 2
- Use - (U+002D) only as a fallback in plain text or code
The minus sign is taller (sits on the midline) and slightly longer than the hyphen-minus, and good fonts align it optically with +, ×, and ÷.
In HTML and web math, prefer MathML or LaTeX rendering (via MathJax/KaTeX) for formulas. In plain text, − (−) gives you the proper minus sign.
The Horizontal Bar (U+2015)
The horizontal bar (U+2015, ―) is longer than the em dash and is used in some European languages (Greek, Japanese, Irish) to introduce dialogue — where English would use quotation marks:
― Come in, said the guard. ― I have an appointment, she answered.
It also appears in some typographic traditions as a pull-quote attribution marker and in certain mathematical notation styles.
The Hyphen Bullet (U+2043)
The hyphen bullet (U+2043, ⁃) is a specialized character for bullet lists in plain-text environments. It looks like a slightly bolder hyphen and signals to parsers and screen readers that this is a list marker rather than a compound word separator.
In HTML and rich text, use proper <ul> / <li> elements instead. The hyphen bullet is most useful in Markdown-adjacent plain-text contexts.
Developer Notes
HTML and CSS
<!-- En dash range -->
<span>Monday–Friday</span>
<!-- Em dash parenthetical -->
<p>The answer—if there is one—is elusive.</p>
<!-- Minus sign in math -->
<p>The result is −42.</p>
In CSS, you can insert dashes via content in pseudo-elements:
/* Em dash before blockquote citation */
blockquote cite::before {
content: "4 A0"; /* em dash + non-breaking space */
}
Python / Programming
HYPHEN_MINUS = "\u002D" # Standard ASCII -
EN_DASH = "\u2013" # –
EM_DASH = "\u2014" # —
FIGURE_DASH = "\u2012" # ‒
MINUS_SIGN = "\u2212" # −
NONBREAKING_HYPHEN = "\u2011" # ‑
# Normalise all dash variants to hyphen-minus (e.g. for slug generation)
import unicodedata
import re
def normalize_dashes(text: str) -> str:
dash_chars = "\u2010\u2011\u2012\u2013\u2014\u2015\u2212\u2043"
return re.sub(f"[{dash_chars}]", "-", text)
Detecting Dashes in Text
import unicodedata
def classify_dash(char: str) -> str:
name = unicodedata.name(char, "UNKNOWN")
category = unicodedata.category(char) # Pd = dash punctuation
return f"{name} (category: {category})"
print(classify_dash("–")) # EN DASH (category: Pd)
print(classify_dash("—")) # EM DASH (category: Pd)
print(classify_dash("−")) # MINUS SIGN (category: Sm)
Common Mistakes to Avoid
| Mistake | Correction |
|---|---|
Using -- for em dash |
Use — (U+2014) directly |
Using - for subtraction |
Use − (U+2212) in typeset math |
| Adding spaces around en dash in ranges | Write 10–20, not 10 – 20 |
| Using hyphen for phone number ranges | Use figure dash ‒ or en dash – |
| Confusing em dash and horizontal bar | Em dash (—) for English prose; horizontal bar (―) for dialogue in some languages |
Summary: Which Dash to Use
| Situation | Use | Character |
|---|---|---|
| Hyphenated compound word | Hyphen | ‐ U+2010 (or - U+002D) |
| Number or date range | En dash | – U+2013 |
| Parenthetical aside in prose | Em dash | — U+2014 |
| Phone number | Figure dash | ‒ U+2012 |
| Mathematical subtraction | Minus sign | − U+2212 |
| Dialogue introduction (EU/Greek) | Horizontal bar | ― U+2015 |
| URL / filename / code flag | Hyphen-minus | - U+002D |
Symbol Reference의 더 많은 가이드
Unicode contains hundreds of arrow symbols spanning simple directional arrows, double arrows, …
Unicode provides multiple check mark and tick symbols ranging from the classic …
Unicode includes a rich collection of star shapes — from the simple …
Unicode contains dozens of heart symbols including the classic ♥, black and …
Unicode's Currency Symbols block and surrounding areas contain dedicated characters for over …
Unicode has dedicated blocks for mathematical operators, arrows, letterlike symbols, and alphanumeric …
Beyond the ASCII parentheses and square brackets, Unicode includes angle brackets, curly …
Unicode offers a wide variety of bullet point characters beyond the standard …
Unicode's Box Drawing block contains 128 characters for drawing lines, corners, intersections, …
Unicode includes musical note symbols such as ♩♪♫♬ in the Miscellaneous Symbols …
Unicode includes precomposed fraction characters for common fractions like ½ ¼ ¾ …
Unicode provides precomposed superscript and subscript digits and letters — such as …
Unicode contains dozens of circle symbols including filled circles, outlined circles, circles …
Unicode includes filled squares, outlined squares, small squares, medium squares, dashed squares, …
Unicode provides a comprehensive set of triangle symbols in all orientations — …
Unicode includes filled and outline diamond shapes, lozenge characters, and playing card …
Unicode provides various cross and X mark characters including the heavy ballot …
Unicode defines typographic quotation marks — curly quotes — for dozens of …
Unicode includes dedicated characters for the copyright symbol ©, registered trademark ®, …
The degree symbol ° (U+00B0) and dedicated Celsius ℃ and Fahrenheit ℉ …
Unicode's Enclosed Alphanumerics block provides circled numbers ①②③, parenthesized numbers ⑴⑵⑶, and …
Unicode includes a Number Forms block with precomposed Roman numeral characters such …
Greek letters like α β γ δ π Σ Ω are widely …
The Unicode Dingbats block (U+2700–U+27BF) contains 192 decorative symbols originally from the …
Unicode includes a Playing Cards block with characters for all 52 standard …
Unicode provides characters for all six chess piece types in both white …
Unicode's Miscellaneous Symbols block includes the 12 zodiac signs ♈♉♊♋♌♍♎♏♐♑♒♓, planetary symbols, …
Unicode's Braille Patterns block (U+2800–U+28FF) encodes all 256 possible combinations of the …
Unicode's Geometric Shapes block contains 96 characters covering circles, squares, triangles, diamonds, …
The Unicode Letterlike Symbols block contains mathematical and technical symbols derived from …
Unicode's Miscellaneous Technical block contains symbols from computing, electronics, and engineering, including …
Diacritics are accent marks and other marks that attach to letters to …
Unicode defines dozens of invisible characters beyond the ordinary space, including zero-width …
Unicode includes warning and hazard symbols such as the universal caution ⚠ …
Unicode's Miscellaneous Symbols block includes sun ☀, cloud ☁, rain ☂, snow …
Unicode includes symbols for many of the world's major religions including the …
Unicode includes the traditional male ♂ and female ♀ symbols from astronomy, …
Apple's macOS uses Unicode characters for keyboard modifier keys such as ⌘ …
Unicode symbols like ▶ ◀ ► ★ ✦ ⚡ ✈ and hundreds …