userland.run70Try the demo
Catalog app · RISC-V VM

Run hexyl in the browser

View binary files as a hex dump with offsets, byte categories and an ASCII column.

Try it live

Nothing is downloaded until you press Run.

catalog app

Dump the bytes of a file

Installs hexyl 0.14.0 from the signed catalog (every chunk is verified before it is written), then runs the commands below in the VM's shell.

bash
hexyl --color=never hello.txt
loading…
Expected output
$ hexyl --color=never hello.txt
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 68 65 6c 6c 6f 2c 20 6e ┊ 61 6e 6f 21 0a          │hello, n┊ano!_   │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘

What it is

hexyl prints a hex dump in a bordered layout with an offset column, hex bytes and a character panel, colouring bytes by category (NULL, ASCII, whitespace, other). It is a readable alternative to xxd and od. In the browser it inspects files a page generated or the visitor dropped in.

Package facts

version
0.14.0
runs on
RISC-V VM (elf-app, riscv64gc-linux-musl)
download
419 kB compressed · 1 file
command
hexyl
requires
nothing else — a static binary
license
MIT OR Apache-2.0 (upstream)
upstream
github.com/sharkdp/hexyl
categories
Data, Encryption
catalog
generation 12, Ed25519-signed

Install and run it from your page

With the SDK, installApp resolves hexyl in the signed index, fetches its content-addressed chunks from the CDN, verifies each one and writes the files into the VM. Details in Installing catalog apps.

javascript
import { createNano } from "@userland-run/nano-sdk";

const nano = await createNano({ image: { wasm: "/nano/console.wasm" }, ramMB: 512 });
await nano.installApp("hexyl"); // signature-verified, cached in OPFS

const r = await nano.shExec("hexyl --color=never hello.txt");
console.log(r.stdout);

Typical usage of the upstream command-line tool:

bash
hexyl --length 64 image.png

← All 32 catalog apps