WordPress plugin · v1.0.1 · Free and Pro
Galleries that sort themselves out.
Five layouts – masonry, justified rows, grid, carousel and accordion – with category filters, scroll reveal effects and a native lightbox, for the block editor. Built on core blocks and the Interactivity API: 3 KB of JavaScript to start, the rest only when used. Zero dependencies. ⚡
The last WordPress gallery you’ll ever need.
Free and open source. Five layouts, category filters and a native lightbox – from 3 KB of JavaScript.
Features
Everything a gallery needs. Nothing it doesn’t.
Tune everything that matters: layout, columns and row height per device, filters, captions, hover effects, animations and the lightbox – plus colors, type and spacing through the regular block settings. All of it built on core blocks. Wisp Gallery Pro adds finer design controls, videos, albums and more.
01
Five layouts
Masonry, justified rows, grid, carousel and accordion, with sizes per device and scroll reveal effects.
02
Filters, your way
Buttons or a dropdown with counts and multi-select. Pro adds pills, tabs, presets, shareable links.
03
A native lightbox
Built on <dialog>: zooms from the thumbnail, arrow keys, swipe, captions and a counter.
04
3 KB of JavaScript to start
One small module starts the gallery. Layout, carousel and lightbox code loads only where used. No jQuery.
05
Made for the editor
The editor shows the real layout, with a device switcher, sorting and categories in the image sidebar.
06
Responsive on every screen
Columns and heights per device. On phones, an optional dropdown filter and a vertical accordion.
07
Accessible by default
Real buttons with aria-pressed, lightbox focus return, reduced motion. Works without JavaScript.
08
Adapts to your theme
Filter buttons use your theme’s button style, captions its caption style. The rest is block settings.
09
Images, videos, posts
Photos and posts in one gallery, filter and lightbox. Pro adds videos from YouTube, TikTok and more.
Video
Videos, right next to your photos.
With Wisp Gallery Pro, clips from the Media Library, YouTube, Vimeo, TikTok and Instagram share the gallery, the filter and the lightbox. Paste a link, done. Hover for a muted preview, click to play. Until then only the poster image loads: no player, no cookies. Videos keep playing if a license ends.
Live demo
Hover, then click
Four clips from Pexels, Big Buck Bunny on YouTube, Caminandes on Vimeo, and Pexels on TikTok and Instagram, between photos. Filter by where they come from, then open one.
Settings layout: rows hover: zoom lightbox: dark
Compare
Other gallery plugins charge you twice.
Once in money, once in load time. Here is Wisp Gallery next to four popular gallery plugins: what their free versions do, what the rest costs, and how much script lands on your page.
| Feature | Wisp Gallery | Envira Gallery | Modula | FooGallery | Visual Portfolio |
|---|---|---|---|---|---|
| Filter buttons | Free: theme style, counts, dropdown (5 more styles in Pro) | Paid (Plus plan) | Paid (Starter plan) | Paid (PRO Expert) | Free, 3 styles |
| Carousel | Free: loop, centered slide, autoplay (its settings in Pro) | Paid | Paid (Trio plan) | Free | Free: slide, coverflow, fade |
| Hover effects (free) | Zoom (lift, grayscale, dim others in Pro) | None | Pufrobo, zoom (40 more paid) | Color, greyscale, scale, zoom, caption slides | Classic, fade, fly, emerge |
| JavaScript | ~8 KB, no jQuery | ~29 KB + jQuery | ~72 KB + jQuery | ~57 KB + jQuery | ~75 KB + jQuery |
| Editor | Native block, edited in place | Block picks a saved gallery | Block picks a saved gallery | Block with images or a saved gallery | Native block, edited in place |
| Layouts (free) | Masonry, justified rows, grid, carousel, accordion | Justified, column grid | Creative, grid, masonry, justified | 7, incl. masonry, justified, carousel | Tiles, masonry, grid, justified, slider |
| Lightbox | Native dialog, no library | Free (Fancybox 1.3 fork) | Free (Fancybox 5) | Free (own) | Free (Fancybox 3 or PhotoSwipe) |
| Scroll reveal | Rise and fade, staggered, pure CSS (8 more in Pro) | Paid (Pro plan) | Whole gallery scales in | Effects as thumbnails load | None |
| Filtered links (URL) | Pro, rendered on the server | Not found* | Paid (Business plan) | Paid (PRO Expert) | Free, ?vp_filter= |
| Media Library categories | Free, shared with posts | None (tags paid) | None | Paid (PRO Expert) | None (per block) |
| Importers | Envira, NextGEN, Modula, FooGallery | Paid (NextGEN) | Free add-ons | Free add-on | None |
| Keyboard & screen readers | Arrow keys, Esc, focus return, pressed states | Lightbox: arrows, Esc | Lightbox: arrows, Esc | Lightbox: arrows, Esc, focus trap | Lightbox: arrows, Esc |
| Price for the full version | $29 a year, same at renewal ($2.99 a month) | $99.50 first year, then $199* | €83 first year, then €166 | $79.99 a year* | $49 a year |
Switching is easy. Wisp Gallery imports your Envira, NextGEN, Modula and FooGallery galleries: images, captions, links and tags, which become filter categories. Under Tools → Wisp Gallery import, or with wp wisp-gallery import. How the import works →
WordPress integration
Built into WordPress, not bolted on.
No settings screens of its own: Wisp Gallery works through the parts of WordPress you already use – the Media Library, the command palette, patterns, templates and the Abilities API.
Importers
Brings Envira, NextGEN, Modula and FooGallery galleries over as draft pages – tags become filter categories.
Media Library tagging
A category column, a filter and bulk actions in the Media Library, and a checklist in the media modal.
Command palette
Cmd+K → “Add filterable gallery”: a filter and a gallery, already connected.
Patterns
Portfolio, travel journal, food menu, team and carousels – filled with your own photos.
Archive template
Every Gallery Category gets a gallery page of its own, editable in the Site Editor.
AI abilities
Abilities API support: agents can find and tag images and draft gallery pages – with your permissions.
Live preview
A WordPress Playground blueprint for wordpress.org’s Live Preview: 12 photos, 4 categories, one demo page.
Every block option, the five layouts, editing tools and developer notes.
Read the docs →
Performance
Small enough to forget about.
The gallery is rendered on the server, laid out by CSS and enhanced by a few kilobytes of script. It loads only on pages that have a gallery – and every page here, including this one, is the proof.


