---
name: "hexyl"
section: "1"
platform: "linux"
package: "hexyl"
version: "0.17.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/hexyl"
---

# hexyl(1)

a command-line hex viewer

## NAME

hexyl - a command-line hex viewer

## SYNOPSIS

**hexyl** \[*OPTIONS*\] \[*FILE*\]

## DESCRIPTION

**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 **--length** for 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 **--length** for 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 VARIABLES

- **hexyl** colors can be configured via environment variables. The variables used are as follows:

  - •

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

## AUTHORS

**hexyl** was written by David Peter ⟨mail@david-peter.de⟩\\c .

## REPORTING BUGS

- Bugs can be reported on GitHub at:

  ⟨https://github.com/sharkdp/hexyl/issues⟩\\c

## COPYRIGHT

- **hexyl** is dual-licensed under:

  - •

  Apache License 2.0 (⟨https://www.apache.org/licenses/LICENSE-2.0⟩\\c )

- •

  MIT License (⟨https://opensource.org/licenses/MIT⟩\\c )

## SEE ALSO

[**hexdump**(1)](/hexdump/1.md), [**xxd**(1)](/xxd/1.md)
