Kiwix : offline Wikipedia viewer
Official site : https://www.kiwix.org
- About this App
- Title Search Usage
- Image Download
- Technical Information
- Licence Information
- Other Platforms/Versions
- Download ZIM archives (content):
About this app
If your Internet access is expensive, slow, unreliable, insecure or censored, you can still gain free offline access to vast repositories of human knowledge and culture. Carry the world's largest Encyclopaedia around in your pocket, in any language, or a worldwide Travel Guide when you are on the road!
To use this app, you will need to download one or more archives (called ZIM archives) from the Kiwix website and store them on your device or a thumb drive. You will then be able to access Wikipedia, Wiktionary, WikiMed, Wikivoyage and many other sources offline, even if you are undertaking a long plane journey, hiking, and travelling or living in areas with weak Internet access.
You can search through article titles, and in some cases undertake full-text search (see below), and read any of these articles (including the images) completely offline. Archives are available with content in many different languages. There are "themed" archives with selected topics of interest from Wikipedia such as medicine, movies, history, geography, maths, physics, chemistry or computing (amongst many others).
Step 1: Download some content
Go to https://download.kiwix.org/zim , with a regular computer and download an archive that interests you. If you find the list overwhelming, you can limit the selection by language on the Download-by-language site . Note that archives with "mini" in their name only contain the lede (first) portion of each article; "nopic" means no pictures; "maxi" means everything except video and audio. Larger versions without any of these qualifiers contain everything, though pictures are always compressed.
Dynamic content (e.g. PhET, or the proprietary User Interface in Gutenberg and TED Talks ZIMs) is supported in ServiceWorker Mode only (the default), but not in JQuery mode (see technical explanation below). If you cannot run ServiceWorker mode, then you will most likely be limited to static Mediawiki-based content (for instance Wikipedia and Wikivoyage ), and StackExchange .
For a quick test, you can start with the Ray Charles ZIM file , which contains some Wikipedia articles about the Jazz musician, or a small archive containing the top 100 English Wikipedia articles and images .
After that, download any content in your favourite language(s). Check the size before you download archives as many file sizes are very large (several Gigabytes). Themed versions such as WikiMed, or versions without images are smaller than full Wikipedia archives and can be readily downloaded in your browser. Kiwix ZIM archives are completely open source and free to download.
See Downloading large archives below for details of how to download very large files.
Step 2: Copy the content onto your device
If you have enough space, you can put several archives on your device! If you don't have enough internal storage, consider using a modern microSD card or thumb drive. For larger archives (greater than 2GB) on older devices, it is possible that an archive might not be supported if your storage is formatted using a FAT filesystem (NB exFAT is fine). See technical information below for a solution.
Step 3: Drag and drop the file into the app
You can drag and drop the archive file into the the open app (if you have a split file, be sure to drag all parts), or else you can go to the "Configure" menu and select your ZIM file.
Step 4: Enjoy your offline content!
Title and full-text search usage
There are three types of search: title and alphabetical search (these are both universally available), and full-text search (only available in some ZIM archives and enabled in modern desktop browsers).
Title search matches the start of an article title, so if you search for 'France' you will get 'France (country)', 'France (disambiguation)', 'France (film)', etc. This kind of search tries to be case-insensitive, but the number of case variants tried is necessarily limited: e.g. if you search for 'unesco world heritiage', it will try 'Unesco world heritage', 'UNESCO world heritage', 'unesco World heritage', 'Unesco WORLD heritage' (etc.), but it won't try 'uNesCO' and other non-obvious case combinations. If you want to search for 'uNesCO', then you must type it exactly like that. If not enough results are returned, you can increase the maximum number of search results using the slider in Configuration.
Alphabetical search: If you type a letter of the alphabet in the title search box (upper case may be most useful), it will show an alphabetical list of articles starting with that letter (up to the maximum number of search results you selected in Configuration). This is useful for ZIM archives that have descriptive rather than semantic titles (e.g. TED Talks), expecially in JQuery mode.
Unfortunately it is not possible to download an image (from an article in a ZIM archive) using the standard method in most browsers (usually right-click -> "Save image as..."). See issue 694.
One workaround (at least in browser extensions) is to choose "Copy Image" in the context menu (after right-click or long-press), then paste it in any suitable software (Paint, Gimp etc, or even a Word processor), then save it.
Kiwix JS works offline, and does not collect or record any of your personal data. It only remembers your browsing history for the duration of a session (for the purpose of returning to previously viewed pages). This history is lost on exiting the app and is not recorded in any way.
This application only reads the archive files that you explicitly select on your device together with files in its own package. Some ZIM archives contain active content (scripts) which may, in rare circumstances, attempt to contact external servers for incidental files such as fonts. These scripts will only run if you enable ServiceWorker Mode in Configuration. Nevertheless, if you believe your Internet access is insecure, or is being observed or censored, we recommend that you completely shut down your Internet (Data or WiFi) access before using the application.
ZIM archive format
Offline archives use the OpenZIM format , but note that this app has only been tested extensively on Wikipedia, WikiMedia, Gutenberg, Stackexchage and TED Talks archives. Video content is supported if your device, browser or OS understands the format. Some ZIMs use a proprietary dynamic UI which is only supported in ServiceWorker Mode (see below).
Downloading and storing large archives
Full version of Wikipedia can be enormous: French, German and Spanish Wikipedia with images are each >25GB; full English Wikipedia with images is >90GB. For these very large archives you can find convenient Torrent links which may be more reliable than attempting to use your browser. You can use an open-source BitTorrent client such as QBittorrent with these links (install the software before clicking on the torrent link).
If you need to store a large ZIM archive on an older filesystem formatted as FAT16 or FAT32, you need to be aware of the file size limits of those systems
(FAT16 < 2GiB; FAT32 < 4GiB). Most modern microSD cards, thumb drives or hard drives are formatted as exFAT or another modern FS such as NTFS, which do not
have this issue. If your ZIM archive is larger than the FS limit, it is possible to split the archive into several 2GiB-1 or 4GiB-1 files (or smaller).
You will need to give a file extension to each chunk in the right order following this pattern:
..., etc.). When you pick this archive in the app, be sure to pick all the chunks, or drag-and-drop them all into the app.
For some information on how to split archves, see Archive of the Kiwix FAQ (current FAQ is here ).
ServiceWorker and JQuery Modes
Depending on your browser or framework, this app may be capable of running in two different modes, which we call "ServiceWorker Mode" and "JQuery Mode" for short. There is a toggle under Compatibility Settings in Configuration. Here is a technical explanation of what these modes do:
ServiceWorker Mode: This is the default mode. As its name implies, it requires that the browser or framework
be capable of installing a Service Worker, which is usually the case in modern browsers. It works by intercepting
the browser or framework's Fetch calls (network requests) and supplying the requested content from the ZIM. In this
proprietary UIs are fully supported in this mode. However, Zimit archives are not currently supported due to
a conflict between the Kiwix JS Service Worker and the WARC Service Worker. This mode can feel initially a little
slower than JQuery mode until commonly used assets are cached, but it soon equals JQuery mode in speed, at least in
modern browsers. However, older browsers such as IE11 are incompatible with this mode, and the app must be running
in a secure context (
localhost, or certain browser extensions). While this mode is not natively supported in Mozilla (Firefox) browser extensions, we provide a functional workaround by re-launching the extension as a Progressive Web App (PWA). Note that this mode cannot run with the
file:protocol (but only IE11 and old Edge allow the app to run by launching
index.htmlfrom the file system).
Feedback / helping / contributing
We welcome constructive feedback and suggestions for improvement. We will consider feature requests, but it is even better if you can contribute to improving the app! The source code is on GitHub , and we welcome Pull Requests (it's worth opening an issue and discussing your proposal first).
The bug and issue tracker
is on GitHub too. We use it as our roadmap.
Alternatively, you can send your feedback by email.
In all cases, if you are reporting a bug, please give as much detail as you can: which device you are using, which version of Kiwix, which archive, which articles etc.
If you like the Kiwix project and use it, please consider giving donations:
- to the Wikimedia foundation, to help maintaining their servers and article contents. See the donation page
- to Kiwix, to help maintaining the ZIM files and applications. There is a donation button in the home page of kiwix.org
- Adding articles or improving the existing ones, by editing online wikipedia articles
- Participating in the Kiwix project
We owe a big debt of gratitude to:
- Kelson and all the Kiwix community for welcoming us in this project
- Wikipedia teams and contributors to help spreading knowledge to everybody
- All the developers of libraries and tools we used, for releasing them as Free software (see Licence paragraph)
Licence informationCopyright 2013-2021 Mossroy, Peter-x, Jaifroid, sharun-s and other contributors
This application is licensed under the GPL v3 Licence:
Kiwix is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public Licence as published by
the Free Software Foundation, either version 3 of the Licence, or
(at your option) any later version.
Kiwix is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public Licence for more details.
You should have received a copy of the GNU General Public Licence
along with Kiwix (file LICENSE-GPLv3.txt). If not, see https://www.gnu.org/licenses/
Main libraries and resources used:
- jQuery 3, released under the MIT Licence
- Bootstrap 4, released under an MIT Licence
- Fontawesome Free, icons licensed under CC BY 4.0 Licence, code licensed under a MIT Licence
- RequireJS 2, released under the MIT Licence or new BSD Licence
- QUnit 2, released under the MIT Licence
- Kiwix logo from kiwix.org, released under the Creative Commons Attribution Share Alike Licence
- OpenZIM specifications from www.openzim.org, released under the Creative Commons Attribution Share Alike Licence
- The Zstandard library, released under a BSD Licence and a GPLv2 Copying Licence
- The WebP-Hero browser polyfill, copyright Chase Moskal, released under an MIT Licence
Other Kiwix clients exist on various platforms such as desktop and mobile apps for Linux, Windows, Android and iOS.
See the official download site: https://www.kiwix.org/download
This application needs a ZIM archive to work. For download instructions, please see the About section
Drag and drop a new ZIM file, or display file selectors
Please select or drag and drop the .zim file (or all the .zimaa, .zimab etc in case of a split ZIM file)
Only Mediawiki-based (wiki*.zim* files, like wikipedia), StackExchange and some video-based ZIMs (e.g. TEDx) have been tested. Dynamic content is not currently supported in jQuery mode.
Scanning for archives... Please wait
Please select the archive you want to use :
Rescans your SD Cards and internal memory
(Auto themes match the dark/light mode of your device.)
* Implements workarounds specific to Wikimedia ZIMs. Try generic option if there are display errors with recent ZIMs.[ Show article with applied theme ]
Kiwix JS can speed up the display of articles by caching assets:
Select max number of search results:
See About (Technical Information) for an explanation of the difference between these modes:
Work around anti-fingerprinting measures by substituting WebP images with canvas elements (setting determined automatically, can be disabled):
Reset the app to default settings and erase all caches:
It will suggest articles starting with the letters you type.