Unterlumen logo

Unterlumen

Your photos. Your browser. Zero cloud.

Apache 2.0 Go Vanilla JS No Database Single Binary

Unterlumen runs as a local web server and lets you browse your photo library right in your browser. View images full-screen, organize files using a dual-pane file manager, and cull your shots — all without uploading anything anywhere.

Everything you need

Powerful features, beautifully simple.

grid_view

Browse Your Way

Justified grid, list, or full-screen — switch views instantly and find the shot you're looking for.

fullscreen

Full-Screen Viewer

Dive into every detail. Navigate with your keyboard, see EXIF data at a glance, flip through your film strip.

folder_copy

Commander File Manager

Dual-pane power. Copy, move, and organize across folders like a pro — no Finder gymnastics.

delete_sweep

Smart Waste Bin

Mark, review, restore. Delete with confidence — nothing disappears until you say so.

drive_file_rename_outline

Batch Rename

Rename hundreds of files with EXIF-based patterns. Live preview, conflict detection, one click.

location_on

Pin It on the Map

Set or fix GPS coordinates on an interactive map. Your photos, properly placed.

info

All the Metadata

EXIF, orientation, Fujifilm film simulation badges — every detail your camera captured, surfaced.

image

Every Format Welcome

JPEG, PNG, GIF, WebP out of the box. HEIF and HEIC with ffmpeg. Retina-quality thumbnails.

transform

Convert & Export

Convert and export your images to different formats in one step — right from the browser, no external tools needed.

See it in action

Every view you need, one click away.

Get started in seconds

Download the binary or run the container — point at your photos, done.

./unterlumen ~/Photos

Available for Linux, macOS (Intel & Apple Silicon), and Windows. Requires Go 1.21+ only when building from source. Optional: ffmpeg for HEIF files, exiftool for geolocation and batch rename.

Or run with Docker — ffmpeg and exiftool included:

docker run -p 8080:8080 -v /path/to/photos:/photos ghcr.io/blazko/unterlumen:latest

The container runs in server mode. Navigation is locked to /photos, and the server listens on port 8080.

Use at your own risk. Always back up your files before use — especially when moving, renaming, or deleting.