Web Starter Kit - a workflow for multi-device websites

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682 (2 ratings)
Rated 3.5 out of 5
Subscribe to updates I use web-starter-kit

Statistics on web-starter-kit

Number of watchers on Github 15647
Number of open issues 70
Average time to close an issue 18 days
Main language HTML
Average time to merge a PR 7 days
Open pull requests 28+
Closed pull requests 26+
Last commit 5 months ago
Repo Created about 3 years ago
Repo Last Updated 3 months ago
Size 12.3 MB
Homepage http://developers...
Organization / Authorgoogle
Latest Releasev0.6.5
Page Updated
Do you use web-starter-kit? Leave a review!
View open issues (70)
View web-starter-kit activity
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating web-starter-kit for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Web Starter Kit


Web Starter Kit is an opinionated boilerplate for web development. Tools for building a great experience across many devices and performance oriented. Helping you to stay productive following the best practices outlined in Google's Web Fundamentals. A solid starting point for both professionals and newcomers to the industry.


Feature Summary
Responsive boilerplate A responsive boilerplate optimized for the multi-screen web. Powered by Material Design Lite. You're free to use either this or a completely clean-slate via basic.html.
Sass support Compile Sass into CSS with ease, bringing support for variables, mixins and more. (Run gulp serve or gulp for production)
Performance optimization Minify and concatenate JavaScript, CSS, HTML and images to help keep your pages lean. (Run gulp to create an optimised version of your project to /dist)
Code Linting JavaScript code linting is done using ESLint - a pluggable linter tool for identifying and reporting on patterns in JavaScript. Web Starter Kit uses ESLint with eslint-config-google, which tries to follow the Google JavaScript style guide.
ES2015 via Babel 6.0 Optional ES2015 support using Babel. To enable ES2015 support remove the line "only": "gulpfile.babel.js", in the .babelrc file. ES2015 source code will be automatically transpiled to ES5 for wide browser support.
Built-in HTTP Server A built-in server for previewing your site locally while you develop and iterate
Live Browser Reloading Reload the browser in real-time anytime an edit is made without the need for an extension. (Run gulp serve and edit your files)
Cross-device Synchronization Synchronize clicks, scrolls, forms and live-reload across multiple devices as you edit your project. Powered by BrowserSync. (Run gulp serve and open up the IP provided on other devices on your network)
Offline support Thanks to our baked in Service Worker pre-caching, sites deploying dist to a HTTPS domain will enjoy offline support. This is made possible by sw-precache.
PageSpeed Insights Web performance metrics showing how well your site performs on mobile and desktop (Run gulp pagespeed)


Download the kit or clone this repository and build on what is included in the app directory.

There are two HTML starting points, from which you can choose:

  • index.html - the default starting point, containing Material Design layout.
  • basic.html - no layout, but still includes our minimal mobile best-practices

Be sure to look over the installation docs to verify your environment is prepared to run WSK. Once you have verified that your system can run WSK, check out the commands available to get started.

Web Performance

Web Starter Kit strives to give you a high performance starting point out of the box. Our median Web Page Test scores for the default template have a Speed Index of ~1100 (1000 is ideal) and a repeat-visit Speed Index of ~550 thanks to Service Worker precaching.

Browser Support

At present, we officially aim to support the last two versions of the following browsers:

  • Chrome
  • Edge
  • Firefox
  • Safari
  • Opera
  • Internet Explorer 9+

This is not to say that Web Starter Kit cannot be used in browsers older than those reflected, but merely that our focus will be on ensuring our layouts work great in the above.


If you find yourself running into issues during installation or running the tools, please check our Troubleshooting guide and then open an issue. We would be happy to discuss how they can be solved.

A Boilerplate-only Option

If you would prefer not to use any of our tooling, delete the following files from the project: package.json, gulpfile.babel.js and .travis.yml. You can now safely use the boilerplate with an alternative build-system or no build-system at all if you choose.

Docs and Recipes


Web Starter Kit is inspired by Mobile HTML5 Boilerplate and Yeoman's generator-gulp-webapp, having taken input from contributors to both projects during development. Our FAQs attempt to answer commonly asked questions about the project.


Contributions, questions and comments are all welcome and encouraged. For code contributions to Web Starter Kit, please see our Contribution guide before submitting a pull request. Website related issues should be filed on the Web Fundamentals issue tracker.


Apache 2.0
Copyright 2015 Google Inc

