---
name: "deroff"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/deroff"
---

# deroff(1)

remove nroff/troff, eqn, pic and tbl constructs

## NAME

**deroff** – remove nroff/troff, eqn, pic and tbl constructs

## SYNOPSIS

**deroff** \[**-ikpw**\]\[ **-m** *a* \| *e* \| *l* \| *m* \| *s*\] \[*file ...*\]

## DESCRIPTION

**deroff** reads each file in sequence and removes all roff command lines, backslash constructions, macro definitions, eqn constructs (between “.EQ” and “.EN” lines or between delimiters), pic pictures, and table descriptions and writes the remainder to the standard output. **deroff** follows chains of included files( “.so” and “.nx” commands); if a file has already been included, a “.so” is ignored and a “.nx” terminates execution. If no input file is given, **deroff** reads from the standard input.

The options are as follows:

- **-i**

  Ignore “.so” and “.nx” commands.

- **-k**

  Keep blocks of text intact. This is the default behavior unless the **-m** option is given.

- **-m**

  Enable support for common macro packages. The **-m** option takes the following arguments:

  - a

    recognize [man(7)](/man/7.md) macros.

  - e

    recognize me macros.

  - l

    remove list constructs.

  - m

    recognize mm macros.

  - s

    recognize ms macros.

- **-p**

  Preserve paragraph macros. This option only has an effect if the **-m** option is also specified.

- **-w**

  Output a word list, one ‘word’ (string of letters, digits, and apostrophes, beginning with a letter; apostrophes are removed) per line, and all other characters ignored. Normally, the output follows the original, with the deletions mentioned above.

## SEE ALSO

[man(7)](/man/7.md)

## HISTORY

**deroff** first appeared outside of Bell Labs in PWB/UNIX 1.0. It did not appear in freely redistributable BSD releases for licensing reasons. After Caldera relicensed early UNIX releases the 4.4BSD version was added to OpenBSD 3.1.

## AUTHORS

Lorinda Cherry at the Bell Labs Computing Science Research Center.

## BUGS

**deroff** is not a complete troff interpreter, so it can be confused by subtle constructs. Most errors result in too much rather than too little output.

The **-ml** option does not correctly handle nested lists.
