OD(1)
๐ NAME ๐
od โ dump files in octal and other formats. that's the whole pitch bestie, she just dumps bytes and she does it unambiguously โจ
๐ SYNOPSIS ๐
od [OPTION]... [FILE]...
od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]
๐ฆ DESCRIPTION ๐ฆ
okay so here's the tea: od writes an unambiguous representation of FILE to standard output, and it's octal bytes by default. unambiguous as in: every single byte is on the record, no vibes-based guessing, no hiding. ๐ซถ
hand it more than one FILE argument and it concatenates them in the listed order to form the input. not alphabetical, not by size, literally the order you typed them. main character energy only.
with no FILE, or when FILE is -, it reads standard input. yes, pipes work, we love her for that ๐
if the 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. she's just like that.
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. no cap.
mandatory arguments to long options are mandatory for short options too. (same as every other GNU coreutils page, it's giving consistency ๐)
โจ OPTIONS โจ
-A,--address-radix=RADIXโ sets the output format for the file offsets. RADIX is one of[doxn], for Decimal, Octal, Hex or None. pick your fighter ๐--endian={big|little}โ swaps input bytes according to the specified order. yes you can make it read backwards on purpose, icon behavior-j,--skip-bytes=BYTESโ skips BYTES input bytes first. hopscotch ๐-N,--read-bytes=BYTESโ limits the dump to BYTES input bytes. she stops when she's done-S BYTES,--strings[=BYTES]โ show only NUL terminated strings of at least BYTES (default3) printable characters. little string-hunting moment ๐-t,--format=TYPEโ selects the output format or formats-v,--output-duplicatesโ do not use*to mark line suppression. she shows you every single duplicate line, obsessed-w[BYTES],--width[=BYTES]โ output BYTES bytes per output line;32is implied when BYTES is not specified--traditionalโ accept arguments in the third form above--helpโ display this help and exit--versionโ output version information and exit
๐ธ TRADITIONAL FORMAT SPECIFICATIONS ๐ธ
traditional format specifications may be intermixed; they accumulate. stack 'em, they add up, no conflict:
-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 SPECIFICATIONS ๐ง
TYPE is made up of one or more of these specifications:
aโ named character, ignoring high-order bitcโ printable character or backslash escaped[SIZE]โ signed decimal, SIZE bytes per integerf[SIZE]โ floating point, SIZE bytes per floato[SIZE]โ octal, SIZE bytes per integeru[SIZE]โ unsigned decimal, SIZE bytes per integerx[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). so many letters, so much power ๐ฅ
adding a z suffix to any type displays printable characters at the end of each output line. the little cherry on top ๐
๐ BYTES AND ITS MULTIPLIERS ๐
BYTES is hex with a 0x or 0X prefix, and may have a multiplier suffix:
bโ512KBโ1000Kโ1024MBโ1000*1000Mโ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. iykyk ๐
โญ EXAMPLES โญ
od -A x -t x1z -vโ display hexdump format outputod -A o -t oS -w16โ the default output format used byod
$ od -A x -t x1z -v
$ od -A o -t oS -w16
go off, both of these eat ๐
๐ AUTHOR ๐
written by Jim Meyering. legend behavior, fr fr.
๐ 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/>
if something's cursed, tell them, not me ๐ญ
๐ 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. like, none. zero. don't come crying to the FSF if your bytes get weird ๐
๐ SEE ALSO ๐
- full documentation
<https://www.gnu.org/software/coreutils/od> - or available locally via:
info '(coreutils) od invocation'
and that's the whole page, bestie ๐ this was od(1) from GNU coreutils 9.12, dated September 2026 โ stay unambiguous, stay slaying, periodt โจ๐
๐ฆ where this page comes from
- arch rolling: coreutils 9.12-2 ยท GPL-3.0-or-later AND GFDL-1.3-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms