---
name: "unexpand"
section: "1"
platform: "linux"
package: "coreutils"
version: "9.12-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/unexpand"
---

# unexpand(1)

convert spaces to tabs

## NAME

unexpand - convert spaces to tabs

## SYNOPSIS

**unexpand** \[*OPTION*\]... \[*FILE*\]...

## DESCRIPTION

Convert blanks in each FILE to tabs, writing to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

- **-a, --all**

  convert all blanks, instead of just initial blanks

- **--first-only**

  convert only leading sequences of blanks (overrides **-a**)

- **-t, --tabs=N**

  have tabs N characters apart instead of 8 (enables **-a**)

- **-t, --tabs=LIST**

  use comma separated list of tab positions. The last specified position can be prefixed with '/' to specify a tab size to use after the last explicitly specified tab stop.  Also a prefix of '+' can be used to align remaining tab stops relative to the last specified tab stop instead of the first column

- **--help**

  display this help and exit

- **--version**

  output version information and exit

## AUTHOR

Written by David MacKenzie.

## REPORTING BUGS

Report bugs to: \<bug-coreutils@gnu.org\>.\
 Report any translation bugs to: \<https://translationproject.org/team/\>.\
 GNU coreutils home page: \<https://www.gnu.org/software/coreutils/\>\
 General help using GNU software: \<https://www.gnu.org/gethelp/\>

## COPYRIGHT

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \<https://gnu.org/licenses/gpl.html\>.\
 This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

## SEE ALSO

[**expand**(1)](/expand/1.md)

Full documentation \<https://www.gnu.org/software/coreutils/unexpand\>\
 or available locally via: info '(coreutils) unexpand invocation'
