← Projects

Insula Active

A keyboard-first desktop reader for ZIM offline archives — Wikipedia and hundreds more, downloaded once and read forever with no network.

Year
2026
Built with
Java 25, JavaFX 26, Maven
Source
github.com/adriandeleon/insula
The Insula catalog showing downloadable offline archives with language and category filters.

ZIM is the archive format behind Kiwix: a whole Wikipedia, Wiktionary, or StackExchange dump in a single file you can read entirely offline. Insula exists because the reading and library experience around those archives deserves better than it has — minimal chrome, instant search, everything reachable from the keyboard.

The ZIM reader is pure Java

No libzim, no JNI, no platform-specific native toolchain to install. There is no maintained Java ZIM library to lean on — the one that existed is archived — so the format core is written from the specification: the cluster compression schemes (uncompressed, XZ, Zstandard) and both namespace generations, the legacy A/I/M scheme and the current C/M/W/X.

Articles render with their images and stylesheets intact, because entries are served at their real archive paths over a loopback HTTP server. Nothing inside the archived HTML has to be rewritten to make links work.

Reading

Downloads that tell you the truth

Archives are tens of gigabytes, so the download layer is the other half of the project. It pulls from several mirrors at once over HTTP range requests and resumes after an interruption instead of starting over.

Integrity is the part worth stealing: the publisher’s Metalink file carries piece-level SHA-1 hashes, so every chunk is verified as it arrives, and the completed file against its published SHA-256. An archive is only offered for reading once it verifies — and one that fails is kept, not deleted, so a retry doesn’t mean re-downloading 100 GB.