---
name: "uu-numfmt"
section: "1"
platform: "linux"
package: "uutils-coreutils"
version: "0.12.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/uu-numfmt"
---

# uu-numfmt(1)

Convert numbers from/to human-readable strings

## NAME

numfmt - Convert numbers from/to human-readable strings

## SYNOPSIS

**numfmt** \[OPTION\]... \[NUMBER\]...

## DESCRIPTION

Convert numbers from/to human-readable strings

## OPTIONS

- **--debug**

  print warnings about invalid input

- **--grouping**

  use locale-defined grouping of digits, for example 1,000,000 (which means it has no effect in the C/POSIX locale)

- **-d**, **--delimiter** *\<X\>*

  use X instead of whitespace for field delimiter

- **--field** *\<FIELDS\>* \[default: 1\]

  replace the numbers in these input fields; see FIELDS below

- **--format** *\<FORMAT\>*

  use printf style floating-point FORMAT; see FORMAT below for details

- **--from** *\<UNIT\>* \[default: none\]

  auto-scale input numbers to UNITs; see UNIT below

- **--from-unit** *\<N\>* \[default: 1\]

  specify the input unit size

- **--to** *\<UNIT\>* \[default: none\]

  auto-scale output numbers to UNITs; see UNIT below

- **--to-unit** *\<N\>* \[default: 1\]

  the output unit size

- **--padding** *\<N\>*

  pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found

- **--header**\[=*\<N\>*\]

  print (without converting) the first N header lines; N defaults to 1 if not specified

- **--round** *\<METHOD\>* \[default: from-zero\]

  use METHOD for rounding when scaling

  *Possible values:*

  - •

    up

  - •

    down

  - •

    from-zero

  - •

    towards-zero

  - •

    nearest

- **--suffix** *\<SUFFIX\>*

  print SUFFIX after each formatted number, and accept inputs optionally ending with SUFFIX

- **--unit-separator** *\<STRING\>*

  use STRING to separate the number from any unit when printing; by default, no separator is used

- **--invalid** *\<INVALID\>* \[default: abort\]

  set the failure mode for invalid input

  *Possible values:*

  - •

    abort

  - •

    fail

  - •

    warn

  - •

    ignore

- **-z**, **--zero-terminated**

  line delimiter is NUL, not newline

- **-h**, **--help**

  Print help

- **-V**, **--version**

  Print version

## EXTRA

UNIT options:

\- none: no auto-scaling is done; suffixes will trigger an error

\- auto: accept optional single/two letter suffix:

    1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576,

\- si: accept optional single letter suffix:

    1K = 1000, 1M = 1000000, ...

\- iec: accept optional single letter suffix:

    1K = 1024, 1M = 1048576, ...

\- iec-i: accept optional two-letter suffix:

    1Ki = 1024, 1Mi = 1048576, ...

\- FIELDS supports [cut(1)](/cut/1.md) style field ranges:

    N N'th field, counted from 1\
     N- from N'th field, to end of line\
     N-M from N'th to M'th field (inclusive)\
     \-M from first to M'th field (inclusive)\
     \- all fields

Multiple fields/ranges can be separated with commas

FORMAT must be suitable for printing one floating-point argument %f. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional zero (%010f) width will zero pad the number. Optional negative values (%-10f) will left align. Optional precision (%.1f) will override the input determined precision.

## VERSION

v(uutils coreutils) 0.12.0
