---
name: "spell"
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/spell"
---

# spell(1)

find spelling errors

## NAME

**spell** – find spelling errors

## SYNOPSIS

**spell** \[**-biltvx**\] \[**-d** *list*\] \[**-h** *spellhist*\]\[ **-m** *a* \| *e* \| *l* \| *m* \| *s*\] \[**-s** *list*\] \[+*extra\_list*\] \[*file ...*\]

## DESCRIPTION

**spell** collects words from the named documents and looks them up in a spelling list. Words that neither occur among nor are derivable (by applying certain inflections, prefixes or suffixes) from words in the spelling list are printed on the standard output.

If no files are named, words are collected from the standard input. **spell** ignores most troff, tbl, eqn, and pic constructions. Copies of all output may be accumulated in the history file, if one is specified.

By default, **spell** (like [deroff(1)](/deroff/1.md)) follows chains of included files( “.so” and “.nx” commands).

The default spelling list is based on Webster's Second International dictionary and should be fairly complete. Words that appear in the “stop list” are immediately flagged as misspellings, regardless of whether or not they exist in one of the word lists. This helps filter out misspellings (e.g. thier=thy-y+ier) that would otherwise pass. Additionally, the *british* file is also used as a stop list unless the **-b** option is specified.

Site administrators may add words to the local word list, */usr/local/share/dict/words* or the local stop list, */usr/local/share/dict/stop*.

All word (and stop) lists must be sorted in lexicographical order with case folded. The simplest way to achieve this is to use “sort -df”. If the word files are incorrectly sorted, **spell** will not be able to operate correctly.

The options are as follows:

- **-b**

  Check British spelling. Besides preferring *centre*, *colour*, *speciality*, *travelled*, etc., this option insists upon **-ise** in words like *standardise*, Fowler and the OED to the contrary notwithstanding. In this mode, American variants of words are added to the stop list.

- **-d** *list*

  Use the specified word list instead of the default system word list. The word list must be sorted as specified above.

- **-h** *spellhist*

  Store misspelled words in the specified history file. The output of who -m is appended to the history file after the list of misspelled words.

- **-i**

  Instruct [deroff(1)](/deroff/1.md) to ignore “.so” and “.nx” commands.

- **-l**

  Use **delatex** instead of [deroff(1)](/deroff/1.md) if it is present on the system.

- **-m**

  Enable support for common troff macro packages; this option is passed verbatim to [deroff(1)](/deroff/1.md). Refer to the **-m** description in [deroff(1)](/deroff/1.md) for details.

- **-s** *list*

  Use the specified stop list instead of the default system stop list. The stop list must be sorted as specified above.

- **-t**

  Use **detex** instead of [deroff(1)](/deroff/1.md) if it is present on the system.

- **-v**

  Print all words not literally in the spelling list in addition to plausible derivations from spelling list words.

- **-x**

  Print every plausible stem, prefixed with ‘=’.

- \+*extra\_list*

  Use *extra\_list* in addition to the default word list. The extra word list must be sorted as specified above.

## FILES

- */usr/share/dict/words*

  Default spelling list.

- */usr/share/dict/american*

  American spelling of certain words.

- */usr/share/dict/british*

  British spelling of certain words.

- */usr/share/dict/stop*

  Default stop list.

- */usr/local/share/dict/words*

  Local spelling list (optional).

- */usr/local/share/dict/stop*

  Local stop list (optional).

- */usr/libexec/spellprog*

  Binary executed by the shell script */usr/bin/spell*.

## SEE ALSO

[deroff(1)](/deroff/1.md), [look(1)](/look/1.md), [sed(1)](/sed/1.md), [sort(1)](/sort/1.md), [tee(1)](/tee/1.md)

## HISTORY

The **spell** command first appeared in Version 5 AT&T UNIX. 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.

Unlike historic versions, the OpenBSD **spell** command does not use hashed word files. Instead, it uses lexicographically sorted files and the same technique as [look(1)](/look/1.md).

## BUGS

The spelling list lacks many technical terms; new installations will probably wish to monitor the output for several months to gather local additions.

British spelling was done by an American.

In **-x** mode it would be nicer if the stems were grouped with the appropriate word.
