Open-source project
fniessen/org-html-themes avatar
fniessen/org-html-themes

Org-HTML Themes: two stylesheets that turn Org mode export into a real web page

Transform your Org mode files into stunning HTML documents in minutes with our Org mode HTML theme. Elevate your productivity and impress your readers! #orgmode #html #theme #productivity #design

2,314 stars441 forksCSSGPL-3.0

At a glance

What is it?
Org mode ships a plain HTML export, and this repository is the layer in between: a Bigblow theme with keyboard navigation, a ReadTheOrg clone of the Sphinx theme, and setup files that changed name twice in 2026.
Who is it for?
Org-HTML Themes solves a narrow problem properly. Org mode's built-in HTML export is functional and plain, and adding a stylesheet is all it takes to get a document that looks deliberate, which is what these two themes do.
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 10 days ago.
What is it written in?
Mainly CSS, according to GitHub's language statistics.

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

Editorial analysis

The problem is one stylesheet, and this repository is that stylesheet

The README states the gap plainly: Org mode provides basic HTML support, and you can enhance a document's appearance by overriding CSS stylesheets and adding custom HTML themes. That is the whole premise. Nobody is asking you to change your Org workflow or adopt a different publishing pipeline. You keep the files you have and add a setup file that points at a stylesheet.

The repository is small in the way a design project should be. The tree holds README.org as the primary document, an org/ directory for the Org-specific files, src/ for the stylesheet sources, docs/ and images/ for screenshots, examples/ for demonstrations, and a TODO-org-html-themes.org file. There is also a _config.yml, which is the Jekyll configuration GitHub Pages uses to render the README.org into the project page you are probably reading.

That the documentation is written in Org and rendered by Org is a small consistency worth noting. The README is the export demo.

The only hard requirement is Org mode version 8 or later, and if your Emacs does not bundle that version you install one from ELPA. There is no build step, no package manager, and no generated artifact to run.

Bigblow treats the exported page as a reading tool

Bigblow is described as aimed at optimal Org mode experience in your browser, and the difference between it and a plain stylesheet shows up in what it binds to the keyboard. The README publishes the full shortcut table:

- `?` or `h` opens the dashboard - `n` and `p` move to the next and previous main heading - `b` scrolls up, `<` scrolls to top, `>` scrolls to bottom - `-` collapses all, `+` expands all - `r` and `R` move between tasks in a list, `q` stops reviewing - `g` reloads the page

That list is the design. An exported Org document with checkboxes becomes something you can work through in the browser, moving between tasks with `r` and stopping with `q`, without an editor open. The collapse and expand bindings apply the same idea to structure.

For a theme, this is an unusual amount of JavaScript. Most HTML themes for note tools are CSS and a highlight script. Bigblow is a small application, and the README links a 2:49 silent demo video so you can watch it work before deciding.

The theme is also tied to a specific aesthetic. One quoted user mentions not being able to use another emacs-theme than the author's emacs-leuven-theme, which suggests Bigblow inherits the same colours and proportions. If you already have an Emacs setup you like, that is a feature. If you want your exported HTML to match your corporate stylesheet, it is not.

ReadTheOrg is a Sphinx clone with an acknowledged mobile weakness

The second theme takes a different approach. ReadTheOrg is described as a clone of the official sphinx_rtd_theme used by Read the Docs, and the README credits its creators rather than claiming independent design. That framing tells you what you get: the familiar three-column documentation layout with a sidebar of headings and a content pane, applied to Org output.

The credit matters more than it might seem, because cloning a theme means inheriting its assumptions. The Sphinx read-the-docs theme was built for technical documentation with a predictable structure, and it assumes that structure is there.

The README is honest about where that falls down. A note block says the original theme works well on mobile devices while ReadTheOrg does not stay completely functional, and it explains why: the maintainer does not have a lot of time for the project because of other responsibilities, and asks for help on that front and on improving the default structure of the HTML export.

That note is the most useful sentence in the README for anyone deciding. It is an accurate statement of where the project sits: two themes, one actively developed, one stable but imperfect, both maintained by one person with a day job.

If you are publishing documentation that people read on a phone, test that before you commit. If you are publishing to an internal network where readers are at desks, ReadTheOrg is a good choice and Bigblow's keyboard map is probably irrelevant to you.

Both setup files changed name and then changed path, within six months

This is the part of the project that will actually bite you, and the README gives it two separate notice sections with dates.

The first change, dated 2026-01-24, renamed the setup files. The old names theme-bigblow.setup and theme-readtheorg.setup are deprecated and replaced by html-theme-bigblow.setup and html-theme-readtheorg.setup. The change makes the names more accurate, since they configure HTML export specifically.

The second change, dated 2026-07-10, moved all setup files into an org/setup/ directory. A SETUPFILE line that pointed at one location:

code
#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/html-theme-bigblow.setup

now points at another:

code
#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/setup/html-theme-bigblow.setup

