WordPress plugin · v0.1.0 · Free

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. ⚡

WordPress 6.6+ · PHP 7.4+ · GPL

Live demo — pick a category

layout: masonry

5 layouts →

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.

01

Five layouts

Masonry, justified rows, grid, carousel and accordion, with sizes per device and scroll reveal effects.

02

Filters, your way

Buttons, pills, tabs or a dropdown, with counts, multi-select, presets and shareable filter 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 presets, a device switcher 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, posts, media

Hand-picked images, posts and Media Library queries in one gallery, with one filter and one lightbox.

Compare

Other gallery plugins charge you twice.

Once in money, once in load time. Here is Gallery Z next to four popular gallery plugins: what their free versions do, what the rest costs, and how much script lands on your page.

FeatureGallery ZEnvira GalleryModulaFooGalleryVisual Portfolio
Filter buttonsFree, 6 styles, counts, dropdownPaid (Plus plan)Paid (Starter plan)Paid (PRO Expert)Free, 3 styles
CarouselFree: loop, autoplay, centered slidePaidPaid (Trio plan)FreeFree: slide, coverflow, fade
Hover effects (free)Zoom, lift, grayscale, dim othersNonePufrobo, zoom (40 more paid)Color, greyscale, scale, zoom, caption slidesClassic, fade, fly, emerge
JavaScript~8 KB, no jQuery~29 KB + jQuery~72 KB + jQuery~57 KB + jQuery~75 KB + jQuery
EditorNative block, edited in placeBlock picks a saved galleryBlock picks a saved galleryBlock with images or a saved galleryNative block, edited in place
Layouts (free)Masonry, justified rows, grid, carousel, accordionJustified, column gridCreative, grid, masonry, justified7, incl. masonry, justified, carouselTiles, masonry, grid, justified, slider
LightboxNative dialog, no libraryFree (Fancybox 1.3 fork)Free (Fancybox 5)Free (own)Free (Fancybox 3 or PhotoSwipe)
Scroll reveal10 effects, staggered, pure CSSPaid (Pro plan)Whole gallery scales inEffects as thumbnails loadNone
Filtered links (URL)Free, rendered on the serverNot found*Paid (Business plan)Paid (PRO Expert)Free, ?vp_filter=
Media Library categoriesFree, shared with postsNone (tags paid)NonePaid (PRO Expert)None (per block)
ImportersEnvira, NextGEN, Modula, FooGalleryPaid (NextGEN)Free add-onsFree add-onNone
Keyboard & screen readersArrow keys, Esc, focus return, pressed statesLightbox: arrows, EscLightbox: arrows, EscLightbox: arrows, Esc, focus trapLightbox: arrows, Esc
Price for the full versionFree, everything included$99.50 first year, then $199*€83 first year, then €166$79.99 a year*$49 a year
Checked 25 September 2026 in the current free versions (Envira Gallery Lite 1.16.0, Modula 3.0.9, FooGallery 3.3.3, Visual Portfolio 3.8.2) and on the vendors’ pricing pages; * couldn’t be verified. Full version: the cheapest yearly plan with every paid feature in this table, for one site (Envira’s covers five), first-year price and renewal. Envira’s prices are from its archived pricing page of June 2026 (the live page blocks automated checks), and it doesn’t say which plan includes the carousel; Modula lists euros only; FooGallery doesn’t state a renewal price. Envira documents links to single images, not to a filtered gallery. JavaScript: the gzipped files each free version loads for a default gallery with a lightbox; jQuery adds 35 KB unless the theme loads it already. Modula 3.0 also has an opt-in beta renderer without jQuery. Not shown: NextGEN Gallery (search by tag from $99.50, ~20 KB + jQuery) and Photo Gallery by 10Web (a free tag box, ~59 KB + jQuery on every page). Sources: wordpress.org plugin pages and code, enviragallery.com, wp-modula.com, fooplugins.com, visualportfolio.com.

Switching is easy. Gallery Z imports your Envira, NextGEN, Modula and FooGallery galleries: images, captions, links and tags, which become filter categories. Under Tools → Gallery Z import, or with wp gallery-z import. How the import works →

WordPress integration

Built into WordPress, not bolted on.

No settings screens of its own: Gallery Z 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.

DesktopLighthouse 13.5 · home · 25 Sep 2026
Lighthouse report, desktop, home page: Performance 100, Accessibility 100, Best Practices 100, SEO 100.
MobileLighthouse 13.5 · home · 25 Sep 2026
Lighthouse report, mobile, home page: Performance 100, Accessibility 100, Best Practices 100, SEO 100.

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.

100×4

Lighthouse 13.5 · 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 srcset from core
  • View Transitions for filtering, CSS @starting-style for 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
  • Tracking, upsells or admin notices

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 Gallery Z 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. The selection can optionally 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. Gallery Z 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. Gallery Z 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?

Gallery Z 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. 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 → Gallery Z import (or with wp gallery-z 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.

Is it really free?

Yes. Gallery Z is licensed under the GPL v2 or later. There is no pro version, no license key and no upsell.

Free · GPL v2 or later · No account

Get Gallery Z.
It’s free.

Download the zip, upload it under Plugins → Add New → Upload, and add a Filterable Gallery to any page. No license key, no pro version, no upsell.

Version 0.1.0 · WordPress 6.6+ · PHP 7.4+