minimal gallery

A fast photo gallery from folders of photos.

minimal gallery is a static site generator for photographers. It builds a gallery from your folders, organized by the dates, cameras, lenses, places and keywords already in your files, and publishes it to free hosting. No server, no subscription.

npm create minimalgallery@latest

Get startedSee it in action

  • Organized by your metadata

    Dates, cameras, lenses and exposure come from EXIF; titles, captions, keywords and ratings from your Lightroom export. Every value is a page with its own address: click f/1.4 and see every photo taken at f/1.4.

  • Photos first, in every browser

    Each photo fills the window on a near-black ground, and the controls fade when the pointer rests. Keys, clicks and swipes step between photos without a page load in Chrome, Safari and Firefox. Every photo has its own URL and works without JavaScript.

  • Free hosting, nothing to run

    Photos are resized once, on your computer, and the site is built there too. Publishing uploads it to Cloudflare’s free plan, or builds a folder for any web host you like. The gallery is a folder on your computer, and it stays yours.

Three commands

  1. Create the gallery

    npm create minimalgallery@latest

    Asks for a name and where the gallery will live, then sets up the folder and installs what it needs.

  2. Add photos

    npx minimalgallery add ~/Pictures/Export/japan

    Copies a folder in as an album and makes the resized copies. Your originals are never changed.

  3. Publish

    npm run publish

    Builds the site and puts it online. On Cloudflare, the first publish asks you to log in once.

Node 22.18 or later is all you install. Getting started walks through the first gallery, step by step.

See it with real photos

minimalgallery.net is Yann’s photo gallery, built with these tools, and the photos above are from it. Open a photo, press the arrow keys, scroll down to the grid, or press / to filter by camera, year or place.

Visit minimalgallery.netRead the docs