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

# fold(1)

fold long lines for finite width output device

## NAME

**fold** – fold long lines for finite width output device

## SYNOPSIS

**fold** \[**-bs**\] \[**-w** *width*\] \[*file ...*\]

## DESCRIPTION

**fold** is a filter which folds the contents of the specified files, or the standard input if no files are specified, breaking the lines to have a maximum of 80 display columns.

The options are as follows:

- **-b**

  Count *width* in bytes rather than column positions.

- **-s**

  If an output line would be broken after a non-blank character but contains at least one blank character, break the line earlier, after the last blank character. This is useful to avoid line breaks in the middle of words, if possible.

- **-w** *width*

  Specifies a line width to use instead of the default of 80.

Unless **-b** is specified, a backspace character decrements the column position by one, a carriage return resets the column position to zero, and a tab advances the column position to the next multiple of eight.

## ENVIRONMENT

- LC\_CTYPE

  The character encoding [locale(1)](/locale/1.md). It decides which byte sequences form characters and what their display width is. If unset or set to "C", "POSIX", or an unsupported value, each byte except backspace, tab, newline, and carriage return is treated as a character of display width 1.

## EXIT STATUS

The **fold** utility exits 0 on success, and \>0 if an error occurs.

## SEE ALSO

[expand(1)](/expand/1.md), [fmt(1)](/fmt/1.md)

## STANDARDS

The **fold** utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.

## HISTORY

The **fold** utility first appeared in 1BSD. It was rewritten for 4.3BSD-Reno to improve speed and modernize style. The **-b** and **-s** options were added to NetBSD 1.0 for IEEE Std 1003.2 (“POSIX.2”) compliance.

## AUTHORS

Bill Joy wrote the original version of **fold** on June 28, 1977. Kevin Ruddy rewrote the command in 1990, and J. T. Conklin added the missing options in 1993.

## BUGS

Traditional [roff(7)](/roff/7.md) output semantics, implemented both by GNU nroff and by [mandoc(1)](/mandoc/1.md), only uses a single backspace for backing up the previous character, even for double-width characters. The **fold** backspace semantics required by POSIX mishandles such backspace-encoded sequences, breaking lines early. The [fmt(1)](/fmt/1.md) utility provides similar functionality and does not suffer from that problem, but isn't standardized by POSIX.