web-starter-kit open issues Ask a question     (View All Issues)
  • 7 months consider clearing cache in clean task
  • 7 months Import from NPM/Bower
  • 7 months The kit works, but...
  • 7 months UPDATE http://google.github.io/web-starter-kit/hello-world/
  • 7 months gulp serve "Working directory changed to" issue
  • 8 months Add HTML partial support
  • 8 months Failed to load external module babel-register
  • 8 months Example code uses old version of Material Design Lite
  • 9 months Babel Core ^6.0.0 - Unexpected token import
  • 9 months Update Google Analytics snippet
  • 9 months Feature: Swap out Gulp for a Module Bundler
  • 9 months Integrate `stylelint` for linting styles
  • 11 months The right way to do localization?
  • 11 months Problem with uncss + mdl-sass
  • 11 months Default index.html navbar and button being overlapped
  • 11 months Add official generator for Yeoman
  • 11 months .tmp directory permissions issue
  • about 1 year Sourcemaps not working after gulp serve
  • about 1 year gulpfile: scripts task: multiple script files
  • about 1 year WSK Example
  • about 1 year rollup + babel on WSK2
  • about 1 year Error with 'gulp deploy' task?
  • about 1 year MDL: Why do you have to reference the same set of source files twice?
  • about 1 year Windows installation fails due to missing VCBuild.exe
  • over 1 year Inline JS is not being minified
  • over 1 year Nav link act like tab link for single page apps?
  • over 1 year Unexpected token import
  • over 1 year fsevents doesn't install on linux
  • over 1 year node-sass installation
  • over 1 year main.scss @font-face url error
web-starter-kit open pull requests (View All Pulls)
  • Minify inline
  • Update copyright year
  • Avoiding grep
  • Inject css styles instead of reloading page for local server
  • add htmlhint to lint html files
  • Fix typos
  • Browsersync
  • Try to fix issue #848
  • Wsk2 babel rollup
  • Prevent useref from outputting main.min.js (Closes #848)
  • Fix consistency with every other paths
  • Updated dependencies
  • add node6
  • Malformed code
  • live browser reloading on js files is missing
  • Add Firebase login command to deploy docs.
  • README: remove unused file
  • Add nodejs 6 to travis.
  • Update dependencies.
  • chore(mdl): Use MDL 1.2.1
  • HTML partial support
  • Break long line in gulpfile into smaller lines
  • amaze ui source code
  • Add main.js to alternative starting point page
  • Added smooth scroll
  • Copy edits
  • Add CDNJS badge in readme
  • useref simplified (issue #913)
web-starter-kit questions on Stackoverflow (View All Questions)
  • Google Web Starter Kit - JShint gives error with new Javascript file
  • Putting together Google Web Starter Kit & Expressjs?
  • Installing Google Web Starter Kit takes forever
  • Google web starter kit gulp serve error
  • How to use (not install) Google Web Starter Kit?
  • I want to use Google Web Starter Kit. Can I use Django to plug data into the web page?
  • How to use the hamburger menu on Android with Web Starter Kit?
  • Best practise for integration of Google's Web Starter Kit with AppEngine/Jinja2
  • Web Starter Kit SASS not compiling
  • Web starter kit installation Error
  • Web starter kit & php
  • Google web starter kit and nginx
  • Make Google's Web Starter Kit Gulpfile Livereload SCSS Imports
  • Insert jquery on web starter kit
  • Web Starter Kit - where to write sass?
  • How to incorporate Google's Web Starter Kit in a Middleman project?
  • Google Web Starter Kit not installing correctly
  • Issue getting started with Google Web Starter Kit
  • Web Starter Kit and Gulpfile's unknown points
  • Setting up Bower with Gulp (and Web Starter Kit)
  • How to include AngularJS file in grunt build with web starter kit
  • Why are there no forms in the Visual Style Guide of Web Starter Kit?
  • Web starter kit gulp error on first install
  • Web Starter Kit - Adding fonts
  • Getting error using BrowserSync with Web Starter Kit
  • Can't link to my bower_components folder using google web-starter-kit
  • Google's Web Starter Kit error running gulp in git bash command line terminal
  • Google Web Starter Kit implementation in Fat-Free framework
  • Using sass source maps in web-starter-kit
  • Google Web Starter Kit responsive navigation
web-starter-kit list of languages used
web-starter-kit latest release notes
v0.6.5 v0.6.5

This is a maintenance release of Web Starter Kit Download it here

v0.6.4 0.6.4

Download the latest release here.

v0.6.3 Web Starter Kit 0.6.3

This is a maintenance release of Web Starter Kit Download it here

  • Multiple fixes to Service Worker setup
  • Regression fix: avoid generating scripts a level-up from project root
Other projects in HTML