HTML Punctuation Entities

Beginner
7 min read
Updated: Sep 2026
1 example
Quotes, dashes, spacing

What Are HTML Punctuation Entities?

HTML punctuation entities are character references for typographic punctuation — curly quotes, en and em dashes, ellipsis, non-breaking space, guillemets, bullets, primes, and marks from the General Punctuation block.

Remember
Named (common)  “ ” – — …  
Guillemets      « » ‹ ›
CSS example     content: "\2014"   (em dash)
Prefer UTF-8    type the glyph when the whole toolchain is Unicode-safe

Prefer named forms when HTML defines them; use hex or decimal from the table when there is no short name. For digits and fractions, see HTML Number Entities; for broader symbols, see HTML Symbol Entities.

Quick Reference

Search by symbol, Unicode, hex, decimal, or entity name.

SymbolUnicodeHex codeHTML codeHTML entity
!U+0021!!!
"U+0022"""
#U+0023###
&U+0026&&&
'U+0027'''
(U+0028(((
)U+0029)))
*U+002A***
,U+002C,,,
.U+002E...
/U+002F///
:U+003A:::
;U+003B&#x3b;&#59;;
?U+003F???
[U+005B[[[
\U+005C\\\
]U+005D]]]
^U+005E^^^
_U+005F___
`U+0060```
{U+007B{{{
}U+007D}}}
|U+007C|||
~U+007E~~˜
 U+00A0   
¡U+00A1¡¡¡
¦U+00A6¦¦¦
¨U+00A8¨¨¨
ªU+00AAªªª
«U+00AB«««
­U+00AD­­­
¯U+00AF¯¯¯
´U+00B4´´´
µU+00B5µµµ
·U+00B7···
¸U+00B8¸¸¸
ºU+00BAººº
»U+00BB»»»
¿U+00BF¿¿¿
‐U+2010‐‐‐
‑U+2011‑‑-
‒U+2012‒‒-
–U+2013–––
—U+2014———
―U+2015―――
‖U+2016‖‖‖
‗U+2017‗‗-
‘U+2018‘‘‘
’U+2019’’’
‚U+201A‚‚‚
‛U+201B‛‛-
“U+201C“““
”U+201D”””
„U+201E„„„
‟U+201F‟‟-
†U+2020†††
‡U+2021‡‡‡
•U+2022•••
‣U+2023‣‣-
․U+2024․․-
‥U+2025‥‥‥
…U+2026………
‧U+2027‧‧-
′U+2032′′′
″U+2033″″″
‴U+2034‴‴‴
‵U+2035‵‵‵
‶U+2036‶‶-
‷U+2037‷‷-
‸U+2038‸‸-
‹U+2039‹‹‹
›U+203A›››
※U+203B※※-
‼U+203C‼‼-
‽U+203D‽‽-
‾U+203E‾‾‾
‿U+203F‿‿-
⁀U+2040⁀⁀-
⁁U+2041⁁⁁⁁
⁂U+2042⁂⁂-
⁃U+2043⁃⁃⁃
⁄U+2044⁄⁄⁄
⁅U+2045⁅⁅-
⁆U+2046⁆⁆-
⁇U+2047⁇⁇-
⁈U+2048⁈⁈-
⁉U+2049⁉⁉-
⁊U+204A⁊⁊-
⁋U+204B⁋⁋-
⁌U+204C⁌⁌-
⁍U+204D⁍⁍-
⁎U+204E⁎⁎-
⁏U+204F⁏⁏⁏
⁐U+2050⁐⁐-
⁑U+2051⁑⁑-
⁒U+2052⁒⁒-
⁓U+2053⁓⁓-
⁕U+2055⁕⁕-
⁗U+2057⁗⁗⁗
⁚U+205A⁚⁚-
⁖U+2056⁖⁖-
⁘U+2058⁘⁘-
⁙U+2059⁙⁙-
⁛U+205B⁛⁛-
⁜U+205C⁜⁜-
⁝U+205D⁝⁝-
⁞U+205E⁞⁞-

When to Use Which

