Replace all line breaks with br elements

Turn LF and CRLF line breaks into <br>.

JavaScript Version 1.0.0 · MIT · .md

replace-all-line-breaks-with-br-elements.js
function nl2br(text) { return text.replace(/\r?\n/g, '<br>'); }

Input & expected output

Input

"Line one\nLine two"

Expected output

"Line one<br>Line two"

The edge case

Input

"a\r\nb"

Expected output

"a<br>b"

Know the limits

  • Escape the text first. Converting untrusted text to HTML without escaping is an injection risk — in a web page and in an HTML email.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Replace all line breaks with br elements from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Keeps the regular-expression variant; adds the escaping requirement. The React variant is not included. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.