Skip to content
AITroveRead. Build. Understand.
Make this comfortable

HTML br and hr: separate a line from a change of subject

Last updated: 1 Oct 20266 min read
tutorial
IntermediateBy AITrove Editorial

A br element inserts a line break within text. An hr element marks a thematic break between passages. Neither is a spacing control for layout.

Use the distinction

A printed collection address has meaningful line boundaries, so line breaks help preserve its postal form. Below it, a new paragraph changes from collection instructions to an exception policy. That change can justify a thematic separator if the surrounding headings do not already make the shift clear. Ordinary paragraphs should usually remain paragraphs; inserting repeated br elements to force a visual gap makes source order harder to maintain and can sound strange when read aloud. A heading is preferable when the next passage begins a named section that readers should find by heading navigation.

html
<main>
  <h1>Collection notice</h1>
  <p>Return damaged parcels to:<br>
     Bay 47<br>
     North depot<br>
     Harbour Road</p>
  <p>Attach the intake record before the collection window closes.</p>
  <hr>
  <p>If the seal is open, hold the parcel for a supervisor instead.</p>
</main>

Behavior and cost

Both elements are tiny and need no script. The cost is editorial misuse: an hr cannot create a new section hierarchy, and br cannot make a list or address relationship that is not present in the words. CSS owns margins and borders. Test the page with styles disabled and at narrow widths; the breaks should still match the text's intended meaning. If the separator adds no meaning beyond a visual rule, put that rule in CSS rather than in the document.

Common Mistakes

  • Do not stack br elements to simulate paragraph margins.
  • Do not insert hr between every section when headings already express the division.
  • Do not use a visible line as the only cue for a changed instruction.

Connected lessons

html
semantics
Storage details