Home › Playgrounds

Playgrounds

Every playground runs the real engine in your browser — the published zipnative package, imported from a CDN pinned to this site's version (each page's footer names the CDN that served it). What you see is exactly what the npm artefact does, byte for byte.

The synchronous APIs on these pages run the pure-TS tier (initNodeZipCodecs() is a Node-only optimisation and is never called here); the forward-streaming page's async iteration may additionally use the browser's own DecompressionStream.

Archive toolkit

Build an archive from entries you type, toggle deterministic mode, and see its size, entry table and SHA-256 — then download it.

createZipopenZipdeterministic
Open toolkit →

Archive inspector

Drop any .zip (DOCX, JAR, VSIX, EPUB…) and read its central directory — names, methods, sizes, CRCs, flags — without extracting a byte.

openZipentries()random access
Open inspector →

Secure extraction

Watch the default guards reject a zip-slip archive and a corrupt one with typed err.codes — then drop your own and see what passes.

extractZiperr.codezip-slip
Open demo →

Incremental modify

Edit an archive without recompressing a single entry — compare the append-only save() against saveCompact(), byte for byte, and watch the dead-bytes diagnostic fire.

createZipModifiersaveCompactdiagnostics
Open modifier →

Forward streaming

Read a ZIP you cannot seek: forward iteration off a chunked ReadableStream, the resumable inflater's live byte counters, and the trust caveat versus openZip.

iterateZipEntriescreateInflatorReadableStream
Open streaming →

Remote range access

Open a ZIP of any size through a byte-range source — a dropped file read by Blob.slice(), or a URL served with HTTP Range — and watch how few bytes openZipRange() fetches: a tail window, the central directory, then only the entry you click. Abort mid-read.

openZipRangeByteRangeSourceAbortSignal1.1
Open remote access →

CLI command builder zipnative-cli

Assemble any of the fifteen zipnative-cli commands with every flag, watch the combinations the CLI refuses light up as you type, pick from presets, and copy the shell line. Nothing is executed — the CLI is a Node process; the builder is honest about it.

15 commands--json envelope--check assertionspresets
Open the builder →

MCP tool explorer zipnative-mcp

The thirteen tools an AI assistant gets from zipnative-mcp, with their real payloads and client configuration — and a Run button that executes the engine call behind each tool on a sample or on your own archive, in the browser.

13 tools7 promptsClaude · Cursor · VS Coderuns the engine
Open the explorer →