Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022



fmt - simple text formatters


fmt [-cs] [-w width | -width] [inputfile]...


fmt is a simple text formatter that fills and joins lines to produce output lines of (up to) the number of characters specified in the –w width option. The default width is 72. fmt concatenates the inputfiles listed as arguments. If none are given, fmt formats text from the standard input.

Blank lines are preserved in the output, as is the spacing between words. fmt does not fill nor split lines beginning with a ‘.’ (dot), for compatibility with nroff(1). Nor does it fill or split a set of contiguous non-blank lines which is determined to be a mail header, the first line of which must begin with “From”.

Indentation is preserved in the output, and input lines with differing indentation are not joined (unless –c is used).

fmt can also be used as an in-line text filter for vi(1). The vi command:


reformats the text between the cursor location and the end of the paragraph.



Crown margin mode. Preserve the indentation of the first two lines within a paragraph, and align the left margin of each subsequent line with that of the second line. This is useful for tagged paragraphs.


Split lines only. Do not join short lines to form longer ones. This prevents sample lines of code, and other such formatted text, from being unduly combined.

–w width | width

Fill output lines to up to width columns.



Input file.

Environment Variables

See environ(7) for a description of the LC_CTYPE environment variable that affects the execution of fmt.


See attributes(7) for descriptions of the following attributes:


See Also

vi(1), nroff(1), attributes(7), environ(7)


The width option is acceptable for BSD compatibility, but it may go away in future releases.