od — dump files in octal and other formats


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.


GNU coreutils online help: <>

Report any translation bugs to <>


Full documentation <>

or available locally via: info '(coreutils) od invocation'


Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.