MeshWorld India Logo MeshWorld.
Markdown Tutorial 3 min read

Horizontal Rules & Line Breaks in Markdown

Hinal Acharya
By Hinal Acharya
| Updated: May 8, 2026
Horizontal Rules & Line Breaks in Markdown

Two small but frequently misunderstood features in Markdown: horizontal rules (dividers) and line breaks. They look simple but behave differently from what most people expect.


Horizontal Rules

A horizontal rule draws a full-width dividing line across the page — useful for separating major sections of content.

Use three or more of any of these characters on their own line:

---

***

___

All three produce the same result — a horizontal rule:


HTML equivalent: <hr />

Which one to use?

Any of the three work. Pick one and use it consistently. Most style guides recommend --- (three hyphens) because it is the least ambiguous.

Tip: Leave a blank line before and after --- to avoid Markdown interpreting it as a heading underline (setext-style heading).


Line Breaks

This is where most people get confused. In Markdown, pressing Enter once does not create a new line in the output — it is treated as a space within the same paragraph.

This is line one.
This is line two.

Output: This is line one. This is line two.

To force a line break within a paragraph, you have two options:

Option 1 — Two trailing spaces

Add two spaces at the end of a line before pressing Enter.

This is line one.  
This is line two.

This is line one.
This is line two.

Option 2 — Backslash (GFM)

In GitHub Flavoured Markdown and many modern renderers, a trailing backslash \ also creates a line break.

This is line one.\
This is line two.

This is line one.
This is line two.


Paragraph Breaks

To start a new paragraph (with vertical space between them), leave a blank line:

This is the first paragraph.

This is the second paragraph.

This is the first paragraph.

This is the second paragraph.


Common Mistakes

MistakeWhat happensFix
Single Enter after a lineLines merge into one paragraphLeave a blank line or use two trailing spaces
--- with no blank line aboveRenders as a heading underlineAdd a blank line before ---
Using <br> for line breaksWorks but mixes HTML into MarkdownUse two trailing spaces instead

Best Practices

  • Use horizontal rules sparingly — too many dividers fragment content and make it harder to read.
  • Prefer paragraph breaks (blank line) over forced line breaks for most content.
  • Avoid <br> tags in Markdown — they work but make source files less clean.

Quick Reference

---          (horizontal rule)

Line one.
Line two.    (forced line break — two trailing spaces)

Paragraph one.

Paragraph two.  (paragraph break — blank line)

Hope you find this helpful!

Keep smiling