OS Manuals

/usr/bin/od

GNU core utilities

From coreutils 9.12-r7 (os), captured 2026-11-05 by running od --help (exit 0). permalink

Also provided by 1 other package version
Usage: /usr/bin/od [OPTION]... [FILE]...
  or:  /usr/bin/od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
  or:  /usr/bin/od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]

Write an unambiguous representation, octal bytes by default,
of FILE to standard output.  With more than one FILE argument,
concatenate them in the listed order to form the input.

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

If first and second call formats both apply, the second format is assumed
if the last operand begins with + or (if there are 2 operands) a digit.
An OFFSET operand means -j OFFSET.  LABEL is the pseudo-address
at first byte printed, incremented when dump is progressing.
For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;
suffixes may be . for octal and b for multiply by 512.

Mandatory arguments to long options are mandatory for short options too.
  -A, --address-radix=RADIX
         output format for file offsets;
         RADIX is one of [doxn], for Decimal, Octal, Hex or None
      --endian={big|little}
         swap input bytes according the specified order
  -j, --skip-bytes=BYTES
         skip BYTES input bytes first
  -N, --read-bytes=BYTES
         limit dump to BYTES input bytes
  -S BYTES, --strings[=BYTES]
         show only NUL terminated strings
         of at least BYTES (default 3) printable characters
  -t, --format=TYPE
         select output format or formats
  -v, --output-duplicates
         do not use * to mark line suppression
  -w[BYTES], --width[=BYTES]
         output BYTES bytes per output line;
         32 is implied when BYTES is not specified
      --traditional
         accept arguments in third form above
      --help
         display this help and exit
      --version
         output version information and exit


Traditional format specifications may be intermixed; they accumulate:
  -a   same as -t a,  select named characters, ignoring high-order bit
  -b   same as -t o1, select octal bytes
  -c   same as -t c,  select printable characters or backslash escapes
  -d   same as -t u2, select unsigned decimal 2-byte units
  -f   same as -t fF, select floats
  -i   same as -t dI, select decimal ints
  -l   same as -t dL, select decimal longs
  -o   same as -t o2, select octal 2-byte units
  -s   same as -t d2, select decimal 2-byte units
  -x   same as -t x2, select hexadecimal 2-byte units


TYPE is made up of one or more of these specifications:
  a          named character, ignoring high-order bit
  c          printable character or backslash escape
  d[SIZE]    signed decimal, SIZE bytes per integer
  f[SIZE]    floating point, SIZE bytes per float
  o[SIZE]    octal, SIZE bytes per integer
  u[SIZE]    unsigned decimal, SIZE bytes per integer
  x[SIZE]    hexadecimal, SIZE bytes per integer

SIZE is a number.  For TYPE in [doux], SIZE may also be C for
sizeof(char), S for sizeof(short), I for sizeof(int) or L for
sizeof(long).  If TYPE is f, SIZE may also be B for Brain 16 bit,
H for Half precision float, F for sizeof(float), D for sizeof(double),
or L for sizeof(long double).

Adding a z suffix to any type displays printable characters at the end of
each output line.


BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:
  b    512
  KB   1000
  K    1024
  MB   1000*1000
  M    1024*1024
and so on for G, T, P, E, Z, Y, R, Q.
Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

Report bugs to: <bug-coreutils@gnu.org>.
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Full documentation <https://www.gnu.org/software/coreutils/od>
or available locally via: info '(coreutils) od invocation'
Options (21)
OptionDescriptionSource
-A, --address-radix RADIXoutput format for file offsets;help + man
--endian big|littleswap input bytes according the specified orderhelp + man
-j, --skip-bytes BYTESskip BYTES input bytes firsthelp + man
-N, --read-bytes BYTESlimit dump to BYTES input byteshelp + man
-S, --strings BYTESshow only NUL terminated strings of at least BYTES (default 3) printable charactershelp
-t, --format TYPEselect output format or formatshelp + man
-v, --output-duplicatesdo not use * to mark line suppressionhelp + man
-w, --width BYTESoutput BYTES bytes per output line;help
--traditionalaccept arguments in third form abovehelp + man
--helpdisplay this help and exithelp + man
--versionoutput version information and exithelp + man
-asame as -t a, select named characters, ignoring high-order bithelp + man
-bsame as -t o1, select octal byteshelp + man
-csame as -t c, select printable characters or backslash escapeshelp + man
-dsame as -t u2, select unsigned decimal 2-byte unitshelp + man
-fsame as -t fF, select floatshelp + man
-isame as -t dI, select decimal intshelp + man
-lsame as -t dL, select decimal longshelp + man
-osame as -t o2, select octal 2-byte unitshelp + man
-ssame as -t d2, select decimal 2-byte unitshelp + man
-xsame as -t x2, select hexadecimal 2-byte unitshelp + man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.