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

Run oxipng in the browser

Shrink PNG files losslessly by re-encoding them with better compression settings.

Try it live

Nothing is downloaded until you press Run.

catalog app

Check the installed oxipng build

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

bash
oxipng --version
oxipng --help | head -n 3
loading…
Expected output
$ oxipng --version
oxipng 10.1.1
$ oxipng --help | head -n 3
Losslessly improve compression of PNG files

Usage: oxipng [OPTIONS] <files>...

What it is

oxipng tries combinations of filters and deflate settings and keeps the smallest result, without changing a single pixel; it can also strip metadata.

Package facts

version
10.1.1
runs on
RISC-V VM (elf-app, riscv64gc-linux-musl)
download
666 kB compressed · 1 file
command
oxipng
requires
nothing else — a static binary
license
MIT (upstream)
upstream
github.com/oxipng/oxipng
categories
Images
catalog
generation 12, Ed25519-signed

Install and run it from your page

With the SDK, installApp resolves oxipng 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("oxipng"); // signature-verified, cached in OPFS

const r = await nano.shExec("oxipng --version");
console.log(r.stdout);

Typical usage of the upstream command-line tool:

bash
oxipng -o 4 --strip safe *.png

Caveats

← All 32 catalog apps