HTML entity for a bullet •

• / • / •

• is the HTML entity for the bullet •, U+2022 BULLET, and • and • are its numeric references. HTML5 adds the alias •, which JSX doesn’t know. In UTF-8 it’s E2 80 A2.

Character    • U+2022 BULLET
Named        •     (HTML5 also reads •)
Numeric      •    •
UTF-8        E2 80 A2

Encoding a row of links gives Home • About • Contact.

Bullet or middle dot

•  U+2022  BULLET          •     list marks, bold separators
·  U+00B7  MIDDLE DOT      ·   light separators; Catalan l·l
⋅  U+22C5  DOT OPERATOR    ⋅     multiplication: a ⋅ b
●  U+25CF  BLACK CIRCLE    ●
◦  U+25E6  WHITE BULLET    ◦

The bullet is larger and heavier than the middle dot; for a separator between links, · is the quieter choice.

A typed bullet isn’t a list

In HTML, a list is <ul> with <li> items: screen readers announce it as a list with a count, and CSS draws the markers, so no • goes in the markup. Lines that start with • inside a <p> are plain text. Markdown works the same way: CommonMark’s list markers are -, + and *, so text pasted from a word processor with • at each line stays one paragraph.

ul { list-style-type: disc; }       /* the default for <ul> */
li::marker { color: #b45309; }      /* recolor the bullet only */

As a separator

Between inline links, keep the bullet out of what screen readers read:

<a href="/">Home</a> <span aria-hidden="true">&bull;</span> <a href="/about">About</a>

Or let CSS add it to a list of links, so the markup stays a list:

.links li + li::before { content: "\2022"; margin-inline: 0.5em; }

Legacy and JSX

Old pages contain &#149;. That code is 0x95, a C1 control, but Windows-1252 put the bullet there, so the HTML standard reads it as • and reports a parse error, and this tool decodes it the same way. Write &#8226;.

JSX decodes &bull; in text but renders &bullet; as those letters, because JSX compilers only know the HTML 4 names; in braces write {'\u2022'}. CommonMark decodes both names in Markdown text and leaves them literal in code spans.

Try it in the HTML Entity Encoder & Decoder

Encoded

2 characters become a reference, named where a name exists and &#x…; where one doesn’t.

Encoding always escapes &amp;, &lt;, &gt;, &quot; and &#39; — the characters that mean something to an HTML parser.

Runs in your browser. Nothing you enter is sent anywhere.