Lightweight offline ZIM/Markdown reader for game consoles and desktop.
🌐 Website
Renders Wikipedia ZIM archives, Markdown, and HTML files via SDL2. Supports keyboard, mouse, and gamepad input. Designed for low-power ARM devices (PortMaster) but runs on any Linux/Windows desktop.
- HTML — Converts HTML to Markdown then render it
- Article Tree — Radix-tree browser for ZIM articles
- Online Library — Browse & download ZIM archives from Kiwix Library
- Emoji — Embedded Twemoji SVGs (compressed zip), rendered via LunaSVG
- Animated GIFs — Frame-based animation in documents
- SVG Images — Inline SVG rasterization
- Themes — Light/Dark color schemes
- Font Zoom — Adjustable font size
- Settings — Persisted to
config.json - Gamepad — Full controller support for PortMaster devices
- Touch/Mouse — Click links, scroll wheels
Native build requires SDL2, SDL2_ttf, and libzim dependencies.
# Install dependencies (Ubuntu/Debian)
sudo apt install libsdl2-dev libsdl2-ttf-dev liblzma-dev libzstd-dev
# Build only the binary
make build
# Build a complete distribution (zip with libraries)
make dist-amd64
# Output: dist/zimlite-linux-amd64.zipmake dist-windows
# Output: dist/zimlite-windows-amd64.zipmake dist-portmaster
# Output: dist/zimlite.zip# Install dependencies & build
sudo apt install libsdl2-dev libsdl2-ttf-dev liblzma-dev libzstd-dev
make build
# Run with a ZIM archive or markdown file
./zimlite wikipedia_en_100_maxi_2026-04.zim
./zimlite test.mdFor architecture details, build targets, and dependencies, see docs/DEVELOPMENT.md.
By default, Zimlite uses embedded GNU Unifont for maximum Unicode compatibility.
To use a custom font, set the KIWIX_FONT environment variable:
export KIWIX_FONT="/path/to/your/font.ttf"
./zimliteconfig.json next to the binary:
{
"language": "en",
"theme": "dark",
"font_size": 16
}KIWIX_DEBUG=1 enables debug logging.
GPL-3.0



