hexyl colors can be configured via environment variables. The variables used are as follows:
hexyl1
A command-line hex viewer
Usage
hexyl [OPTIONS]
[FILE]
Overview
hexyl is a simple hex viewer for the terminal. It uses a colored output to distinguish different categories of bytes (NULL bytes, printable ASCII characters, ASCII whitespace characters, other ASCII characters and non-ASCII).
Positional arguments
- FILE
-
The file to display. If no FILE argument is given, read from STDIN.
Options
-
-n, --length N -
Only read N bytes from the input. The N argument can also include a unit with a decimal prefix (kB, MB, ..) or binary prefix (kiB, MiB, ..), or can be specified using a hex number.
- Examples:
- Read the first 64 bytes:
-
$ hexyl --length=64
- Read the first 4 kibibytes:
-
$ hexyl --length=4KiB
- Read the first 255 bytes (specified using a hex number):
-
$ hexyl --length=0xff
-
-c, --bytes N -
An alias for
-n/--length.
-
-l N -
Yet another alias for
-n/--length.
-
-s, --skip N -
Skip the first N bytes of the input. The N argument can also include a unit (see
--lengthfor details). A negative value is valid and will seek from the end of the file.
-
--block-size SIZE -
Sets the size of the block unit to SIZE (default is 512).
- Examples:
- Sets the block size to 1024 bytes:
-
$ hexyl --block-size=1024 --length=5block
- Sets the block size to 4 kilobytes:
-
$ hexyl --block-size=4kB --length=2block
-
-v, --no-squeezing -
Displays all input data. Otherwise any number of groups of output lines which would be identical to the preceding group of lines, are replaced with a line comprised of a single asterisk.
-
--color WHEN -
When to use colors. The auto-mode only displays colors if the output goes to an interactive terminal.
- Possible values:
- •
-
always(default)
- •
-
auto
- •
-
never
-
--border STYLE -
Whether to draw a border with Unicode characters, ASCII characters, or none at all.
- Possible values:
- •
-
unicode(default)
- •
-
ascii
- •
-
none
-
-o, --display-offset N -
Add N bytes to the displayed file position. The N argument can also include a unit (see
--lengthfor details). A negative value is valid and calculates an offset relative to the end of the file.
-
-h, --help -
Prints help information.
-
-V, --version -
Prints version information.
Environment
-
• -
HEXYL_COLOR_ASCII_PRINTABLE: Any non-whitespace printable ASCII character
-
• -
HEXYL_COLOR_ASCII_WHITESPACE: Whitespace such as space or newline (only visible in middle panel with byte values)
-
• -
HEXYL_COLOR_ASCII_OTHER: Any other ASCII character (<0x80) besides null
-
• -
HEXYL_COLOR_NULL: The null byte (0x00)
-
• -
HEXYL_COLOR_NONASCII: Any non-ASCII byte (>0x7F)
-
• -
HEXYL_COLOR_OFFSET: The lefthand file offset
The colors can be any of the 8 standard terminal colors: black, blue, cyan, green, magenta, red, yellow and white. The “bright” variants are also supported (e.g., bright blue). Additionally, you can use the RGB hex format, #abcdef. For example, HEXYL_COLOR_ASCII_PRINTABLE=blue HEXYL_COLOR_ASCII_WHITESPACE=“bright green” HEXYL_COLOR_ASCII_OTHER=“#ff7f99”.
Notes
- Source repository:
-
⟨https://github.com/sharkdp/hexyl⟩\c
Examples
Print a given file:
|
$ hexyl small.png |
|---|---|
Print and view a given file in the terminal pager:
|
$ hexyl big.png | less -r |
Print the first 256 bytes of a given special file:
|
$ hexyl -n 256 /dev/urandom |
Releases
5 releases since Debian 10 (Buster); the text changed 4 times.
--block-size since Debian 11 (Bullseye);
--border since Debian 11 (Bullseye);
--bytes since Debian 11 (Bullseye);
--display-offset since Debian 11 (Bullseye);
--no-squeezing since Debian 11 (Bullseye);
--skip since Debian 11 (Bullseye);
-c since Debian 11 (Bullseye);
-l since Arch Linux 2026-11-01;
-o since Debian 11 (Bullseye);
-s since Debian 11 (Bullseye);
-v since Debian 11 (Bullseye).