offline-world-map

Offline World Map for Kiwix (.ZIM)

Offline World Map running fully offline in Kiwix

Offline world map – global view Offline satellite imagery – global view

Offline OpenStreetMap tiles – Tokyo Offline satellite imagery – Tokyo

This project provides an offline, interactive world map packaged as a single ZIM file for use with Kiwix.

It demonstrates that the ZIM file format can be used not only for wiki-style content, but also to deliver a fully interactive, pan-and-zoom world map — including offline place search — using standard web technologies.


What this is

The Offline World Map is a self-contained map application bundled inside a single .zim file.
When opened in Kiwix, it behaves like a website that works entirely offline.

It includes:


Why ZIM instead of traditional offline map formats?

Most offline maps are distributed as MBTiles, vector databases, or app-specific formats.
This project explores a different approach: using ZIM as an offline web container.

Advantages:


Features


Design decisions

This project intentionally uses pre-rendered raster tiles rather than vector tiles. While vector tiles can significantly reduce storage requirements, they shift cost to client-side computation (geometry decoding, rendering, memory usage), which is difficult to predict across the wide range of devices that run Kiwix.

By serving simple raster tiles from a ZIM file, the map remains lightweight to render and behaves consistently even on older or low-power devices. The large file size also acts as a natural capability filter: devices that can store tens of gigabytes of tiles almost certainly have sufficient CPU and RAM to handle raster rendering smoothly.

Additionally, because a substantial portion of the dataset is satellite imagery — which is inherently raster — vector tiles would not reduce total size as dramatically in this context. The goal is maximum compatibility and predictable performance rather than minimal disk usage.


Downloads

The ZIM file is available here:


Videos


Licensing and attribution

This project is a compilation and packaging effort.
Individual components are licensed separately:

Compilation, integration, and packaging © Anthony Karam.


Project metadata