Photofield

A self-hosted non-invasive single-binary photo gallery with a focus on speed and simplicity.

Photofield is a photo viewer built to mainly push the limits of what is possible in terms of the number of photos visible at the same time and at the speed at which they are displayed. The goal is to be as fast or faster than Google Photos on commodity hardware while displaying more photos at the same time. It is non-invasive and can be used either completely standalone or complementing other photo gallery software. Seamless zoomable interface. Every view is zoomable if you ever need to see just a little more detail. Progressive multi-resolution loading. The whole layout is progressively loaded from a low-res preview to a full quality photo. Different layouts. Collections of photos can be displayed with different layouts. Semantic search using [photofield-ai]. If enabled, you can search for photo contents using words like "beach sunset", "a couple kissing", or "cat eyes". Tagging (alpha). You can tag and search photos with arbitrary tags. If enabled, tags are stored in the cache database and can be used to filter photos. Face detection (alpha). Detect and display individual faces in your photos using [photofield-ai]. The Faces layout shows detected face crops, and you can search by face ID. Reverse geolocation. Local, embedded reverse geolocation of ~50 thousand places via [tinygpkg] with negligible overhead supported in the Timeline and Flex layouts. Flexible media/thumbnail system. Stores small thumbnails using SQLite, uses FFmpeg for on-the-fly format conversion, extracts embedded thumbnails from JPEG files, re-uses Synology Moments / Photo Station thumbnails, and uses djpeg (libjpeg-turbo) to efficiently decode lower resolutions. Single file binary. The server is a single static binary with optional dependencies for easy and flexible deployment (Docker images also available). Read-only file system based collections. The original files are not touched. You are encouraged to even mount your photos as read-only to ensure this. The file system is the source of truth, everything else is just a more or less stale cache. Fast indexing. Thanks to [godirwalk], file indexing practically runs at the speed of the file system 1000-10000 files/sec on fast SSD and hot cache. EXIF metadata and [prominent color] are extracted as separate follow-up operations and run at up to ~200 files/sec and ~1000 files/sec on a fast system. Video support. Videos are supported along with multiple resolutions (if as pre-generated by e.g. Synology Moments), however on-the-fly transcoding is not supported. Not optimized for many clients. As a lot of the normally client-side state is kept on the server, you will likely run into CPU or Memory problems with more than a few simultaneous users. No user accounts. Not the focus right now. You can define separate collections for separate users based on the directory structure, but there is no authentication or authorization support. Initial load can be slow. All the photos need to be laid out when you first load a page in a specific window size and configuration, which can take some time with a slow CPU and cold HDD cache. No permalinks. Deep linking to images works, however if you remove the database or move the files around, the links may break.

See the [documentation] for more information. [Go] - API and server-side tile rendering Canvas (tdewolff) - vector rendering in Go SQLite 3 (zombiezen) - fast single-file database/cache [Vue 3] - frontend framework [BalmUI] - Material UI components [OpenLayers] - in-browser tiled image rendering [OpenSeadragon] (honorary mention) - tiled image rendering library used in the past + more Go libraries + more npm libraries

View Photofield on GitHub
Navid MoazzezCurated by Navid Moazzez·Updated Oct 4, 2026·3 min read·
Photofield

A self-hosted non-invasive single-binary photo gallery with a focus on speed and simplicity.

