Blazing fast modern site generator for React
Go beyond static sites: build blogs, e-commerce sites, full-blown apps, and more with Gatsby.
Quickstart ยท Tutorial ยท Plugins ยท Starters ยท Showcase ยท Contribute ยท Support: Spectrum & Discord
Gatsby is a modern framework for blazing fast websites.
-
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.
-
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 back-end.
-
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.
-
Performance Is Baked In. Ace your performance audits by default. Gatsby automates code splitting, image optimization, inlining critical styles, lazy-loading, and prefetching resources, and more to ensure your site is fast โ no manual tuning required.
-
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 services like GitHub Pages and Netlify.
Learn how to use Gatsby for your next project.
- Get Up and Running in 5 Minutes
- Learning Gatsby
- Migration Guides
- How to Contribute
- Thanks to Our Contributors and Sponsors
You can get a new Gatsby site up and running on your local dev environment in 5 minutes with these three steps:
-
Create a Gatsby site from a Gatsby starter.
Get your Gatsby blog set up in a single command:
# install the Gatsby CLI globally npm install -g gatsby-cli # create a new Gatsby site using the default starter gatsby new my-blazing-fast-site
-
Start the site in
develop
mode.Next, move into your new siteโs directory and start it up:
cd my-blazing-fast-site/ gatsby develop
-
Open the source code and start editing!
Your site is now running at
http://localhost:8000
. Open themy-blazing-fast-site
directory in your code editor of choice and editsrc/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.
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 โGuidesโ, โAPI Referenceโ, and โAdvanced Tutorialsโ 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
Already have a Gatsby site? These handy guides will help you add the improvements of Gatsby v2 to your site without starting from scratch!
- Migrate a Gatsby site from v1 to v2
- Still on v0? Start here: Migrate a Gatsby site from v0 to v1
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.
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. ๐ช๐
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.
We are currently only accepting bug fixes for Gatsby v1. No new features will be accepted.
Thanks to our many contributors and sponsors as well as the companies sponsoring our testing and hosting infrastructure: Travis CI, Appveyor, and Netlify.