Bold and Italics
Heavier or slanted type—when is it bold or italic?
✅ NormativeSettled. The requirement holds as written.📄 Page ruleCan be applied from the page alone.Read §7.2.1 in the RFC ↗
Bold MUST be written **bold** and italic *italic*, in Markdown, except where the Markdown
delimiter cannot close, where <strong> / <em> MUST be used. They MUST be applied only where the
printed glyphs are heavier or slanted than their neighbours.
When it applies
HTML elements are reserved for marks Markdown cannot express at all — see Underlined Text (§7.2.12),
Superscript and Subscript (§7.2.11) and Highlighted Text (§7.2.5). <b>, <i>, <strong> and <em> MUST NOT
be used for ordinary emphasis in the Markdown text.
Reading the examples. Each one pairs a source page with the output the rule expects. ✅ Sample: the rule applies. ❌ Counter-sample: it looks like it applies and does not, or a rendering got it wrong. A non-conforming output, in red, is shown only for contrast. … marks content left out of an excerpt.
The point, in a small example
The source shows the printed appearance; the output shows the precise markup required by this convention. These pages are made up to isolate the rule.
Preserve bold and italic without inventing emphasis
Only “Urgent” is bold and only “review” is italic. The rest stays plain.
Source page
Non-conforming output
What the rule rules out.
**Urgent review required.**Expected output
**Urgent** *review* required.Where ** cannot close
CommonMark cannot close ** or * between a punctuation mark and a letter: **---**To be is not
bold when rendered. In exactly that case — the emphasised run ends in punctuation and a letter or
digit follows with no space — the run MUST be written with <strong> (bold) or <em> (italic)
instead: <strong>---</strong>To be. Everywhere else the Markdown delimiters are used. (Inside HTML
table cells, emphasis is always <strong> / <em> — see Bold and Italic Inside Tables (§9.6.2).)
Styling comes from the glyphs, not from the role
The syntax is the easy half. The failure that costs fidelity is styling text because of what it is rather than what it looks like: bolding a heading because headings are usually bold, or bolding a whole column because one cell in it is heavy.
- Styling MUST be decided from the glyphs on the page, one run of text at a time.
- A run MUST NOT be styled because of its role (heading, label, total) when its glyphs are not heavier or slanted.
- Where it cannot be established whether a run is heavier than its neighbours, the run SHOULD be left unstyled. An unmarked run loses a nuance; a wrongly marked one asserts something the page does not print — the never invent failure.
Tables are where this goes wrong most often, and they are judged cell by cell — see Bold and Italic Inside Tables (§9.6.2).
Neighbouring rules, and how they differ
More
Rule id text-bold-and-italics · text formatting inline