Three or more characters
Exactly --- works, and so does ----------. Anything fewer is just text. The common convention is three.
Free · Private · No sign-up
One click to copy ---, *** or ___, plus the three rules that decide whether your horizontal rule renders or turns into a heading, a list or bold text.
The horizontal rule — HTML’s <hr>, the “thematic break” of the CommonMark spec — is markdown at its most minimal: three characters on a line by themselves. It is also markdown at its most treacherous, because the three spellings behave differently in the wrong company. --- directly under a line of text is not a rule at all: it promotes that text to an H2 heading. *** in the wrong parser can read as emphasis. And a rule inside a list item is not a rule — it is list text.
The three forms above are what the spec calls equivalent: --- (hyphens), *** (asterisks) and ___ (underscores), each on its own line, each with a blank line above and below. Copy whichever suits your document. If you paste rules under paragraphs regularly, the asterisk form is the habit worth forming — it cannot be misread as a setext heading by any markdown engine, however the document above it ends.
Every variant is a real text string, not an image: paste it into a README, a Jekyll post, a Discord message or a static-site generator and it renders as the same rule everywhere markdown is spoken. The cards below cover the three syntax rules that decide whether it works, because “how to make a horizontal line in markdown” is really three questions: which characters, how many, and what must surround them.
Same output, different failure modes. Click a card to copy its markup.
Exactly --- works, and so does ----------. Anything fewer is just text. The common convention is three.
Text, then ---, makes the text a heading and the rule disappears. Always leave an empty line between the paragraph and the rule.
Spaces between the marks are allowed ( - - - ), but any other text on the line — including a list item — changes what it means.
| You write | You get |
|---|---|
| Text\n--- | An H2 heading — not a rule. |
| Text\n\n--- | The intended horizontal rule. |
| - item\n--- | A heading — the list marker changes the meaning. |
| - item\n\n--- | The intended horizontal rule. |
| - - - | A rule — spaces between the marks are allowed. |
| -- | Plain text: two hyphens are not enough. |
The same hyphen that builds markdown rules is the character this site removes: if a draft arrived full of --- separators you did not want, theremove-all-dashes tooltakes the family out, and themarkdown horizontal line referenceis always here when you need one back.
No sign-up, no upload, no word limit. Paste, pick, and copy the result.
Remove dashes now