gatsby is a free, open source blogging & personal sites project written in JavaScript and released under MIT. It has 55,939 GitHub stars, 10,115 forks and 450 open issues, and was last pushed 23 hours ago. On this registry it ranks #3 of 25 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available.

What is gatsby?

What it is

Gatsby is a free and open-source, React-based framework for building websites and applications, released under the MIT license and written primarily in JavaScript. It combines the control and scalability of dynamically rendered sites with the speed of static-site generation, and it sits in the JavaScript and React ecosystem as a static-site generator, a compiler, and a GraphQL-driven build tool. The project has been developed for roughly eleven years, carries 55,939 stars and 10,117 forks on GitHub, and currently has 450 open issues.

The concrete problem Gatsby solves is the split between content sources and the front end that renders them. Content commonly lives in Markdown files, in a headless CMS such as Contentful or WordPress, or behind a REST or GraphQL API, and each source normally demands its own fetching and templating code. Gatsby pulls data from any of these sources through source plugins and exposes all of it through one uniform GraphQL interface, so a team develops against a single query layer regardless of where the data originates. Static output means the resulting site does not require servers and can be served entirely from a CDN.

Key capabilities

  • Loads data from Markdown files, headless CMS platforms such as Contentful or WordPress, and REST or GraphQL APIs through source plugins.
  • Exposes all sourced data through a single uniform GraphQL interface used during development.
  • Produces fully functional React applications rather than static-only pages, supporting dynamic sites such as e-commerce sites and user dashboards.
  • Offers per-page choice of rendering options: Static Site Generation (SSG), Deferred Static Generation (DSG), and Server-Side Rendering (SSR).
  • Automates performance work at build time, including code splitting, image optimization, inlining of critical styles, lazy-loading, and resource prefetching.
  • Builds every site on the same React and GraphQL stack regardless of the backend supplying the data.
  • Supports extension through plugins and project scaffolding through starters.

Who uses it and how

  • Professional developers building maintainable, content-rich websites such as blogs and personal sites.
  • Teams sourcing content from headless CMS platforms like Contentful or WordPress while writing front-end code in React
project readme (upstream, from github) — read inline

Gatsby

Gatsby

The future of web development is here.

Gatsby is a free and open-source framework based on React that helps developers build blazing fast websites and apps.
It combines the control and scalability of dynamically rendered sites with the speed of static-site generation, creating a whole new web of possibilities.

Gatsby is released under the MIT license. Current CircleCI build status. Current npm package version. Downloads per month on npm. Total downloads on npm. PRs welcome!

Quickstart · Tutorial · Plugins · Starters · Showcase · Contribute
Support: Discussions

Gatsby helps professional developers efficiently create maintainable, highly-performant, content-rich websites.

  • Load Data From Anywhere. Gatsby pulls in data from any data source, whether it’s Markdown files, a headless CMS like Contentful or WordPress, or a REST or GraphQL API. Use source plugins to load your data, then develop using Gatsby’s uniform GraphQL interface.

  • Go Beyond Static Websites. Get all the benefits of static websites with none of the limitations. Gatsby sites are fully functional React apps, so you can create high-quality, dynamic web apps, from blogs to e-commerce sites to user dashboards.

  • Choose your Rendering Options. You can choose alternative rendering options, namely Deferred Static Generation (DSG) and Server-Side Rendering (SSR), in addition to Static Site Generation (SSG) — on a per-page basis. This type of granular control allows you to optimize for performance and productivity without sacrificing one for the other.

  • Performance Is Baked In. Ace your performance audits by default. Gatsby automates code splitting, image optimization, inlining critical styles, lazy-loading, prefetching resources, and more to ensure your site is fast — no manual tuning required.

  • Use a Modern Stack for Every Site. No matter where the data comes from, Gatsby sites are built using React and GraphQL. Build a uniform workflow for you and your team, regardless of whether the data is coming from the same backend.

  • Host at Scale for Pennies. Gatsby sites don’t require servers, so you can host your entire site on a CDN for a fraction of the cost of a server-rendered site. Many Gatsby sites can be hosted entirely free on Netlify and other similar services.

Learn how to use Gatsby for your next project.

🚀 Ship your first Gatsby site in 5 Minutes

Click the link below to quickly try the workflow of developing, building, and deploying websites with Gatsby and Netlify.

Deploy to Netlify

At the end of this process, you'll have

  1. a site working on Netlify
  2. a new repository that is linked to that new site
  3. as you push changes to your new repository, Netlify will automatically rebuild and redeploy your site!

💻 Get started with Gatsby locally in 5 Minutes

You can get a new Gatsby site up and running on your local dev environment in 5 minutes with these four steps:

  1. Initialize a new project.

    npm init gatsby
    

    Give it the name "My Gatsby Site".

  2. Start the site in develop mode.

    Next, move into your new site’s directory and start it up:

    cd my-gatsby-site/
    npm run develop
    
  3. Open the source code and start editing!

    Your site is now running at http://localhost:8000. Open the my-gatsby-site directory in your code editor of choice and edit src/pages/index.js. Save your changes, and the browser will update in real time!

At this point, you’ve got a fully functional Gatsby website. For additional information on how you can customize your Gatsby site, see our plugins and the official tutorial.

🎓 Learning Gatsby

Full documentation for Gatsby lives on the website.

  • For most developers, we recommend starting with our in-depth tutorial for creating a site with Gatsby. It starts with zero assumptions about your level of ability and walks through every step of the process.

  • To dive straight into code samples head to our documentation. In particular, check out the “How-to Guides”, “Reference”, and “Conceptual Guides” sections in the sidebar.

We welcome suggestions for improving our docs. See the “how to contribute” documentation for more details.

Start Learning Gatsby: Follow the Tutorial · Read the Docs

🚢 Release Notes

Wondering what we've shipped recently? Check out our release notes for key highlights, performance improvements, new features, and notable bugfixes.

Also, read our documentation on version support to understand our plans for each version of Gatsby.

💼 Migration Guides

Already have a Gatsby site? These handy guides will help you add the improvements of Gatsby v5 to your site without starting from scratch!

❗ Code of Conduct

Gatsby is dedicated to building a welcoming, diverse, safe community. We expect everyone participating in the Gatsby community to abide by our Code of Conduct. Please read it. Please follow it. In the Gatsby community, we work hard to build each other up and create amazing things together. 💪💜

🤝 How to Contribute

Whether you're helping us fix bugs, improve the docs, or spread the word, we'd love to have you as part of the Gatsby community!

Check out our Contributing Guide for ideas on contributing and setup steps for getting our repositories up and running on your local machine.

A note on how this repository is organized

This repository is a monorepo managed using Lerna. This means there are multiple packages managed in this codebase, even though we publish them to NPM as separate packages.

📝 License

Licensed under the MIT License.

💜 Thanks

Thanks go out to all our many contributors creating plugins, starters, videos, and blog posts. And a special appreciation for our community members helping with issues and PRs, or answering questions on GitHub Discussions.

A big part of what makes Gats

readme truncated — read the full docs on github

Frequently asked questions

Is gatsby free to use?

gatsby is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does gatsby do?

React-based framework with performance, scalability, and security built in.

What is gatsby written in?

gatsby is primarily written in JavaScript. Its source is publicly available at https://github.com/gatsbyjs/gatsby, and it has 55,939 GitHub stars.