node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


React Static Logo

Travis CI Build Status David Dependancy Status npm package v npm package dm Join the community on Slack Github Stars Twitter Follow

React Static

A progressive static-site generator for React.

Read the introduction article on Medium

React-Static is a fast, lightweight, and powerful framework for building static-progressive React applications and websites. It's been carefully designed to meet the highest standards of SEO, site performance, and user/developer experience.


  • ⚛️ 100% React (or Preact!)
  • 🚀 Blazing fast builds and performance.
  • 🚚 Data Agnostic. Supply your site with data from anywhere, however you want.
  • ✂️ Automatic code and data splitting for routes!
  • 💥 Instant page views via PRPL pattern.
  • 🎯 Built for SEO.
  • 🥇 React-first developer experience.
  • 😌 Painless project setup & migration.
  • 💯 Supports 100% of the React ecosystem. Including CSS-in-JS libraries, custom Query layers like GraphQL, and even Redux.
  • 🔥 Hot Reloadable out-of-the-box. Edit React components & styles in real-time.
  • 📲 LAN accessible dev environment for testing on other devices like phones and tablets.

Videos & Tutorials

Sites Built with React-Static

Quick Start

  1. Install the CLI:
$ yarn global add react-static
# or 
$ npm install -g react-static
  1. Create a new project:
$ react-static create
  1. Pick a template! See the full list of templates
  2. Navigate to your new project:
cd my-static-site
  1. Start the dev server and edit some code!
$ yarn start # or react-static start 
  1. Test a production build
$ yarn stage # or react-static build --staging 
$ yarn serve
  1. Build for production!
$ yarn build # or react-static build 

Once you've installed and test driven sufficiently, you may want to:

Examples and Templates

All of the following examples can be used as a template at project creation.

Can't find an example? We invite you to write one! Simply copy the basic or blank templates and make the necessary changes. Then submit a PR including your new example directory and a new item in the list above. When merged, your example will automatically become a template in the CLI. How magical!


Core Concepts

API Reference


Contributing Guide

Chat with us on Slack!

Need some help? Have a quick question? Click here to sign up for the React-Tools slack org, and join us in the #react-static channel! We are constantly answering questions, discussing features and helping each other out!


We are always looking for people to help us grow react-static's capabilities and examples. If you have an issue, feature request, or pull request, let us know!


React Static uses the MIT license. For more information on this license, click here.