Name

xxd — stdin  stdout  - file  -- opt  --help  --version

Synopsis

xxd [options] [files]

Similar to od, xxd produces a hexadecimal or binary dump of a file in several different formats. It can also do the reverse, converting from its hex dump format back into the original data. For example, here’s a hex dump of binary file /usr/bin/who:

xxd /usr/bin/who
0000000: cafe babe 0000 0002 0100 ... 0003  ................
0000010: 0000 1000 0000 4c60 0000 ... 0007  ......L`........
0000020: 0000 0003 0000 6000 0000 ... 000c  ......`...K.....
...

The left column indicates the file offset of the row, the next eight columns contain the data, and the final column displays the printable characters in the row, if any.

By default, xxd outputs three columns: file offsets, the data in hex, and the data as text (printable characters only).

Useful options

-l N

Display only the first N bytes. (Default displays the entire file.)

-s N

Skip the first N bytes of the file.

-s -N

Begin N bytes from the end of the file. (There is also a +N syntax for more advanced skipping through standard input; see the manpage.)

-c N

Display N bytes per row. (Default = 16)

-g N

Group each row of bytes into sequences of N bytes, separated by whitespace, like od -s. (Default = 2)

-b

Display the output in binary instead of hexadecimal.

-u

Display the output in uppercase hexadecimal instead of lowercase.

-p

Display the output as a plain hex dump, 60 contiguous bytes per line.

-r

The reverse operation: convert from an xxd hex dump back into the original ...

Get Macintosh Terminal Pocket Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.