Prepend a line number to each line of a text document

Number lines from 1, right-aligned to two characters.

JavaScript Version 1.0.0 · MIT · .md

prepend-a-line-number-to-each-line-of-a-text-document.js
function prependNumbers(text) { return text.split(/\r?\n/).map((line, i) => `${String(i + 1).padStart(2, ' ')} ${line}`).join('\n'); }

Input & expected output

Input

"alpha\nbeta"

Expected output

" 1 alpha\n 2 beta"

The edge case

Input

""

Expected output

" 1 "

Know the limits

  • Numbers above 99 widen the gutter. An empty text is one empty line.

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 Prepend a line number to each line of a text document from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Curated implementation; explicit input contract, edge case and limits. 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”.