open sourcecomponentbuild systems


Categorize, sort, and filter a responsive grid of items.

Hello world

Shuffle started as a side project while I was still at RIT in December 2011. It used to be a jQuery plugin with a dependency on Modernizr. Isotope, a great layout plugin, inspired me to create my own with a focus on filtering and sorting items.


Shuffle has evolved over the years. I rewrote it multiple times, removed its dependency on jQuery and Modernizr, added unit tests, added Rollup to generate bundles, and added TypeScript definitions.

Along the way, it has also been used in multiple Odopod projects.

Shuffle and its docs site has been a great outlet for me to try new web features and build tools, like Rollup and Gulp, before using them in client projects.


GitHub users have opened more than 150 issues with a wide variety of questions, feature requests, and bugs.

Current status

I actively maintain the package and occasionally contribute new features, documentation, and demos. npm users download the shufflejs package thousands of times per month.

Next project