a node-based CSS compressor
Switch branches/tags
Nothing to show
Clone or download
ded Merge pull request #22 from builtbylane/patch-1
update package.json to prevent warning
Latest commit 337dbf4 Jul 23, 2014


Welcome to Sqwish

A Node based CSS Compressor. It works like this.

require('sqwish').minify('body { color: #ff33cc; }');
// => "body{color:#f3c}"


Install it.

$ npm install -g sqwish

Use it like this:

$ sqwish app.css # default output is <file>.min.css therefore app.css => app.min.css
$ # or...
$ sqwish css/styles.css -o prod/something-else.min.css


Sqwish does not attempt to fix invalid CSS, therefore, at minimum, your CSS should at least follow the basic rules:

selectors[,more selectors] {
  property: value;
  another-property: another value;

Strict Optimizations

Aside from regular minification, in --strict mode Sqwish will combine duplicate selectors and merge duplicate properties.

/* before */
div {
  color: orange;
  background: red;
div {
  color: #ff33cc;
  margin: 1px 0px 1px 0px;

/* after */
div{color:#f3c;background:red;margin:1px 0}

This mode can be enabled as so:

sqwish.minify(css, true);

on the command line

$ sqwish styles.css --strict


Be sure you have the proper testing harness set up ahead of time by installing the sink-test submodule

$ npm install --dev

Tests can be added in tests/tests.js, and then run as such:

$ npm test


Sqwish is copyright Dustin Diaz 2011 under MIT License

Happy Sqwishing!