Text Wrapper

Wrap plain text to a chosen visible-character width. Reflow paragraphs or keep original breaks, and optionally add a prefix and suffix to each output line.

Use 1–200 visible characters per line.
For example: > or // followed by a space. Prefix and suffix count toward the line width.
At most 100 visible characters; no line breaks. Leave empty for ordinary prose.

Text is processed locally in your browser and is not uploaded.

Output lines
4
Longest line
10
Page guide

How to use this tool

  1. Paste the text and choose a whole-number width from 1 to 200 visible characters.
  2. Choose reflow or original-line preservation, paragraph handling where available, and long-word handling. Optionally add literal prefix and suffix text.
  3. Review the live result and longest-line total, then copy or download. Output reuse supports another pass; Undo last replacement restores the prior input.

Understanding the output

The width includes prefix and suffix graphemes, leaving the remainder for text. Every non-empty wrapped line receives those literal affixes; blank separator lines stay empty. Reflow mode joins single hard breaks within a paragraph, while Keep each original line break wraps each source line independently and retains internal blank lines. Both remove outer whitespace and collapse internal word spacing. Keep the word intact may still produce lines wider than the selected limit.

Wrapping two short paragraphs

At width 10, One two three four wraps into One two and three four on separate lines. A blank line before Five six remains a paragraph break when preservation is enabled. The result has four lines including the blank separator, and the longest line contains ten characters.

Hard wrapping changes the text itself

A narrow editing window can visually wrap a line without inserting a newline. This tool inserts actual LF line breaks into the output. That can be useful for plain-text notes, but it also changes copied content and may be inappropriate for code, Markdown tables, or data records where spaces and newlines have meaning. Keep an original copy when layout is significant.

Character width is different from visual width

Letters in a proportional font occupy different pixel widths, and some East Asian characters occupy two terminal columns. This wrapper treats each grapheme as one unit, including a joined emoji sequence. It therefore creates a text-length boundary rather than guaranteeing equal-looking lines in every application. Test the result in the editor or terminal where it will be used.

Add quote or comment markers within the width

A prefix such as > followed by a space can mark quoted text; // followed by a space can prepare a simple comment. The marker counts toward the line width. Affixes are inserted literally, without escaping, and existing indentation is not preserved. Check the result in the receiving editor because visible-character counts do not guarantee terminal-column or pixel alignment.

Method and supported input

Line endings normalize to LF and outer whitespace is trimmed. Reflow mode separates optional blank-line paragraphs; preserve-line mode processes each original line independently. Internal whitespace collapses to single spaces between words.

Greedy wrapping uses grapheme counts after reserving width for prefix and suffix. Split mode breaks long words only between grapheme clusters, without hyphens. Affixes cannot contain newlines, are limited to 100 graphemes each, and must leave at least one text position. Output is capped at one million UTF-16 code units.

  • Whitespace separates words and blank lines separate prose paragraphs.
  • A grapheme-count width is suitable for the receiving application.

Limitations

  • Indentation, tabs, and multiple internal spaces are not preserved.
  • Split mode can break URLs or identifiers into pieces; keep long words intact when that would be harmful.
  • The tool does not understand list indentation, syntax, or language-specific hyphenation.

Common questions

Why is one line longer than my width?

Keep the word intact permits a word longer than the selected width on its own line. Choose splitting if every line must fit the grapheme limit.

Will a family emoji be split apart?

No. Segmentation keeps its grapheme cluster together. One cluster may still occupy more than one display column.

Can I preserve every original line break?

Yes. Choose Keep each original line break. Each line wraps independently, and internal blank lines remain. Outer whitespace, indentation and repeated word spacing are still normalized.

Sources and further reading

Reviewed on