---
name: "column"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/column"
---

# column(1)

columnate lists

## NAME

**column** – columnate lists

## SYNOPSIS

**column** \[**-tx**\] \[**-c** *columns*\] \[**-l** *tblcols*\] \[**-s** *sep*\] \[*file ...*\]

## DESCRIPTION

The **column** utility formats its input into multiple columns. Rows are filled before columns. Input is taken from *file* operands, or, by default, from the standard input. Empty lines are ignored.

The options are as follows:

- **-c**

  Output is formatted for a display *columns* wide.

- **-l**

  When used with **-t**, limit the table to *tblcols* columns in width. The last column will contain the rest of the line, including any delimiters.

- **-s**

  Specify a set of characters to be used to delimit columns for the **-t** option.

- **-t**

  Determine the number of columns the input contains and create a table. Columns are delimited with whitespace, by default, or with the characters supplied using the **-s** option. Useful for pretty-printing displays.

- **-x**

  Fill columns before filling rows.

## ENVIRONMENT

The COLUMNS, LANG, LC\_ALL and LC\_CTYPE environment variables affect the execution of **column** as described in [environ(7)](/environ/7.md).

## EXIT STATUS

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

## EXAMPLES

```
(printf "PERM LINKS OWNER GROUP SIZE MONTH DAY " ; \
```

```
printf "HH:MM/YEAR NAME\n" ; \
```

```
ls -l | sed 1d) | column -t
```

## SEE ALSO

[colrm(1)](/colrm/1.md), [ls(1)](/ls/1.md), [paste(1)](/paste/1.md), [sort(1)](/sort/1.md)

## HISTORY

The **column** command appeared in 4.3BSD-Reno.

## BUGS

Input lines are limited to LINE\_MAX (2048) bytes in length.
