# Replace all line breaks with br elements

Turn LF and CRLF line breaks into <br>.

Canonical: https://1loc.dev/string/replace-all-line-breaks-with-br-elements/
Version: 1.0.0
Runtime: JavaScript · Node.js 22 / modern browsers
Verification: Local fixtures; no external services
Updated: 2026-10-28

## Implementation

```javascript
function nl2br(text) { return text.replace(/\r?\n/g, '<br>'); }
```

## Input

```json
"Line one\nLine two"
```

## Expected output

```json
"Line one<br>Line two"
```

## Edge case

Input:
```json
"a\r\nb"
```
Output:
```json
"a<br>b"
```

## 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 lab validates types and size before calling this function. Add equivalent validation at your own trust boundary.

## Source and license

Original: https://github.com/phuocng/1loc/blob/14b481cf60dff1620ab1bb99a43b1f68068cdd9b/contents/replace-all-line-breaks-with-br-elements.mdx
Author: Nguyen Huu Phuoc and original contributors
Contributors: See original repository history
Source commit: 14b481cf60dff1620ab1bb99a43b1f68068cdd9b
Copyright (c) 2020 phuoc-ng
License: MIT — https://1loc.dev/licenses/
Maintainer: Oveyon
Modifications: Keeps the regular-expression variant; adds the escaping requirement. The React variant is not included. Original MDX retained as inert source evidence.
