Markdown Tight vs Loose Lists
Last updated: 2026-10-14
Tight vs Loose Lists CommonMark core
Blank lines between items decide tight vs loose: tight lists render bare <li> text, loose lists wrap each item in <p> with taller spacing. Visually obvious and CSS-relevant.
| Group | Edge Cases & Rules |
|---|---|
| Spec level | CommonMark core |
| Spec version | CommonMark 0.31.2 + GFM |
📝 Syntax
(blank lines between items = loose list)
▶ Live Example
Edit Markdown on the left, see the result on the right
💡 Key points
ℹ️ Note Tightness is a whole-list property: one blank line makes the entire list loose.
💡 Tip When styling li directly, account for the inner <p> in loose lists.
❓ FAQ
Q How to make a list tight?
A Remove the blank lines between items.
Q Is a loose list a bug?
A Spec behavior: an item with multiple paragraphs should be loose.
Q Does a child list loosen the parent?
A Yes — the blank line above a child list loosens the parent, a classic visual surprise.