Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

This page's audience our own tag's counts — open to see them
–Visits
–Page views
–Clicks to vendors
–Time on page
–Reading now
Clicks to vendors, by tool
  • –
Top countries
  • –
Devices
  • –

– · visits, page views and clicks counted by our own tag, which counts more than our checked analytics; every figure rounded down · how we count

Grain review

Free#30 of 35 in Static Site Generators

A flexible open-source choice for Groovy or Java static sites.

6.3/10Editor score
Grain6.3 Visit Grain

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

Grain is an open-source static website generator and framework written in Groovy. It generates static websites from content and theme files for personal blogs, company websites, and documentation sites. Its supported platforms are Windows, Linux, and macOS, while its supported languages are Groovy and Java. Grain is suited to solo developers and small or mid-market teams that want self-hosted static sites with customizable themes.

The strongest part of Grain is its markup and templating flexibility. Content can be processed as Markdown, reStructuredText, or AsciiDoc, while templates support embedded Groovy code, layouts, includes, and nesting. A local preview server with live reload supports iterative authoring. URL and resource mapping, source compression, minification, Python Pygments syntax highlighting, and Sass or SCSS support extend the publishing workflow beyond basic page generation. These capabilities make Grain a practical fit for projects that need custom theme behavior and varied documentation or content formats.

The main trade-off is the project setup and its narrower ecosystem. Projects require a JDK to run and use Gradle-based themes, which adds development tooling requirements before content work begins. Deployment is handled through configured shell commands, and Grain is self-hosted rather than presented as a managed publishing service. It also does not provide incremental builds, multilingual support, or broader content-management features. Choose Grain when Groovy or Java integration, flexible markup processing, and theme control matter most; consider an alternative when a wider integration ecosystem, multilingual publishing, incremental builds, or more extensive CMS capabilities are central requirements.

Grain pros and cons

  • Where it wins
    • Supports Markdown, reStructuredText, and AsciiDoc
    • Includes live reload, layouts, includes, and template nesting
    • Provides URL mapping, minification, syntax highlighting, and Sass support
  • Where it doesn't
    • Requires a JDK and Gradle-based themes
    • Deployment uses configured shell commands
    • Lacks incremental builds, multilingual support, and broader CMS features

Grain fact sheet, pricing and score →

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update