HelpViewer is a lightweight and simple reader for ZIP archives or directories - whether stored locally or on a network - containing Markdown and HTML files. Itβs designed as a modern and portable help file viewer that runs directly in your web browser.
It supports offline use without requiring any backend or server, offering a clean and responsive interface inspired by the classic desktop help viewers from the Windows era.
β HelpViewer is MIT licensed.
π Open this file in HelpViewer to see it in action.
π Visit our website to learn more.
π View your own repository.
Interested?
π¦ Download the latest HelpViewer release package.
π¬ Join our Discord user group.
Donβt want to just read other peopleβs help files?
π Start to write your own help files.
Want to be involved even more?
π Read our Contribution guidelines.
π Check out other important project policies.
π Explore Documentation for developers to start custom development.
- No installation required - just unzip and run locally
- Multiplatform - works on all major operating systems via web browsers
- Ready to work in offline mode without any backend or local server
- Your data stays with you - the application runs entirely in JavaScript in your browser, and no files are sent to any server.
- A browser with CORS policies disabled is recommended. Otherwise, functionality is partially limited and you must manually select the data file and help file at startup.
- Responsive (desktop and other devices supported)
- Lightweight - distribution package under 1.38 MiB (πΎ; most part of solution compressed)
- Supports export of a chapter (in 2 clicks) or the complete help file (in 4 clicks) to HTML, Markdown, LaTeX, ePub, RTF formats.
- Accessibility rules WCAG 2.1 implemented (accessibilitychecker.org: 89β―%, Lighthouse: 96%, Web Aim)
- Print friendly version (prefers greyscale)
- Personal notes on chapter paragraphs
- Easily switch between different language versions of the viewer interface and help file
- Protection against XSS attacks (integration of DOMPurify in its default settings; component can be optionally removed from installation)
- Robust, easy-to-use plugin system and extensible architecture
- Easily configurable main functions in a clear tree view (in Hello web page)
- See the full list
- Single platform for rendering Markdown and HTML content (both can be present in one help ZIP file)
- ZIP compression method supported (one single part file only)
- Rendering diagrams by Mermaid library (included in deployment package)
- See the full list
- Try HelpViewer on your repository.
- Download the deployment package from package.zip and unzip it.
- For correct display, launch the browser without CORS restrictions. Otherwise, you will see a page with message and have to manually select help and data files.
Alternatively, if you don't want to interfere with CORS, is to download a local HTTP server for Linux (static build under Go/musl libc) or Windows, create a www folder in the server location, extract the HelpViewer installation into this folder, and start the server on localhost:8080 in your browser. - Open the index.html file in your browser.
- Set the URL parameter ?d=X, where X is the path to your ZIP file or you can define path ending with / if you want to read a directory.
If you skip this step, ./hlp/Help-{current language}.zip will be used by default. - You will see e.g. the user documentation directly in HelpViewer, just like you are seeing this web page.
The UI is intuitive and easy to use, but if any questions arise, the User Quick Guide is there to help you.
- JSZip library (under MIT)
- Marked (under MIT) (optional)
- Mermaid (under MIT) (optional)
- Prism (under MIT) (optional)
- DOMPurify (under Apache License Version 2.0) (optional)
optional = can be excluded from installation package
The solution is implemented using vanilla JavaScript. Please ensure that JavaScript is enabled in your browser to ensure proper functionality.
Do you see the page with ββ Do you see this message only?β? Then the browser is not loading the data from the ZIP help file.
This may be caused by your browser blocking local file access (file://) due to CORS policy restrictions.
You have 2 options on how to proceed:
- In the data.zip and Help-(language).zip fields, select the necessary files and click Submit.
- You need to run your browser in mode with bypass CORS policy:
-
Chrome:
Run in CLI:
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="C:\temp" -
Edge:
Run in CLI:
msedge --disable-web-security --user-data-dir="C:\temp"
- More in Future plans list.
Some parts of this project were developed with assistance from:
- ChatGPT,
- Copilot
, an AI-powered advisor.
While AI helped generate suggestions, the final code and design decisions were made by the project author.
Please note that any use of third-party code generated or suggested by AI is subject to the original licenses of that code.