Input
Numbered Output
100% Private
All processing happens locally in your browser.
Add line numbers to text online for free. Multiple formats, custom start number, zero padding, and skip empty lines.
Written & reviewed by Helperzy Editorial Team · Updated July 2026
Input
Numbered Output
100% Private
All processing happens locally in your browser.
Paste the code, passage or list you want numbered. Output rebuilds as you type, so inserting a line renumbers everything below it automatically.
Pick one of the five prefix styles, set the start number to match your source if this is an excerpt, and enable zero padding plus skip-empty-lines as needed.
Copy or download the numbered text for your review comment, handout or contract. Remember to strip the prefixes before pasting numbered code back into an editor.
This puts a sequential number in front of every line of your text. It sounds trivial, and numbering ten lines by hand is trivial — until you insert a line in the middle and have to renumber everything below it. That is the problem this solves. Developers use it to make a pasted snippet referable, so a review comment can say line 14 rather than describing the location in prose. Teachers number a poem or a prose passage so a whole class can look at the same line. Technical writers and legal drafters number clauses for precise citation. Anyone writing instructions gets steps people can point at. The process splits your text on line breaks, walks the resulting array, and builds a prefix for each entry from your chosen settings. Five prefix styles are available: a number with a full stop, with a closing bracket, with a colon, wrapped in square brackets, or bare with nothing attached. The start value is yours to set, so an excerpt can carry the numbers it had in the original document rather than restarting at 1. Zero padding calculates the width of the highest number in the set and pads every other number with leading zeros to match, which keeps the text edge aligned. The skip-empty-lines option leaves blank lines unnumbered so gaps between sections do not consume a count. Output rebuilds as you type, so editing the text renumbers everything immediately. A worked example. Paste four lines: import os, then a blank line, then def main():, then return 0. Set the format to the bracketed style, the start number to 8, and turn on skip empty lines. The output reads [08] import os, then the blank line untouched, then [09] def main():, then [10] return 0. Three content lines received numbers 8, 9 and 10, the blank line was skipped rather than becoming number 9, and zero padding made 8 and 9 two digits wide so they line up with 10. Turn skip-empty off and the blank line takes number 9, pushing the last line to 11. Specific situations. A developer pasting a 60-line function into a bug report numbers it so the reviewer can reference the exact failing line. An English teacher numbers a 28-line sonnet for a close-reading exercise where pupils cite line numbers in their answers. A contract drafter numbers 40 clauses so amendments can refer to clause 23 unambiguously. A trainer writing an installation guide numbers 15 steps so support calls can start with which step failed. A researcher quoting an excerpt from page 4 of a transcript sets the start number to 112 so the numbering matches the source document. A translator working through a subtitle file numbers each caption line so the client can flag corrections by number instead of quoting whole lines of text back in an email. Turn zero padding on whenever the text runs past nine lines, because otherwise single-digit numbers sit a character short and the whole block looks ragged. Set the start number rather than accepting 1 when your text is an extract, since mismatched numbering causes more confusion than no numbering at all. The one real gotcha is that the numbers become ordinary text in the output. Paste numbered code straight back into an editor and it will not compile, because every line now begins with a prefix the language does not understand. Strip the prefixes first, or keep the numbered version only for the document where you are discussing the code rather than for the file you actually run. Processing runs in your browser with no length limit, and nothing you paste is uploaded, stored or logged.
Input
Four lines (import os / blank / def main(): / return 0) · Format [n] · Start at 8 · Zero padding on · Skip empty lines on
Result
[08] import os · (blank line, unnumbered) · [09] def main(): · [10] return 0
Three content lines take numbers 8, 9 and 10 while the blank line is skipped; padding matches the two-digit width of the highest number so 08 and 09 align with 10.
Yes. Set any starting number in the 'Start From' field, which is useful when your text is an excerpt that continues from an earlier section of a larger document. The line numbers will then match the original source instead of always beginning at 1.
Count words, characters, sentences, paragraphs & reading time. Supports PDF, DOCX, PPTX uploads. Multilingual — works with Hindi, Arabic, Chinese & more.
Text Repeater repeats any text multiple times online for free. Set custom separator and line breaks between repetitions.
Convert text to speech online for free. Multiple voices, adjustable speed and pitch. Listen to any text read aloud in your browser.
Find and replace text online for free. Supports regex, case-sensitive matching, whole word search, and undo history.
Image Resizer changes image dimensions online — set exact pixels, use percentage scaling, or pick from 12 presets (Instagram, Passport, YouTube, etc.). Target specific file sizes like 50KB or 100KB. Batch resize multiple images. 100% free, browser-based.
Image Converter changes images between any format online free — JPG, PNG, WebP, AVIF, PDF, ICO, BMP, HEIC, GIF, SVG. Batch conversion, resize, rotate, flip, AI format recommendation. 100% browser-based, no upload.
Convert JPG to WebP format online free — reduce image file size by 25-35% with identical visual quality. Batch conversion, adjustable quality, lossless mode available. Boost website speed and Core Web Vitals scores. 100% browser-based, no upload needed.
Convert PNG to WebP format online free — reduce file size by 26-34% while preserving full transparency. Batch conversion, lossless and lossy modes, adjustable quality. Boost website performance and Core Web Vitals. 100% browser-based, no upload needed.