The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×

    An exquisite jQuery plugin for magical layouts. Enables filtering, sorting, and dynamic layouts.
    Filed under  › 

    • 🔾72%Overall
    • 11,012
    • 37 days
    • 🕩1417
    • 👥9


    Filter & sort magical layouts

    See for complete docs and demos.




    Link directly to Isotope files on unpkg.

    <script src=""></script>
    <!-- or -->
    <script src=""></script>

    Package managers

    npm: npm install isotope-layout --save

    Bower: bower install isotope-layout --save


    Commercial license

    If you want to use Isotope to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase an Isotope Commercial License at

    Open source license

    If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use Isotope under the terms of the GPLv3.

    Read more about Isotope's license.


    With jQuery

      // options...
      itemSelector: '.grid-item',
      masonry: {
        columnWidth: 200

    With vanilla JavaScript

    // vanilla JS
    var grid = document.querySelector('.grid');
    var iso = new Isotope( grid, {
      // options...
      itemSelector: '.grid-item',
      masonry: {
        columnWidth: 200

    With HTML

    Add a data-isotope attribute to your element. Options can be set in JSON in the value.

    <div class="grid"
      data-isotope='{ "itemSelector": ".grid-item", "masonry": { "columnWidth": 200 } }'>
      <div class="grid-item"></div>
      <div class="grid-item"></div>

    By Metafizzy 🌈🐻, 2010–2020

    Show All