3.1KB
JavaScript to start, gzipped. Layout, carousel and lightbox code loads on demand – about 12 KB with every feature on one page.
2.3KB
Base CSS, gzipped. Carousel, accordion, reveal and lightbox styles load only where they are used.
0
Dependencies. Only WordPress’s own Interactivity API.
0px
Layout shift. Width and height come from the server.
97+
Lighthouse 13.5 on wispgallery.com · all four scores · home and article · mobile and desktop
100 photos, one page
One masonry gallery with a filter and a lightbox. The first row loads at once, the rest as you scroll. On the plugin’s own 100-photo test page that means an LCP of about 0.3 s on a throttled phone and a layout shift of 0.001 on desktop.
What’s in the box
- Server-rendered markup that works without JavaScript
- Native lazy loading and responsive
srcsetfrom core - View Transitions for filtering, CSS
@starting-stylefor the lightbox - Assets load per block, only on pages that use them
What isn’t
- jQuery, Isotope, Masonry.js or any layout library
- A lightbox library, icon fonts or web fonts
- A settings page, custom tables or shortcodes
FAQ
Questions, answered.
Something missing? The docs cover every block setting, the importers and the developer details.
Can I filter a WordPress gallery by category?
Yes, that is what Wisp Gallery is for. Put a Gallery Filter block next to a Filterable Gallery and visitors filter the photos by the categories you assigned, with an animated transition. With Pro, the selection can be shared in the URL, like ?category=nature. Step by step: Getting started.
How is it different from the core Gallery block?
The core Gallery block shows one grid. Wisp Gallery adds category filters, five layouts (masonry, justified rows, grid, carousel and accordion), scroll reveal effects, a lightbox that pages through the visible photos, and posts or Media Library queries as gallery items. Inside, the photos stay regular Image blocks. See Blocks & options.
Will it slow down my site?
No. A page with a gallery loads about 3 KB of JavaScript to start and 2.3 KB of CSS; carousel, accordion, lightbox and effect code loads only where a gallery uses it, and nothing loads on pages without a gallery. Images lazy-load in the right size, and masonry is placed before the first paint, so nothing shifts. The details are in the performance notes.
Does it work with my theme?
Yes. Wisp Gallery uses block supports and your theme’s own styles: filter buttons start from the theme’s button style, captions from its caption style, spacing from its gap. It works in block themes and in classic themes that use the block editor.
How do the categories work?
Wisp Gallery adds a Gallery Categories taxonomy that media, posts and pages share. Assign categories in the image sidebar inside a gallery or in the Media Library. Many images at once? Use the bulk actions in the Media Library. With Pro, a gallery can also filter by any other taxonomy, such as regular post categories. More in Categories & Media Library.
Can I switch from Envira, NextGEN, Modula or FooGallery?
Yes. Under Tools → Wisp Gallery import (or with wp wisp-gallery import), each gallery becomes a draft page with a Filterable Gallery: images, captions, alt text, links and columns come along, and tags become filter categories. Lightbox themes, spacing and hover effects are not carried over. See Switching from other plugins.
Can I show posts instead of images?
Yes. Put a Query Loop inside the gallery – there is a “Gallery Posts” variation – and the featured images become gallery items with their titles as captions. Images, posts and Media Library queries can be mixed in one gallery. See Gallery Posts.
What happens without JavaScript?
Every item shows, rows and grids keep their layout (masonry becomes a plain column grid), and links still work. Lightbox links point to the full image file. See How it works.
Which browsers are supported?
All current browsers. View Transitions, @starting-style, color-mix(), scroll-driven animations and backdrop-filter are progressive enhancements: older browsers get the same features with simpler animations.
What does it need?
WordPress 6.6 or newer and PHP 7.4 or newer. No build step, no API keys, no external services.
Which languages is it available in?
Wisp Gallery ships translated into German, Spanish, French, Portuguese (Brazil), Italian, Japanese and Dutch, covering every string of the free plugin and Pro. WordPress picks the language of your site automatically. More languages follow, and anyone can help translate it on WordPress.org.
Is it really free?
Yes. The free plugin is licensed under the GPL v2 or later and has everything to build and filter galleries: all five layouts, the filter block, the lightbox and the importers. Pro adds more styling, videos, WooCommerce products and more. A gallery made with Pro keeps working when a license ends. See Wisp Gallery Pro.
Free · GPL v2 or later · No account
Get Wisp Gallery.
It’s free.
Download the zip, upload it under Plugins → Add New → Upload, and add a Filterable Gallery to any page. The free version needs no license key and no account.
Need more? Pro adds videos, WooCommerce products, albums, load more and every design control, from $2.99 a month. See what Pro adds →











































