react-snap

Pre-render single-page applications as static HTML with this zero-configuration React-oriented tool.

github.com/stereobooster/react-snap
react-snap homepage screenshot

About react-snap

react-snap pre-renders a single-page application into static HTML by crawling links starting from the root with Headless Chrome. It runs as a post-build step configured in package.json, works with React, Preact, Vue and other frameworks, and provides a callback to save application state at render time.

It only supports routing that uses the HTML5 history API and does not support hash URLs. Critical CSS inlining is described as experimental, and not all configuration options are documented.

Key features

  • Pre-renders web app into static HTML files
  • Crawls available links starting from root using Headless Chrome
  • Runs as postbuild script after standard build output
  • Works without React dependency, including Vue and Preact
  • Supports hydrate when pre-rendered markup exists, render otherwise
  • Provides snapSaveState callback to save state after rendering
Best for: Developers with single-page apps who need static HTML for search and social previews.
Good for
  • Zero-configuration approach with options set in package.json when needed
  • Uses a real browser, avoiding issues with HTML5 features such as WebGL or Blobs
  • Package has no compilation step, so it can be forked and installed from a GitHub URL
Watch out for
  • Requires HTML5 history API routing; hash URLs are not supported
  • Critical CSS inlining is marked as experimental and needing improvements
  • Not all options are documented; defaults must be checked in index.js

react-snap at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 5, 2026 · Online when checked
Listed
Oct 5, 2026

react-snap alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in SEO & Web Analytics

Well-known listings from the same topic.

All 211

react-snap FAQ

How do I run react-snap with create-react-app?
Install with yarn add --dev react-snap, add "postbuild": "react-snap" to scripts in package.json, and update src/index.js to hydrate when the root element has child nodes and render otherwise.
Does react-snap require React?
No. It does not depend on React and can be used with other technologies such as Vue or Preact.
Does it work with hash URLs?
No. It only works with routing that uses the HTML5 history API.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing