How to wrap text to a fixed width
Plain-text email, code comments and subtitle scripts all need lines that stay under a set width. This tool re-flows your text so that no line exceeds the width you choose, without splitting words apart. Blank lines are treated as paragraph breaks and kept exactly where they are.
Two ways to measure width exist because of East Asian text. In a monospace font, Hangul, Chinese characters, kana, fullwidth punctuation and most emoji occupy two columns each. Count characters alone and a line set to 80 can render 160 columns wide. The display width mode counts the Wide and Fullwidth ranges of the Unicode East Asian Width property as 2, which matches what you actually see. It approximates rather than covering every character, so pick character count when a plain per-character limit is what you need.
When a single word is longer than the width - a long URL, for example - it is left whole by default and that line overflows. The result says how many times that happened. Turn on the break option to split such words at a character boundary instead. Indentation and repeated spaces inside a line are collapsed to one space, and that is reported too.
Frequently asked questions
A single word in those lines is longer than 80 on its own. By default words are never split, so that line overflows. Turn on the break-long-words option to split them at a character boundary.
Every line is wrapped on its own, so existing breaks stay. If you want a paragraph re-flowed from scratch, join it into one line first with a line joiner, then wrap the result here.