Open-source project
Sigil-Ebook/Sigil avatar
Sigil-Ebook/Sigil

Sigil: a Qt6 EPUB 2 and EPUB 3 editor for people who need to touch the markup

Sigil is a multi-platform EPUB ebook editor

6,969 stars627 forksC++GPL-3.0

At a glance

What is it?
Sigil is a GPL-3.0, multi-platform EPUB editor built on Qt6 and QtWebEngine. It is aimed at people who want direct control of the XHTML, CSS and OPF inside the archive rather than a word-processor view of the book.
Who is it for?
Adopt Sigil if you edit EPUB content at the markup level: the README describes ePub 2 and ePub 3 support, a Python 3 plugin system and a companion visual editor, PageEdit. Do not adopt it as a word processor replacement for authors who never want to see XHTML, and do not expect the issue tracker to take feature requests, because the README says they will be closed.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 6 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem Sigil solves: EPUB as a zip of XHTML, not a document

An EPUB is a ZIP container holding XHTML content documents, a CSS stylesheet set, an OPF package file and a navigation document. Tools that present a book as a flowing document hide that structure. Sigil exposes it. The README describes the program as "a free, open source, multi-platform ebook editor that uses Qt6 (and QtWebEngine)" and says it "is designed to edit books in ePub format (both ePub 2 and ePub 3)". The audience is therefore the person who has to fix a malformed content document, rewrite a stylesheet, correct metadata, or run the same transformation across a hundred files. Screenshots in the repository show a main window, dark mode, a generated table of contents, a plugin manager, a metadata editor, reports, checkpoint comparison, a preview inspector, a customisable layout and validation through plugins. That set of views tells you what the workflow assumes: you look at the book's parts, not at a paginated preview alone.

QtWebEngine, the preview inspector and a Python plugin host

The architecture visible in the repository is a C++ application on Qt6 with QtWebEngine rendering the preview. The preview is not a separate renderer written from scratch; it is a web engine, which is why the screenshots include a preview inspector. The repository also lists third-party components under Sigil/3rdparty, including Hunspell 1.7.2 for spell checking, pcre2 10.46, zlib 1.3.1, jQuery 3.6.4, MathJax 3.2.X and a modified Beautiful Soup 4 under src/Resource_Files/plugin_launchers/sigil_bs4. That last path is the interesting one: the plugin launchers ship a modified Beautiful Soup, which means plugins are expected to manipulate parsed markup rather than run regular expressions over raw text. Plugins are Python 3, as the plugin manager screenshot states. Parsing is handled by Sigil-gumbo, described as based on Google's Gumbo Parser, plus lexbor for CSS and core work. The practical consequence is that Sigil is not a thin wrapper around a converter. It hosts a parser, a stylesheet engine and a script runtime, and it expects the user to work inside that environment.

Installing Sigil on Windows, Linux and macOS

On Windows the README states that Sigil provides an installer for x64 and that it works on Windows 10 (1809) or newer. It also notes that recent versions are typically available through winget, Chocolatey and Npackd, and adds that installing through one of those package managers avoids the Microsoft warnings about unknown publishers. A winget install looks like this:

bash
winget install Sigil-Ebook.Sigil

After it completes, Sigil appears in the Start menu as a normal desktop application. On Linux, the README says an up-to-date version built by the project is part of the releases as an AppImage, which is the route to take when the distribution package lags. Building from source requires Qt 6.4 or higher starting with Sigil 2.3.0; older systems need the Qt5 instructions in docs/Building_on_Linux_older.md. The repository also carries a docker-compose.yml whose comment reads "Suggested use: docker compose run --rm build_appimage", with a service named build_appimage that runs .github/workflows/build_sigil_appimage.sh inside ubuntu:22.04 with the repository mounted at /reporoot. That is a build helper, not a runtime container. On macOS the README states that building purely with Xcode is no longer supported; the supported path is cmake with the Xcode CommandLineTools, and because Sigil embeds Python 3.14.2 you must first build a relocatable Python 3.14.2 framework following docs/Building_A_Relocatable_Python_3.14_Framework_on_MacOSX.txt. Official releases use Qt 6.10.2 with local patches, built from source per docs/Building_Qt6_From_Source_on_MacOSX.txt. A first real use after installation is to open an EPUB, run Generate ToC from the screenshots' menu set, then open the preview inspector to confirm the generated navigation matches the headings you expect. Validation is run through plugins rather than a built-in button, so install a validation plugin from the Mobilread plugin index before you trust a file.

Where Sigil is the wrong tool

