A Vue.js framework for
Static Websites

Gridsome makes it easy for developers to build modern JAMstack websites & PWAs that are fast by default

Open-source MIT Licensed. GitHub (v0.6.4)

Bring your data

CMSs

Any Headless CMS, Contentful, WordPress, Drupal, Sanity.io, etc.

Data

Any APIs, Databases, AirTable, YAML, CSV, JSON, etc.

Markdown

Any Git-based CMS, Forestry, Netlify CMS, Blogs, Documentation.

Build

Centralized data management
powered by GraphQL

  • HTML
  • Vue.js
  • CSS

Easy, local development

Build websites with modern tools like
Vue.js, GraphQL & all the power of Node.js & the JavaScript ecosystem. Develop locally and get instant hot-reloading for any code change.

Fast by default

Gridsome builds ultra performance into every page by using the PRPL pattern. You get code splitting, asset optimization, progressive images, and link prefetching out of the box. Gridsome sites get almost perfect page speed scores by default.

PWA-ready

Gridsome generates static PWAs. Only critical HTML, CSS, and JavaScript get loaded first. The next pages are then prefetched so users can click around incredibly fast without page reloads, even when offline.

Build on the JAMstack

The future of the web is JavaScript, APIs, and Markup - the JAMstack. Gridsome uses the power of blazing fast static site generation, JavaScript and APIs to create stunning modern web experiences.

Simple, safe deployment

No servers. No databases. Only files. Deploy your entire site to a CDN and forget about it. A Gridsome site can handle thousands to millions of hits without breaking - and no expensive server costs.

SEO-friendly

Gridsome sites loads as static HTML before it hydrates into a fully Vue.js-powered SPA. This makes it possible for search engines able to crawl content and give better SEO ranking, and still have all the power of Vue.js.

Make website building fun again

Gridsome makes it simple & fast to build modern websites for any data source.

src/pages/Blog.vue
<template>
  <Layout>
  	<h1>My blog</h1>
   	<div v-for="{ node } in $page.allPost.edges" :key="node.id">
      <h3>{{ node.title }}</h3>
   	  <g-link :to="node.path">Read more</g-link>
   	</div>
  </Layout>
</template>

<!-- Query from local GraphQL data layer. -->
<page-query>
query Posts {
  allPost {
    edges {
      node {
      	id
        title
        path
      }
    }
  }
}
</page-query>

Gridsome Sponsors

Latest from Gridsome blog

Read more

Gridsome v0.6

Gridsome 0.6 introduces a Pages API that gives you full control of page creation. It also has an API that let you fetch internal pages into other pages and components. This is perfect for lightboxes or «Click for more» pagination etc. 0.6 also improves build times and has a smaller core JS bundle size!

Posted 10. May 2019 by Hans-Jørgen VedvikHans-Jørgen Vedvik and Tommy VedvikTommy Vedvik - 3 min read

Read more

Gridsome v0.5

We're really excited to release Gridsome 0.5. The biggest update yet. It has many important features that make data handling easier and a lot more flexible. It opens up a whole new world of what you can build with Gridsome. Easily build Taxonomy pages and connections for any data.

Posted 19. February 2019 by Hans-Jørgen VedvikHans-Jørgen Vedvik and Tommy VedvikTommy Vedvik - 3 min read

Read more

Say hello to Gridsome 👶🎉💚

A new static site generator baby is born. It's highly inspired by Gatsby.js (React based) but built on top of Vue.js. We have been working on it for a year and will have a beta ready soon. You can expect this baby to grow up fast!

Posted 10. October 2018 by Tommy VedvikTommy Vedvik - 3 min read

Performance Matters