---
name: "fmt"
section: "1plan9"
platform: "linux"
package: "9base"
version: "1:6-14"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fmt/1plan9"
---

# fmt(1plan9)

simple text formatters

## NAME

fmt, htmlfmt - simple text formatters

## SYNOPSIS

**fmt** \[ *option ...* \] \[ *file ...* \]

**htmlfmt** \[ **-a** \] \[ **-c** *charset* \] \[ **-u** *url* \] \[ *file ...* \]

## DESCRIPTION

*Fmt* copies the given *files* (standard input by default) to its standard output, filling and indenting lines. The options are

- **-l** *n*

  Output line length is *n*, including indent (default 70).

- **-w** *n*

  A synonym for **-l**.

- **-i** *n*

  Indent *n* spaces (default 0).

- **-j**

  Do not join short lines: only fold long lines.

Empty lines and initial white space in input lines are preserved. Empty lines are inserted between input files.

*Fmt* is idempotent: it leaves already formatted text unchanged.

*Htmlfmt* performs a similar service, but accepts as input text formatted with HTML tags. It accepts *fmt*'s **-l** and **-w** flags and also:

- **-a**

  Normally *htmlfmt* suppresses the contents of form fields and anchors (URLs and image files); this flag causes it to print them, in square brackets.

- **-c** *charset*

  change the default character set from iso-8859-1 to *charset*. This is the character set assumed if there isn't one specified by the html itself in a \<meta\> directive.

- **-u** *url*

  Use *url* as the base URL for the document when displaying anchors; sets **-a***.*

## SOURCE

**/src/cmd/fmt.c**

**/src/cmd/htmlfmt**

## BUGS

*Htmlfmt* makes no attempt to render the two-dimensional geometry of tables; it just treats the table entries as plain, to-be-formatted text.