Sigil edits EPUB. It does not produce PDF, MOBI or DOCX, and the README makes no claim about them. If your output target is print or a fixed-layout PDF, the EPUB archive is the wrong intermediate and Sigil will not help. The second limitation is support. The README is explicit: "Please do not use the issue tracker to ask questions or suggest new features", and "Feature requests opened on the issue tracker will be closed." Questions and feature requests go to the Mobilread Sigil forum, which the two main developers monitor. If your organisation needs a vendor support contract or a tracked feature request queue, this project does not offer one. Third, the build path is heavy. On macOS you are building a relocatable Python framework and Qt from source before you build Sigil itself. On Linux you need Qt 6.4 minimum, and distributions that do not ship it push you to the older Qt5 documentation. That is a real cost for anyone who wants a reproducible internal build rather than a downloaded binary. Finally, the plugin system is the extension mechanism, and the README points to an external plugin index rather than bundling a catalogue. If no plugin does what you need, you are writing Python against the launcher environment.

How Sigil differs from Calibre and from plain epubcheck

Calibre is the obvious comparison, and the difference is in scope. Calibre is a library manager that also converts between formats; its conversion pipeline rewrites a book into its own intermediate representation and produces output. Sigil has no library, no conversion pipeline and no format output beyond EPUB. It opens the archive in place and lets you edit the parts. That matters when a conversion has already damaged the markup and you need to repair the source rather than reconvert it. The second comparison is with epubcheck and similar validators. Those are checkers: they read a file and report problems, and they do not edit. Sigil's validation runs through plugins, so the checker is an add-on to an editor rather than the product. The third comparison is with a plain text editor plus a zip tool. That combination can edit EPUB content, but it gives you no parser feedback, no stylesheet engine, no preview and no plugin host. The trade-off Sigil makes is the reverse of Calibre's: less automation, more direct control, and a plugin API for the automation you do want.

Licence, releases and the cost of staying current

Sigil is licensed under the GPLv3, with the full text in COPYING.txt. The README adds that bundled libraries and components may use a different licence compatible with the GPLv3, that their source lives under Sigil/3rdparty unless stated otherwise, and that each folder carries its own licence information. The listed components are Hunspell 1.7.2, MiniZip 1.1 with security changes, pcre2 10.46, zlib 1.3.1, jQuery 3.6.4, jQuery.ScrollTo 2.1.2, MathJax 3.2.X with a minimum of 3.2.2, plus modified Beautiful Soup 4, Sigil-gumbo and lexbor. For anyone redistributing Sigil inside a product, those bundled licences are the thing to read, not just the top-level GPLv3 notice. This is not legal advice; the COPYING.txt file and the per-component folders are the sources. On maintenance, the repository is not archived and the last push was on 2026-09-20, two days before this writing, so the codebase is being touched. The most recent releases listed are 2.8.1 on 2026-07-18, 2.8.0 on 2026-06-07 and 2.7.6 on 2026-03-19, which is a steady cadence. The upgrade cost is mostly on the build side: the Qt floor moved to 6.4 in Sigil 2.3.0, and the macOS build now requires a relocatable Python 3.14.2 framework. If you build Sigil yourself, each of those is a rebuild of a dependency, not just a rebuild of the application.

Editorial conclusion

Adopt Sigil if you edit EPUB content at the markup level: the README describes ePub 2 and ePub 3 support, a Python 3 plugin system and a companion visual editor, PageEdit. Do not adopt it as a word processor replacement for authors who never want to see XHTML, and do not expect the issue tracker to take feature requests, because the README says they will be closed. Before committing, install 2.8.1 or later, confirm your distro package is not far behind the releases, and check whether the plugin you need exists in the Mobilread plugin index, since the core program does not bundle every cleanup task.

Frequently asked questions

Is Sigil free to use?

Yes. The README describes it as free and open source, and the repository is licensed under the GPLv3 with the full text in COPYING.txt. Bundled components may carry their own compatible licences, listed in their folders under Sigil/3rdparty.

How do I install Sigil on Windows?

The README states that Sigil provides an installer for x64 that works on Windows 10 (1809) or newer, and that recent versions are typically available through winget, Chocolatey and Npackd. Installing via one of those package managers avoids the Microsoft warnings about unknown publishers.

Which EPUB versions does Sigil support?

The README says Sigil is designed to edit books in ePub format, both ePub 2 and ePub 3. No other output format is claimed.

Can I ask for a new feature on the Sigil issue tracker?

No. The README asks users not to use the issue tracker for questions or feature suggestions and states that feature requests opened there will be closed. Questions and feature requests should go to the Sigil forum at Mobilread, which the two main developers monitor.

What Qt version does Sigil need to build?

Starting with Sigil 2.3.0, Qt 6.4 is the minimum requirement to build Sigil, according to the README. Older systems without Qt 6.4.0 or higher need the Qt5 build instructions in docs/Building_on_Linux_older.md.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. Sigil-Ebook/Sigil on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/sigil-ebook-sigil.svg)](https://hysenlabs.com/projects/sigil-ebook-sigil)