od — dump files in octal and other formats

Examples (TL;DR)


od [OPTION]... [FILE]...
od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
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


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]

output strings of at least BYTES graphic chars; 3 is implied when BYTES is not specified

-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


accept arguments in third form above


display this help and exit


output version information and exit

Traditional format specifications may be intermixed; they accumulate


same as -t a,  select named characters, ignoring high-order bit


same as -t o1, select octal bytes


same as -t c,  select printable characters or backslash escapes


same as -t u2, select unsigned decimal 2-byte units


same as -t fF, select floats


same as -t dI, select decimal ints


same as -t dL, select decimal longs


same as -t o2, select octal 2-byte units


same as -t d2, select decimal 2-byte units


same as -t x2, select hexadecimal 2-byte units

TYPE is made up of one or more of these specifications


named character, ignoring high-order bit


printable character or backslash escape


signed decimal, SIZE bytes per integer


floating point, SIZE bytes per float


octal, SIZE bytes per integer


unsigned decimal, SIZE bytes per integer


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 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











and so on for G, T, P, E, Z, Y. Binary prefixes can be used, too: KiB=K, MiB=M, and so on.


od -A x -t x1z -v

Display hexdump format output

od -A o -t oS -w16

The default output format used by od


Written by Jim Meyering.

Reporting Bugs

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

See Also

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

Referenced By

editcap(1), file(1), hexedit(1), scr_dump(5), spew(1), tcpbug(1), text2pcap(1).

October 2019 GNU coreutils 8.31