Freedom251 › Static site generators
Nikola

What Nikola is
Nikola is a static site generator that turns written content into a folder of HTML files and assets for a website. It can build blogs, company and personal sites, software project sites, and book sites. Built-in input formats include reStructuredText, Markdown, IPython notebooks, and HTML; plugins can add other formats. Blog tools include comments, tags, categories, archives, and RSS/Atom feeds, as well as image galleries and code listings. Nikola supports almost 40 languages out of the box and allows posts in multiple languages.
Generated sites can be hosted on any web server that serves HTML files, and the handbook lists GitHub Pages deployment. Nikola-generated pages do not run code on the server, so they cannot process form input except for comments. For extending a site, users can add Python plugins and create themes with Mako or Jinja2. The project also describes integrations with static-site CMS solutions including Dato CMS, Netlify CMS, and Contentful, and includes a WordPress importer. Incremental builds use doit to rebuild pages that need changes. Nikola is free, open-source software under the MIT license, written in Python 3; its homepage lists Python 3.8 or later. It runs on Linux, macOS, and Windows, and can be self-hosted.
Who it suits
Nikola suits people building blogs, personal or company sites, software project sites, or books who are comfortable generating and deploying static files. It can also suit multilingual publishing and workflows using supported input formats, plugins, themes, or compatible static-site CMS solutions.
What it does well
- Free, open-source software under the MIT license.
- Supports reStructuredText, Markdown, IPython notebooks, and HTML.
- Includes blog features, image galleries, and code listings.
- Supports almost 40 languages and multilingual posts.
- Generated sites can be hosted on any web server serving HTML.
What to know first
- Generated sites cannot process form input except for comments.
- Indexed plugins and themes are not officially supported.
- Linux distribution packages may be outdated; the Ubuntu package is broken and unsupported.
Limits
The listed plan is free and requires Python 3.8 or later. Generated sites cannot process user input in forms except for comments.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Nikola | Free open-source software under the MIT license · Requires Python 3.8+ | Free |
As getnikola.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Install Python 3.8 or later.
- Install Nikola using a supported installation route; the guide warns that Linux distribution packages may be outdated and the Ubuntu package is unsupported.
- Choose an input format such as Markdown, reStructuredText, IPython notebooks, or HTML.
- Generate the site files with Nikola.
- Upload the generated HTML files and assets to a web server, or use the listed GitHub Pages deployment support.
Nikola is a free, open-source static-site generator for turning written content into deployable websites. It is best suited to writers, publishers, and developers who want broad built-in blog and multilingual capabilities without operating an application server. Its portable HTML output is a major advantage, but server-side interactivity and unsupported indexed extensions narrow its fit.
Overview
Nikola builds blogs, personal and company sites, software project sites, and books from content written in reStructuredText, Markdown, IPython notebooks, or HTML. Plugins can add further input formats. Each build produces a folder of HTML files and assets that can be uploaded to any web server serving HTML, including GitHub Pages.
Because the published site does not execute code on the server, hosting can use a smaller, lower-resource stack with less exposure to server-side vulnerabilities and less dependence on a particular vendor or platform. That architecture also imposes a hard boundary: forms cannot process visitor input, except for comments. Nikola is therefore a strong choice for content-led sites, not for web applications requiring server-side workflows.
Key features
- Complete blog toolkit: Comments, tags, categories, archives, RSS and Atom feeds, image galleries, and code listings are built in, reducing the need to assemble routine publishing functions yourself.
- Multilingual publishing: Almost 40 languages are supported out of the box, and posts can be published in multiple languages. This is useful for international or multilingual editorial sites.
- Flexible authoring: Markdown, reStructuredText, notebooks, and HTML accommodate both conventional writing and technical documentation. A built-in WordPress importer can help move an existing blog, while other blog importers are available as plugins.
- Incremental builds: Nikola uses doit to rebuild only pages affected by changes, a practical benefit for larger sites where a full regeneration would take longer.
- Extensible presentation: Python plugins add features, and themes can be created with Mako or Jinja2. Custom code also allows theme customization, although indexed plugins and themes are not officially supported by the project.
- Publishing controls: Custom domains and post scheduling are supported. Integrations with Dato CMS, Netlify CMS, and Contentful can connect Nikola to static-site content workflows.
Pricing
Nikola costs free on its single plan. It is free, open-source software under the MIT license, requires Python 3.8 or later, and has no trial because the software is permanently free. There are no paid tiers, seat charges, renewal terms, or published usage quotas to weigh against the free plan.
This model suits individuals, teams, and organizations comfortable hosting the generated files themselves and maintaining a Python-based toolchain. The trade-off is that the price covers the software, not managed hosting or a hosted editorial service; deployment and operations remain your responsibility.
Platforms
Nikola runs on Linux, macOS, and Windows, and supports self-hosted workflows. It is written in Python 3, with Python 3.8 or later required. The output itself is ordinary HTML and assets, so it can be served by any compatible web server. The getting-started guidance warns that Linux distribution packages may be outdated and specifically describes the Ubuntu package as broken and unsupported; installing a current supported Python environment is the safer route.
Who it's for
Nikola fits bloggers, documentation authors, publishers, companies, software projects, and book creators who value ownership of generated files, multilingual publishing, and deployment flexibility. It is particularly sensible when a site can be served as static assets and comments are the only required visitor interaction.
Look elsewhere if your project needs account systems, transactional forms, or other server-side processing. Teams that expect officially maintained marketplace themes and plugins may also prefer a platform with stronger extension support.
Pros and cons
Pros
- Free MIT-licensed software with no plan limits or renewal costs.
- HTML output runs on virtually any web server and supports GitHub Pages deployment.
- Built-in publishing features cover comments, taxonomies, feeds, galleries, code listings, scheduling, and multilingual posts.
- Incremental rebuilding can reduce build work as a site grows.
- Python plugins and Mako or Jinja2 themes provide substantial customization.
Cons
- Generated sites cannot process forms beyond comments, ruling out many interactive applications.
- Indexed plugins and themes are not officially supported, increasing maintenance responsibility for extensions.
- Users must manage the Python runtime and deployment themselves; some Linux distribution packages may be outdated or unsupported.
Alternatives
Hugo is a free, open-source option for Windows, macOS, and Linux if you want a different static-site generator without a listed price.
Gatsby is worth considering when an API, self-hosted, or web-based workflow and a free tier with a 300-credit monthly limit are relevant.
Cecil is another free cross-platform static-site tool with no stated cost or usage limits.
Publii suits readers seeking a free, open-source desktop CMS rather than a Python generator.
Eleventy is a free MIT-licensed, self-hosted alternative for static sites.
Nanoc is a free, cross-platform passion project.
Zola offers free cross-platform software distributed as a single executable.
Jekyll is a free cross-platform static-site generator with no stated pricing or usage limits.
For a broader comparison, see Static site generators and Blogging Platforms.
Verdict
Pick Nikola if you want a capable, no-cost generator with built-in blogging, multilingual publishing, scheduling, and portable HTML output. Its MIT license and server-agnostic deployment make it a durable choice for content-focused sites. Choose another platform when server-side form processing, managed hosting, or officially supported indexed extensions is central to your project.
Verdict
Pick Nikola if you want a free, open-source generator for a blog or other static site and can work with generated HTML files. Look elsewhere if your site needs server-side form processing beyond comments, or if you need officially supported indexed plugins and themes.
Questions
How much does Nikola cost?
The listed plan is free. Nikola is free, open-source software under the MIT license.
Which platforms does Nikola support?
The listed platforms are Linux, macOS, self-hosted, and Windows.
What does Nikola create?
It generates a folder of HTML files and assets for a website, including blogs, company and personal sites, software project sites, and book sites.
Can a Nikola site use a custom domain?
Yes, custom domains are supported.
Can Nikola process form submissions?
Generated sites cannot process user input in forms, except for comments.
Does Nikola include a free trial?
No. Nikola is offered as free software, and no free trial is listed.
Facts from Nikola's own pages
- Builds
- Nikola uses doit for incremental rebuilds that rebuild only pages needing changes. · getnikola.com, 11 Oct 2026
- Built-in features
- Nikola includes blog support with comments, tags, categories, archives and RSS/Atom feeds, along with image galleries and code listings. · getnikola.com, 11 Oct 2026
- Built-in memberships
- No · getnikola.com, 22 Sept 2026
- Custom domain
- Yes · getnikola.com, 22 Sept 2026
- Deployment
- Nikola sites can be hosted on any web server that serves HTML files, and the handbook lists GitHub Pages deployment support. · getnikola.com, 11 Oct 2026
- Extensibility
- Users can add features with Python plugins and create themes with Mako or Jinja2. · getnikola.com, 11 Oct 2026
- Free plan
- Yes · getnikola.com, 22 Sept 2026
- Hosting
- A generated Nikola site can be hosted on any web server because it consists of HTML files and assets. · getnikola.com, 11 Oct 2026
- Importers
- Nikola includes a built-in WordPress importer, with other blog importers available as plugins. · getnikola.com, 11 Oct 2026
- Input formats
- Built-in input formats include reStructuredText, Markdown, IPython notebooks, and HTML; plugins add other formats. · getnikola.com, 11 Oct 2026
- Installation limits
- The getting-started guide warns Linux distribution packages may be outdated and says the Ubuntu package is broken and unsupported. · getnikola.com, 11 Oct 2026
- Integrations
- The features page says Nikola can work with static-site CMS solutions including Dato CMS, Netlify CMS, and Contentful. · getnikola.com, 11 Oct 2026
- Languages
- Nikola supports almost 40 languages out of the box and allows posts in multiple languages. · getnikola.com, 11 Oct 2026
- License
- Nikola is released under the MIT license, while some bundled or required components use other licenses. · getnikola.com, 11 Oct 2026
- Notable limitation
- Because Nikola sites do not run code on the server, they cannot process user input in forms, except for comments. · getnikola.com, 11 Oct 2026
- Plugin and theme support
- Nikola states that plugins and themes from its indexes are not officially supported. · getnikola.com, 11 Oct 2026
- Product
- Nikola is a static site generator that turns content into a website ready to deploy. · getnikola.com, 11 Oct 2026
- Runtime
- Nikola is written in Python 3 and the homepage lists Python 3.8 or later. · getnikola.com, 11 Oct 2026
- Post scheduling
- Yes · getnikola.com, 22 Sept 2026
- Security and portability
- The site describes static websites as safer, lower-resource, and less prone to vendor and platform lock-in. · getnikola.com, 11 Oct 2026
- Security model
- The handbook says Nikola-generated sites do not run code on the server and describes their server stack as smaller, which it says implies less security risk. · getnikola.com, 11 Oct 2026
- Site features
- Built-in components include blogs with comments, tags, categories, archives and RSS/Atom feeds, plus image galleries and code listings. · getnikola.com, 11 Oct 2026
- Site types
- Nikola can be used for blogs, company sites, personal sites, software project sites and book sites. · getnikola.com, 11 Oct 2026
- Support
- The project directs users to GitHub Discussions, a Libera.Chat IRC channel, and GitHub Issues for bug reports; indexed plugins and themes are not officially supported. · getnikola.com, 11 Oct 2026
Where Nikola stands on Freedom251
- Static site generators#5 of 35
- Blogging Platforms#37 of 125