SituationUse
Curly double quotes“ … ”
Curly single quotes / apostrophe‘ … ’ (or ' for U+0027)
Numeric ranges– (en dash)
Break in thought / attribution— (em dash)
Keep number + unit together  (e.g. 10 kg)
Ellipsis / pause…
French / Spanish-style quotes« … »
Markup safety (<, &)&lt;, &amp; — not typography choice

Live Preview

Common punctuation from character references.

Quotes “Double” · ‘Single’
Dashes En – · em — · hyphen (-)
Ellipsis and bullet Wait… · • item
Guillemets « French » · ‹ single ›
Large type “A” — B

Complete HTML Example

One page that shows curly quotes, en and em dashes, ellipsis, a non-breaking space, and a CSS em dash. Use View Output or open the live editor.

Quotes + Dashes + Ellipsis + NBSP + CSS

Named punctuation entities in prose, plus a stylesheet-injected em dash.

html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>HTML Punctuation Entities</title>
  <style>
    .em-dash::after {
      content: "\2014";
    }
  </style>
</head>
<body>
  <p>&ldquo;We use curly quotes&rdquo; &mdash; and an em dash.</p>
  <p>Ranges: 9&ndash;5 &middot; Pause&hellip; done.</p>
  <p>Non-breaking: 10&nbsp;kg</p>
  <p>CSS em dash: A<span class="em-dash"></span>B</p>
</body>
</html>
Try It Yourself

How It Works

1. Quotes: &ldquo; / &rdquo; are named HTML5 entities for curly double quotation marks.

2. Dashes: &mdash; is the em dash; &ndash; is the en dash (often used in ranges like 9–5).

3. Spacing: &nbsp; is a non-breaking space — it keeps 10 and kg on the same line.

4. CSS: \2014 in content injects an em dash (U+2014). Escapes belong in stylesheets, not as HTML entities.

5. Same glyph: named, hex, decimal, CSS, and typed UTF-8 all resolve to the same Unicode character when the code point matches.

Pitfalls & Tips

Common mistakes when working with punctuation entities.

Named

Prefer names when available

&mdash; and &hellip; are clearer than numeric forms. Use the table for symbols without a short HTML5 name.

Dashes

Hyphen ≠ en ≠ em

Do not confuse hyphen-minus (-), en dash (&ndash;), and em dash (&mdash;). They look different and mean different things.

NBSP

Do not spam &nbsp;

Use it for fixed pairs (number + unit). Use CSS for layout spacing — not non-breaking spaces.

Code

Keep straight quotes in code

Do not auto-replace quotes inside <code>, URLs, or attribute values without checking — curly quotes can break syntax.

CSS vs HTML

Do not mix escapes

\2014 belongs in CSS. &mdash; / &#x2014; belong in HTML.

Safety

Escape vs typography

&lt; and &amp; protect markup. Curly quotes and dashes improve reading — they are not substitutes for escaping.

Browser Support

Named and numeric punctuation character references work in all mainstream browsers with UTF-8 documents. Visible glyphs depend on font coverage for rarer General Punctuation marks.

✓ Universal support

HTML Punctuation Entities

Encode with named, hex, decimal, CSS escape, or type the character — same code point everywhere encoding is supported.

100% Browser coverage
Google Chrome Supported
Yes
Microsoft Edge Supported
Yes
Mozilla Firefox Supported
Yes
Apple Safari Supported
Yes
Opera Supported
Yes
Internet Explorer All versions
Yes
Punctuation entities Full support

Bottom line: Prefer named entities when listed. Use numeric forms from the table for rarer marks. Use CSS escapes only inside content.

Key Takeaways

  • Named: &ldquo;, &rdquo;, &ndash;, &mdash;, &hellip;, &nbsp;.
  • Numeric: use hex / decimal from the Quick Reference when a short name is missing.
  • CSS: use escapes such as \2014 inside content for generated text.
  • Rule: escape for safety; choose curly marks for typography — do not confuse the two.

One line: named when available → numeric from the table → CSS escape only in content.

Frequently Asked Questions

Character references for punctuation and related marks: curly quotes (&ldquo; &rdquo;), en and em dashes (&ndash; &mdash;), ellipsis (&hellip;), non-breaking space (&nbsp;), guillemets, bullets, and other General Punctuation symbols. They use the same &name;, &#…;, and &#x…; mechanisms as any other HTML entity.
Use &nbsp; to keep short tokens together, such as a number and unit (10&nbsp;kg) or initials. Do not replace every ordinary space — that harms wrapping and readability.
&ndash; is the en dash, often used for numeric ranges (9&ndash;5). &mdash; is the em dash, often used for a break in thought or attribution. Follow your locale and house style.
Write &amp; for a literal ampersand in content. In attributes, escape quotes with &quot; or use the other quote style. That is markup safety — separate from choosing curly punctuation for typography.
Yes — HTML5 includes &apos; for U+0027 (typewriter apostrophe). You can also use &#39; or type the character in UTF-8. Many styles prefer &rsquo; (U+2019) when it acts as a typographic apostrophe.
HTML entities go in markup. CSS uses backslash hex in content on ::before/::after (for example \2014 for an em dash). Prefer HTML for body text and CSS when the design injects the glyph.

Did you know?

Common punctuation has short HTML5 names — &ldquo;, &rdquo;, &ndash;, &mdash;, &hellip;, &nbsp;. Escaping &lt; / &amp; is about markup safety; curly quotes and dashes are about typography. Both use the same entity syntax.

Next: Symbol Entities

Continue to HTML symbol entities — copyright, stars, suits, and related forms.

Symbol Entities tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful