CSS toolkit from Twitter converted to Sass. There are other ports of the bootstrap to Sass. This project is focused on being a 1:1 translation from Less to Sass.
Clone or download
Pull request Compare This branch is 202 commits behind jlong:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Twitter Bootstrap Build Status

Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by Mark Otto and Jacob Thornton.

To get started, checkout http://getbootstrap.com!

Quick start

Clone the repo, git clone git://github.com/twitter/bootstrap.git, download the latest release, or install with twitter's Bower: bower install bootstrap.

SASS: Usage

You can use the SASS Twitter Bootstrap by dropping the compiled CSS into any new project and start cranking.

Because SASS always outputs standard css, just link to the final output like normal:

<link rel="stylesheet" type="text/css" href="bootstrap-2.2.1.css">

For more info, refer to the docs!

SASS: Basic modification

You can learn more about SASS at:


SASS runs as a local GEM on your system. You can run sass --watch lib/bootstrap.scss:bootstrap-2.2.1.css


For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Bootstrap will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit http://semver.org/.

Bug tracker

Have a bug? Please create an issue here on GitHub that conforms with necolas's guidelines.


Twitter account

Keep up to date on announcements and more by following Bootstrap on Twitter, @TwBootstrap.


Read more detailed announcements, discussions, and more on The Official Twitter Bootstrap Blog.

Mailing list

Have a question? Ask on our mailing list!




Server: irc.freenode.net

Channel: ##twitter-bootstrap (the double ## is not a typo)

SASS: Developers

We have included a Rakefile with convenience methods for working with the SASS Bootstrap library.

  • build - rake build This will run the less compiler on the bootstrap lib and regenerate the docs dir. The lessc compiler is required for this command to run.

  • watch - rake watch This is a convenience method for watching your Sass files and automatically building them whenever you save.


We have included a makefile with convenience methods for working with the Bootstrap library.

  • dependencies Our makefile depends on you having recess, connect, uglify.js, and jshint installed. To install, just run the following command in npm:
$ npm install recess connect uglify-js jshint -g
  • build - make Runs the recess compiler to rebuild the /less files and compiles the docs pages. Requires recess and uglify-js. Read more in our docs »

  • test - make test Runs jshint and qunit tests headlessly in [phantomjs] (http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed.

  • watch - make watch This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.


Please submit all pull requests against *-wip branches. If your unit test contains javascript patches or features, you must include relevant unit tests. Thanks!


Mark Otto

Jacob Thornton

Sass Conversion

The Twitter Bootstrap was lovingly converted to Sass by:

John W. Long

Jeremy Hinegardner



And others

Sass Conversion Quick Tips

  • replace @ with $
  • replace . with @include for mixins
  • replace spin with adjust-hue
  • add !default to variable definitions
  • replace #gradient > .vertical with @include gradient-vertical
  • replace #grid > .style with @include grid-style
  • use grid-core and grid-fluid mixins instead of #grid > .core and #grid > .fluid
  • use font-shorthand instead of #font > .shorthand
  • replace fadein with fade-in
  • move @import for reset below mixins, because it uses tab-focus mixin in bootstrap.scss
  • explicitly provide .clearfix, .hide-text and .input-block-level for compatibility with LESS output
  • pass grid-* mixin arguments to generators, because otherwise the generator mixins will use the default variables pull transition definition into variable

Copyright and license

Copyright 2012 Twitter, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.