Photofield is a photo viewer built to mainly push the limits of what is possible in terms of the number of photos visible at the same time and at the speed at which they are displayed. The goal is to be as fast or faster than Google Photos on commodity hardware while displaying more photos at the same time. It is non-invasive and can be used either completely standalone or complementing other photo gallery software. Seamless zoomable interface. Every view is zoomable if you ever need to see just a little more detail. Progressive multi-resolution loading. The whole layout is progressively loaded from a low-res preview to a full quality photo. Different layouts. Collections of photos can be displayed with different layouts. Semantic search using [photofield-ai]. If enabled, you can search for photo contents using words like "beach sunset", "a couple kissing", or "cat eyes". Tagging (alpha). You can tag and search photos with arbitrary tags. If enabled, tags are stored in the cache database and can be used to filter photos. Face detection (alpha). Detect and display individual faces in your photos using [photofield-ai]. The Faces layout shows detected face crops, and you can search by face ID. Reverse geolocation. Local, embedded reverse geolocation of ~50 thousand places via [tinygpkg] with negligible overhead supported in the Timeline and Flex layouts. Flexible media/thumbnail system. Stores small thumbnails using SQLite, uses FFmpeg for on-the-fly format conversion, extracts embedded thumbnails from JPEG files, re-uses Synology Moments / Photo Station thumbnails, and uses djpeg (libjpeg-turbo) to efficiently decode lower resolutions. Single file binary. The server is a single static binary with optional dependencies for easy and flexible deployment (Docker images also available). Read-only file system based collections. The original files are not touched. You are encouraged to even mount your photos as read-only to ensure this. The file system is the source of truth, everything else is just a more or less stale cache. Fast indexing. Thanks to [godirwalk], file indexing practically runs at the speed of the file system 1000-10000 files/sec on fast SSD and hot cache. EXIF metadata and [prominent color] are extracted as separate follow-up operations and run at up to ~200 files/sec and ~1000 files/sec on a fast system. Video support. Videos are supported along with multiple resolutions (if as pre-generated by e.g. Synology Moments), however on-the-fly transcoding is not supported. Not optimized for many clients. As a lot of the normally client-side state is kept on the server, you will likely run into CPU or Memory problems with more than a few simultaneous users. No user accounts. Not the focus right now. You can define separate collections for separate users based on the directory structure, but there is no authentication or authorization support. Initial load can be slow. All the photos need to be laid out when you first load a page in a specific window size and configuration, which can take some time with a slow CPU and cold HDD cache. No permalinks. Deep linking to images works, however if you remove the database or move the files around, the links may break.

See the [documentation] for more information. [Go] - API and server-side tile rendering Canvas (tdewolff) - vector rendering in Go SQLite 3 (zombiezen) - fast single-file database/cache [Vue 3] - frontend framework [BalmUI] - Material UI components [OpenLayers] - in-browser tiled image rendering [OpenSeadragon] (honorary mention) - tiled image rendering library used in the past + more Go libraries + more npm libraries

Photofield at a glance

Stars608
Forks16
LanguageGo
LicenseMIT
Last update2026-08-17
Contributors6

How to install Photofield

bash git clone https://github.com/smilyorg/photofield.git

Where Photofield is listed

Navid Moazzez

AI business strategist & AI OS builder

Navid Moazzez helps creators and founders master AI and build their own AI Operating System (AI OS) to automate their business and life.

Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Learn more.

GitHub repos like this

n8n

★ 206k · TypeScript · Active

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

AutomationDeveloper toolsSelf-hosted apps

ComfyUI

★ 136k · Python · Active

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

Media & audioSelf-hosted apps

Excalidraw

★ 133k · TypeScript · Active

Virtual whiteboard for sketching hand-drawn like diagrams

AI interfacesSelf-hosted apps

RustDesk

★ 125k · Rust · Active

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

Self-hosted apps

Immich

★ 115k · TypeScript · Active

High performance self-hosted photo and video management solution.

Self-hosted apps

Supabase

★ 111k · TypeScript · Active

The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

AI interfacesRAG & memorySelf-hosted apps

Open Design

★ 99k · TypeScript · Active

The open-source Claude Design alternative. Local-first desktop app.

Coding agentsSelf-hosted appsAgent skills

Stirling PDF

★ 93k · Java · Active

#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

Self-hosted apps

Uptime Kuma

★ 92k · JavaScript · Active

A fancy self-hosted monitoring tool

Self-hosted apps

Syncthing

★ 89k · Go · Active

Open Source Continuous File Synchronization

Self-hosted apps

AppFlowy

★ 77k · Dart · Active

Bring projects, wikis, and teams together with AI.

Self-hosted apps

Apache Superset

★ 75k · Python · Active

Apache Superset is a Data Visualization and Data Exploration Platform

Self-hosted apps

More repo topics

Free AI newsletter

The most actionable AI newsletter for founders

Every week, get proven AI strategies, curated tools, and step-by-step systems to grow your audience, create better content, and build a profitable creator business.

No fluff, no filler, no BS. Just five minutes each week that might level up your online business and life.

P.S. Sign up now to get free access to my ultimate AI tools guide for creators.

Loved by 10,000+ readers