Add Line Numbers to Text is a browser tool that prefixes every logical line with a sequential number, accepts up to 1,000,000 characters, and exports the result as a UTF-8 TXT file. It handles the full text workflow in one place: paste or type the source, choose where the sequence begins, decide what appears between each number and the original line, and turn on leading-zero padding when aligned identifiers are useful. The preview is not an approximation; it shows the exact transformed string that will be downloaded. Blank lines and whitespace-only lines receive numbers too, so references stay tied to the original line structure. Windows CRLF, classic Mac CR, and Unix LF boundaries are recognized, while the generated output consistently uses LF line endings. All numbering and file creation happen locally in the browser, and your pasted text is not sent to Lizely. That makes the tool suitable for sensitive working copies as well as routine drafts, provided the content is text and the job is to create stable line identifiers. Your pasted text is not sent to Lizely.
Use the Add Line Numbers to Text tool when you need to cite a particular line in a transcript, mark a passage for review, prepare classroom material, or make a plain-text draft easier to navigate. It is a text transformer rather than a document formatter: it adds a sequential prefix to each logical line while leaving the original line content untouched. That makes it a good fit for code-review references, support logs, scripts, poems, legal-review working copies, and other workflows that need dependable line identifiers.

Choose a numbering format that fits the text
The available settings give you control over the sequence and its appearance without changing the source text. The following values define the supported inputs and output:
| Setting | Supported behavior |
|---|---|
| Input text | Paste or type up to 1,000,000 characters. |
| Starting number | A whole non-negative integer from 0 to 999999, with at most six digits. |
| Separator | A literal separator of up to 20 Unicode characters; it may be empty. |
| Leading zeros | Optional; the width follows the digit width of the final number in the sequence. |
| Download | UTF-8 plain text with LF line endings and no byte-order mark. |
The separator is inserted exactly between the generated number and the untouched original line. It can contain spaces, punctuation, a tab pasted by the user, or no characters at all, but it cannot exceed 20 Unicode characters. It is treated literally: its characters are not escaped or interpreted as regular expressions. Common choices include a period and space, a colon, a vertical bar, or a tab. Generated numbers use ordinary base-ten digits without locale separators.
With leading-zero padding enabled, every numeric prefix uses the digit width of the final number in the result. This keeps the sequence aligned without changing the original line text. Turning padding off gives each number its natural width. The six-digit restriction applies only to the starting value entered by the user. If later sequence values exceed six digits, the tool continues normally rather than wrapping or truncating them.
Number text from paste to download
Follow this sequence to create a numbered copy of your text:
- Paste or type your text. Place the content in the input area, whether it is a short excerpt, a script, a transcript, or a larger plain-text document. The accepted input size is up to 1,000,000 characters.
- Set the numbering options. Choose the starting number, enter the separator you want between each number and its line, and enable or disable leading-zero padding. The starting value can range from 0 to 999999, and the separator can be up to 20 Unicode characters.
- Generate and inspect the result. Select Add line numbers to create the transformed text. The preview shows the exact result, including numbered blank lines, normalized LF endings, and the separator characters you selected.
- Download the numbered copy. Download the UTF-8 plain-text file when the preview is correct. The result is ready for references, sharing, or use in another application that accepts TXT files.
Understand the line-by-line result
Every logical line receives the next number, even when it contains no visible characters. For a whitespace-only line, only the original content after the number and separator remains whitespace-only. The tool does not trim line content, collapse repeated spaces, or reinterpret tabs. This preserves the original layout while adding the reference marker.
For example, starting at 1 and using a colon and space as the separator, source lines containing “alpha,” an empty line, and “beta” become three numbered output lines: “1: alpha,” a second line containing only “2: ” with no original text after it, and “3: beta.” The empty position is still numbered, which makes it possible to discuss that exact location later.
A trailing newline at the end of the input creates a final empty logical line, and that line is numbered rather than silently discarded. CRLF, lone CR, and lone LF boundaries are all recognized. The preview and downloaded file then join the output lines with a single LF character, so the original mixture of newline styles is normalized rather than reproduced byte for byte.
Check the preview before downloading
The preview uses preformatted wrapping, which keeps spaces and line breaks inspectable. A long line can wrap visually without gaining extra newline characters in the downloaded file. Before saving the result, check these details:
- The first number matches the chosen starting value.
- Numbers increase by one for every logical line.
- Empty and whitespace-only lines have prefixes.
- The separator appears exactly where selected.
- Visual wrapping has not changed the underlying line structure.
Generating a result does not modify the input area. If you edit a setting afterward, the previous result is cleared and its download URL is revoked, preventing an outdated file from being mistaken for the current output. The downloaded file is plain UTF-8 text without a byte-order mark; rich formatting, syntax highlighting, spreadsheet columns, and document-file structures are outside its scope.
Set up common kinds of numbered text
The same transformation can serve different jobs, although the most readable separator and padding style depend on how the numbered copy will be used.
| Use case | What to preserve | Useful format choice |
|---|---|---|
| Code-review reference | Number every logical source line, including blank rows, so comments map to the pasted source. | A colon or vertical bar clearly separates the reference number from the code. |
| Transcript or support log | Keep empty positions in the record so each entry remains connected to its source location. | A period and space or colon is straightforward to scan. |
| Poetry or script draft | Retain stanza breaks, script structure, indentation, and spacing while adding a reference marker. | Turn padding off unless fixed-width prefixes improve the layout. |
| Classroom or legal-review copy | Create stable identifiers for discussion or review of a plain-text working copy. | Enable padding when a fixed-width number column makes comparison easier. |
These are starting choices rather than automatic rules. The tool does not infer a citation style, classify the document, or alter the original wording to suit a particular use case. You remain in control of the starting value, separator, and padding.
Know what the tool does not change
This is sequential line prefixing, not intelligent list cleanup. If the source already contains numbering, the tool adds another numeric prefix instead of detecting and renumbering the existing list. It also does not count only non-empty lines, add page numbers, preserve mixed newline bytes in the output, or create formatted word-processing and spreadsheet documents.
For counting rather than transforming, use Line Counter instead. If the real requirement is to place arbitrary literal text before or after every line, use Add Prefix and Suffix to Lines. Add Line Numbers to Text is specifically for sequential numeric identifiers.
Privacy, limits, and troubleshooting
Numbering, preview generation, and TXT file creation happen entirely in your browser. Your pasted text is not uploaded to Lizely. This local processing model avoids sending working copies to a remote server while still producing a downloadable result.
You will see a visible error instead of output when the input is empty, the starting number is invalid, or the separator is too long. An invalid starting number is not a whole non-negative value in the supported range, or it contains more than six digits. The input limit keeps browser work responsive and memory use predictable for large documents.
If an error appears, correct the input or setting and generate the file again. After changing the source text, regenerate the result before downloading so that the file and preview remain synchronized. With those checks in place, the numbered TXT file provides a simple, portable way to reference individual lines without uploading sensitive content.
For a deeper look, see Add Prefix to Each Line Safely: Predictable Results.
For a deeper look, see Create Multiple Text Files at Once: Command Line vs Online.