- Zig 96.8%
- HTML 2.2%
- CSS 1%
| doc | ||
| src | ||
| web | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
hevi
a hex viewer
What is hevi?
Hevi (pronounced like "heavy") is a hex viewer, just like xxd or hexdump.
Features
Parsers
Hevi can parse things like ELF or PE files and give you syntax-highlighting.

Custom color palettes
You can specify custom color palettes. Color palettes can use standard ANSI colors or truecolor.
Usage
The command should be used as hevi <file> [flags]. The flags are described below.
Flags
| Flag(s) | Description |
|---|---|
-h/--help |
Show a help message |
-v/--version |
Show version information |
--color/--no-color |
Enable or disable colored output |
--lowercase/--uppercase |
Toggle between lowercase and uppercase hex |
--size/--no-size |
Enable or disable the line showing the size at the end |
--offset/--no-offset |
Enable or disable showing the offset |
--ascii/--no-ascii |
Enable or disable ASCII interpretation |
--skip-lines/--no-skip-lines |
Enable or disable skipping of identical lines |
--raw |
Raw format (disables most features) |
--show-palette |
Show the current color palette in a table |
--parser |
Specify the parser to use. For a list use hevi --help |
Environment variables
The NO_COLOR variable is supported, and disables color (see https://no-color.org/) printing. Note that it can be overwritten by an explicit --color.
Config file
The config file is a ziggy file. The following fields are available:
color: bool,
uppercase: bool,
show_size: bool,
show_offset: bool,
show_ascii: bool,
skip_lines: bool,
raw: bool,
palette: Palette,
All fields are optional.
Note: for the palette field you must specify all styles!
Example config
.color = true,
.skip_lines = false,
.palette = Palette{
.normal = @color("yellow"),
.normal_alt = @color("yellow::dim"),
.normal_accent = @color("yellow:bright_black:bold"),
.c1 = @color("red"),
.c1_alt = @color("red::dim"),
.c1_accent = @color("red:bright_black:bold"),
.c2 = @color("green"),
.c2_alt = @color("green::dim"),
.c2_accent = @color("green:bright_black:bold"),
.c3 = @color("blue"),
.c3_alt = @color("blue::dim"),
.c3_accent = @color("blue:bright_black:bold"),
.c4 = @color("cyan"),
.c4_alt = @color("cyan::dim"),
.c4_accent = @color("cyan:bright_black:bold"),
.c5 = @color("magenta"),
.c5_alt = @color("magenta::dim"),
.c5_accent = @color("magenta:bright_black:bold"),
},
Location
The config file is located at:
| OS | Path |
|---|---|
| Linux, MacOS, FreeBSD, OpenBSD, NetBSD | $XDG_CONFIG_HOME/hevi/config.ziggy or if the env doesn't exist $HOME/.config/hevi/config.ziggy |
| Windows | %APPDATA%/hevi/config.ziggy |
| Other | Not supported. No config file will be read |
Precedence
Hevi has a precedence for configuration and it is:
- Flags
- Environment variables
- Config file
- Defaults
About
It is written in zig, in an attempt to simplify hex viewers.
Installation
Some Linux package managers
If your package manager is in the following list (and preferably in green), you can simply install it from there:
Other platforms
You can download a binary from the releases page. You can also clone the repository and compile it with zig build.
Contribute
Contributions are welcome! Even if you don't want to write code, you can help a lot creating new issues or testing this software.
License
See LICENSE
SPDX-License-Identifier: GPL-3.0-or-later
