zeal is a free, open source documentation & knowledge base project written in C++ and released under GPL-3.0. It has 12,796 GitHub stars, 844 forks and 107 open issues, and was last pushed 8 days ago. On this registry it ranks #15 of 40 tracked projects in Documentation & Knowledge Base, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is zeal?

Zeal is an offline documentation browser: a personal reference library of API and language documentation that is searchable in an instant and available without a connection, built in C++ on Qt and released under the GPL-3.0.

What it is

Zeal is a cross-platform desktop application that keeps documentation for programming languages, frameworks and APIs on the local machine rather than in a browser. Its content is organised into docsets, which are browsed and installed from File → Docset Library, where selecting a docset and clicking Download adds it to the local library. The interface is built with Qt 6.4.2 or later, uses WebEngine for rendering and SQLite for its index, and stores documentation in the docset format established by Dash. The project is written in C++, carries the desktop-application, documentation-tool, offline, docset, api-documentation and linux topics, and has accumulated roughly 12.8 thousand stars and 844 forks.

The concrete problem it solves is the cost of looking things up while working. Reference material normally lives on vendor websites that need a connection, a working search engine and a tab switch, and the result is often the wrong version of a page. Zeal replaces that round trip with a locally indexed search that responds immediately, including on machines that are offline or on restricted networks. Query filtering keeps the results narrow: prefixing a term with a docset name such as cpp:vector limits the search to that docset, and comma-separated names such as python,django:string search several at once.

Key capabilities

  • In-application docset management through File → Docset Library, with a Download button per docset.
  • Scoped queries using the docset:term syntax, for example cpp:vector.
  • Multi-docset queries with comma-separated names, for example python,django:string.
  • Command-line invocation with a preloaded query, for example zeal python:pprint.
  • Compatibility with the Dash docset format, so docsets authored for Dash are readable directly.
  • User-authored docsets, generated by following the Dash docset generation guide.
  • Source builds driven by CMake presets: cmake --preset release and cmake --build --preset release, producing build/release/zeal (zeal.exe on Windows).

Who uses it and how

  • Developers working offline, on air-gapped machines or on networks where external documentation sites are slow or blocked, who need language and API references available at all times.
  • Windows users who install a prebuilt binary from the download page; those builds require Windows 10 version 1809 or later.
  • Linux, BSD and X11 users who compile from source, installing Qt Base plus Svg and WebEngine, libarchive, SQLite, extra-cmake-modules on Linux/BSD, and libxkbcommon with xcb-util-keysyms on X11.
  • Documentation authors who prepare their own docsets and need a free client that speaks the same format as Dash.
  • Contributors, who follow CONTRIBUTING.md and use GitHub issues and discussions, Discord, the Telegram channel, X or email for support and coordination.

Getting started

Prebuilt binaries, primarily for Windows, are offered at https://zealdocs.org/download; other platforms build from source after installing CMake, Ninja, Qt 6.4.2 with the Svg and WebEngine modules, libarchive and SQLite. After installation, docsets are added from File → Docset Library by selecting entries and clicking Download.

How it compares

Zeal takes its docset format from Dash and can therefore consume documentation packages prepared for that tool without conversion, which makes migration a matter of pointing Zeal at the same docsets. It is free software under the GPL-3.0 with the full source in the repository, so the client can be rebuilt, audited or patched by anyone who needs to, and no account or hosted service sits between the user and the documentation. Within this registry the facts name no other comparable documentation browser, so Zeal stands largely on its own as a desktop, offline reading client.

When to use it — and when not to

Use Zeal when documentation must remain available without a connection and a local, keyboard-driven search beats a browser. A self-hoster or source builder should expect to operate a full Qt 6.4.2 toolchain with WebEngine, libarchive and SQLite, and to fetch docsets separately from the application itself, which is more work than installing a single package. Those who want documentation served to a team from a central host, or who need browser-based access rather than a desktop client, should look elsewhere, and anyone judging project health should note the 107 open issues and the build-and-usage oriented README.

project readme (upstream, from github) — read inline

Zeal

Discord Telegram Channel X (Twitter)

Release Build Check License

Zeal is an offline documentation browser: your personal reference library, searchable in an instant and available without a connection. Originally inspired by Dash, it supports the same docset format.

Zeal showing instant search results across multiple docsets

Download

Get it on Flathub Get it from the Snap Store

Binary builds for Windows and other installation options are available on the download page. Windows builds require Windows 10 version 1809 or later.

How to use

After installing Zeal, go to File → Docset Library, select the docsets you want, and click the Download button.

Query and filter docsets

Limit the search scope by prefixing your query with a docset name and a colon:

cpp:vector

To search multiple docsets, separate them with a comma:

python,django:string

Command line

You can also start Zeal with a query from the command line:

zeal python:pprint

How to compile

Detailed, up-to-date build instructions for each platform are available in the wiki. The bare minimum is described below.

Build dependencies

  • CMake and Ninja.
  • Qt version 6.4.2 or later. Required modules besides Qt Base: Svg, WebEngine.
  • libarchive.
  • SQLite.
  • Linux/BSD platforms: extra-cmake-modules.
  • X11 platforms only: libxkbcommon, xcb-util-keysyms.

Build instructions

cmake --preset release
cmake --build --preset release

The resulting binary is build/release/zeal (zeal.exe on Windows).

Create your own docsets

Follow the instructions in the Dash docset generation guide.

Contributing

Contributions are welcome. See CONTRIBUTING.md for how to build Zeal, the conventions to follow, and what to expect from review.

Contact and support

Ways to get help or reach the developers:

License

This software is licensed under the terms of the GNU General Public License version 3 (GPLv3) or later. Full text of the license is available in the COPYING file and online.

Bundled third-party components are licensed under their respective terms; the repository is REUSE-compliant, with all license texts available in the LICENSES directory.

Frequently asked questions

Is zeal free to use?

zeal is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does zeal do?

Offline documentation browser. Your personal reference library, searchable in an instant.

What is zeal written in?

zeal is primarily written in C++. Its source is publicly available at https://github.com/zealdocs/zeal, and it has 12,796 GitHub stars.