The same applies to the ReadTheOrg setup file. What makes this manageable is the backward compatibility path: Org files using the old names still work, but a warning banner is injected into the exported HTML page telling you what to change. That is a good design choice, because a silent break would have left you with stale setup files you never discovered, and a hard failure would have broken existing exports. The banner is visible only in the output, which is exactly where you would look.

The README's own header uses the new layout, loading both a readtheorg setup file and a latex-listings setup from ~/org/setup/, which confirms the new directory structure is the intended one. Note the URL form and the local form differ, so you can vendor these files locally if you prefer not to depend on the hosted version at export time.

A syntax reference page is the honest way to pick a theme

The README points to a demo page it calls the Org mode syntax reference, which provides what it describes as a maximal working support of Org mode syntax. That page exists as four files in the examples directory: org-mode-syntax-reference.org, the rendered .html, a .pdf, and a .tex.

Shipping the PDF and the TeX source alongside the HTML is the detail that makes this useful. It means you can see the same document in three output formats and compare, rather than squinting at a screenshot of someone else's markup. For a project whose entire purpose is styling one exporter, that is the right artifact to provide.

Two more example files cover the other themes' strengths. org-mode-task-management.org exercises the checkbox and task-list features that Bigblow's `r` and `q` bindings are built for, and org-mode-theme-preview.org gives a side-by-side look at the themes.

The README also links out to a separate refcard-org-mode page for full examples of headings, code, admonitions, footnotes, and tables. Between the two, you can see how every Org construct renders before committing to a stylesheet for your own documents.

If you are choosing, start there. Reading CSS tells you what the theme could support; reading a syntax reference page tells you what it does support on the constructs you actually write.

No releases, one maintainer, and a GPL-3.0 licence

The repository publishes no GitHub releases, so there is no version number to pin and no changelog to read. What you get is commit history on master and the dated notices in the README, which is how you learn that the setup files moved on 2026-07-10 and were renamed on 2026-01-24.

That absence is a fair signal about the project's shape. It is a styling project with two themes, maintained by Fabrice Niessen, whose contact details in the README are obfuscated in typical Org fashion as a concat expression rather than written out plainly. The last push was on 2026-09-26, so the work is current rather than abandoned.

The licence is GPL-3.0, and the README displays it with a shields.io badge plus a PayPal donation link for the project. GPL on a collection of stylesheets is stricter than you might expect if you were planning to fold a theme into a commercial product's asset pipeline, since copyleft applies to the stylesheet as a distributed work. If you only want to use it to export your own documents, which is what it is for, this does not come up.

The maintainer asks users to get in touch if they use the project, saying it helps suggest directions for the code and may inspire other developers. Given the TODO file in the tree and the explicit request for help with ReadTheOrg on mobile, that request is aimed at a specific gap rather than general recruitment.

Editorial conclusion

Org-HTML Themes solves a narrow problem properly. Org mode's built-in HTML export is functional and plain, and adding a stylesheet is all it takes to get a document that looks deliberate, which is what these two themes do. Bigblow is the more interesting of the pair because it ships a keyboard map and a dashboard, so the exported page behaves like a tool rather than a document. ReadTheOrg is a faithful clone of the Sphinx read-the-docs theme and the author notes it degrades on mobile. Two things to check before you rely on it. The project publishes no GitHub releases at all, so version tracking comes from the repository rather than from tags. And both setup files were renamed on 2026-01-24 and then relocated under org/setup/ on 2026-07-10, so an older Org file will export with a warning banner injected into the page until you update the SETUPFILE path.

Frequently asked questions

How do I use an Org-HTML theme in my Org files?

Add a SETUPFILE line to your Org file pointing at the theme setup, for example the html-theme-bigblow.setup file hosted under the org/setup/ directory on the project's GitHub Pages site, then export to HTML. You need Org mode version 8 or later, installing one from ELPA if your Emacs does not bundle it. No build step is involved.

What are the Bigblow keyboard shortcuts?

The README lists them: ? or h for the dashboard, n and p to move between main headings, b to scroll up, < and > for top and bottom, - to collapse all and + to expand all, r and R to step through list tasks, q to stop reviewing, and g to reload the page. A 2:49 silent demo video is linked in the README.

Why does my exported HTML have a warning banner on it?

Because the setup file your Org file references has been deprecated. The names theme-bigblow.setup and theme-readtheorg.setup were replaced on 2026-01-24 by html-theme-bigblow.setup and html-theme-readtheorg.setup, and on 2026-07-10 all setup files moved into an org/setup/ directory. Old references still work but inject a banner into the output telling you what to update.

Does ReadTheOrg work well on mobile devices?

The README is direct that it does not stay completely functional, while the Sphinx theme it clones does work on mobile. The maintainer attributes this to limited time for the project and explicitly asks for help on that point and on improving the default structure of the HTML export. Bigblow is the more actively developed of the two.

Official sources

  1. fniessen/org-html-themes on GitHub
  2. Issues
  3. License: GPL-3.0
  4. README
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/fniessen-org-html-themes.svg)](https://hysenlabs.com/projects/fniessen-org-html-themes)