Geeqie: the image viewer that keeps your photo folder organised
claiming to be the best image viewer / photo collection browser
At a glance
- What is it?
- Geeqie is a free software image viewer and organiser for Linux, FreeBSD and other Unix-like systems, descended from GQview and built around file grouping, metadata search and duplicate detection. Its largest advantage over a plain viewer is that it needs no database, and its largest cost is that everything it knows lives in your filesystem.
- Who is it for?
- Geeqie fits a photographer or archivist who keeps images in plain folders and wants grouping, rating, keyword search and duplicate cleanup without installing a database, and who is comfortable on a Unix desktop. It does not fit a Windows-only or managed-platform workflow, and it is a poor fit for a shared catalogue where metadata must live in one place rather than in sidecar files next to the images.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A viewer that needs no database
Geeqie is described as a free open software image viewer and organiser program for Linux, FreeBSD and other Unix-like operating systems, and as a successor of GQview. The phrase that matters in that description is database-free: it can be used as a simple database-free image viewer, and the project is candid that it also has extensive capabilities beyond that.
The design bet is that the filesystem is the catalogue. Images are found by walking directories, and anything you want to remember about them is attached to the files or to the folders around them. That has an obvious appeal for anyone who has been forced to maintain a separate library database that a crashed application could lose, and it has an obvious cost: the metadata lives as scattered sidecar files and directory metadata files, and the speed of certain operations depends on how much of that data has been cached.
The target user is someone with a folder of photographs and a Unix desktop. The feature list is long enough to look like a photo management suite, but the mechanics stay closer to a file browser with a very good image pane, which is a different thing from a catalogue application and, for this audience, usually the better fit.
File grouping decides what counts as a single image
The first mechanic worth understanding is grouping. An image that has a jpeg file, a RAW file and an xmp sidecar appears as a single entity rather than three separate files. Once that rule is in place, every file operation in the interface acts on the group: selecting, moving, copying, deleting, renaming, drag and drop.
Around that sit two more decisions that are easy to misconfigure. There is a selectable exif auto-rotation of images, so you choose whether the orientation stored in metadata is applied on display. And there is a thumbnail preview of the destination for move, copy and rename, so you can see where a file is going before it goes there, plus on-the-fly renaming for move and copy with formatted and auto-rename features and an undo for single click copy or move to pre-defined folders.
Editing is deliberately conservative. The built-in editing is lossless 90 and 180 degree rotation and flipping. Anything beyond that is delegated to external programs such as GIMP, Inkscape, and custom scripts using ImageMagick. That boundary keeps Geeqie out of the pixel editing business and makes it usable as the browsing layer in front of a larger editing workflow rather than competing with it.
Search and duplicate detection run on similarity data
Advanced searching is available on criteria such as filename, file size, age, image dimensions, similarity to a specified image, or by keywords and descriptions. If images carry GPS coordinates, you can also search for images within a radius of a geographical point. The similarity criterion is the interesting one, because comparing images by content is far more expensive than comparing filenames, which is why the caching story below matters.
The duplicate finder compares images using a variety of criteria: filename, file size, visual similarity, dimensions and image content. It can work within a single folder or between two folders, and it can find duplicates while ignoring the rotation of images, which is the difference between a useful report and a folder full of false positives when the same shot was rotated in one place and not the other.
Speed of operation can be increased by caching thumbnails and similarity data of images. There is a stand-alone command line mode for that: running Geeqie with the cache maintenance environment variable set and the cache maintenance path option recursively creates those data from a defined start point. The documentation suggests calling that program from `cron` or `anacron` so cache updating happens automatically at specified intervals. That is the operational shape of the project: an interactive viewer that can also act as a background indexer.
Remote control and plugins turn it into a component
Two capabilities push Geeqie beyond a standalone desktop application.
The first is remote control. Geeqie sessions can be remotely controlled from external software, so it can be used as an image-viewer component of a bigger application. That means an existing tool that needs to display an image does not have to embed an image library of its own; it can drive a Geeqie session. The documentation does not describe the protocol, so you would need to look at the developer notes before planning an integration.
The second is that the program is extensible via plugins. Combined with the file layout of the repository, which has a `src` directory, a `subprojects` directory, a `tools` directory and a `tests` directory, this is a codebase built to be modified rather than just installed.
Around them sit features that make the tool useful for a photo archive rather than a browser. All available metadata and Exif, IPTC and XMP data can be displayed, along with colour histograms, assigned tags, keywords and descriptions. Tags, both predefined and custom, can be assigned to images and stored either as image metadata where the file format allows, in sidecar files, or in directory metadata files. Reusable metadata templates apply descriptions, headlines, keywords, copyright and custom fields to selected images, with options to replace, append or clear values. Images can carry a rating value, also known as a star rating, and OpenStreetMap maps can be displayed in a side panel with GPS positions, image direction, and drag-and-drop positioning for images without coordinates.
Installation arrives as a package or a meson build
For most people, Geeqie is installed as a package rather than built. The documentation carries packaging badges for Debian stable, Debian unstable, Flathub, Homebrew, MacPorts and Snap, plus an AppImage build, and a repology badge tracks where the packaged versions stand. The homepage is www.geeqie.org, and the project website is where the sources are mirrored alongside the GitHub repository.
Building from source is documented in INSTALL.md, and the repository carries a `meson.build` file with `meson_options.txt` and a `build-aux` directory, so the build system is Meson. The top level also includes TESTING.md, CODING.md, DEVELOPER-NOTES.md, TRANSLATORS.md, a `po` directory for translations, and a `.clang-tidy` configuration, which tells you this is a C++ project with modern linting expectations. There is also an AGENTS.md and a CHECKLIST.md at the root.
The translation picture is worth a line for anyone deploying Geeqie to a mixed-language group. The documentation reports 38 languages with the German translation at 93.6 percent complete. The project also points contributors at a mailing list, and warns that automated replies only arrive if you subscribe to the list first.
Format support is broad, and the boundary is the format list
Geeqie reads a long list of raster and vector formats: 3FR, ANI, ARW, AVIF, BMP, CR2, CR3, CRW, CUR, DDS, DJVU, DNG, ERF, EXR, FIT, FITS, FTS, GIF, GQV, HEIC, HEIF, ICO, JP2, JPE, JPEG, JPG, JPS, JXL, KDC, MEF, MOS, MPO, MRW, NEF, NPY, NRW, ORF, PBM, PDF, PEF, PGM, PNG, PNM, PPM, PSD, QIF, QTIF, RAF, RAW, RW2, SCR, SR2, SRF, SVG, SVGZ, TGA, TIF, TIFF, WEBP, XBM and XPM. Animated GIF and WEBP files are supported, and images inside archive files such as .ZIP and .RAR can be displayed.
Video is treated as a preview rather than a player. Preview and thumbnails of video clips can be displayed, and clips are run via a defined external program, so Geeqie hands playback to something else rather than shipping a decoder.
Stereoscopic support covers side-by-side JPS and MPO input, with output as a single image, anaglyph, SBS, mirror or SBS half size for 3DTV. Panoramic view displays thumbnails in calendar, grid, folder and other layouts, and images can be shown singly in normal or fullscreen mode, static or slideshow, in sets of two or four per page for comparison, or as thumbnails of various sizes, with synchronised zoom when multiple images are displayed.
GPL-2.0 with tagged releases beside a continuous build
The licensing is straightforward: the project ships a COPYING file at the root and is licensed GPL-2.0. For a desktop application distributed as a package that you do not modify, that is largely a packaging matter rather than an architectural constraint. It does matter if you intend to link Geeqie code into a larger product of your own, and it matters for anyone distributing modified builds, where the copyleft obligation attaches to the derivative work.
On maintenance, the picture is active. The last push was on 2026-10-22, and the release list shows a continuous build dated 2026-10-20, with v3.3 tagged on 2026-10-04 and v3.2 on 2026-09-20. Two tagged releases inside a fortnight alongside a rolling continuous build tells you the release cadence is fast and that stable users should stay on a tag rather than track the default branch, which is `master`.
The change record lives in the NEWS file in the installation folder and in a ChangeLog file, and the documentation points at both the Geeqie News page and the ChangeLog on GitHub. For an application where a new version can change which metadata is written where, reading NEWS before upgrading is the cheap insurance.
Editorial conclusion
Geeqie fits a photographer or archivist who keeps images in plain folders and wants grouping, rating, keyword search and duplicate cleanup without installing a database, and who is comfortable on a Unix desktop. It does not fit a Windows-only or managed-platform workflow, and it is a poor fit for a shared catalogue where metadata must live in one place rather than in sidecar files next to the images. Before adopting it, read INSTALL.md for the build route you need, check the file format list in the documentation against the cameras you shoot with, and decide whether you want tags written into image metadata, sidecar files or directory metadata files before you start rating a large library.
Frequently asked questions
Does Geeqie need a database to manage my photos?
No. Geeqie is described as a database-free image viewer and organiser, so it works on the filesystem, with metadata stored as image metadata where the format allows, in sidecar files, or in directory metadata files.
How do I install Geeqie on Linux or macOS?
Packaged builds are listed for Debian stable, Debian unstable, Flathub, Homebrew, MacPorts and Snap, along with an AppImage build. Building from source is covered in INSTALL.md, and the repository uses the Meson build system with meson.build and meson_options.txt.
Can Geeqie find duplicate photos?
Yes. The find duplicates tool compares images by filename, file size, visual similarity, dimensions and image content, either within one folder or between two folders, and it can ignore the rotation of images.
How does Geeqie group a JPEG, a RAW file and an XMP sidecar?
File grouping makes an image that has a jpeg, a RAW and an xmp file appear as a single entity, and file operations then act on that group rather than on individual files.
Can another program control Geeqie?
Yes. Geeqie sessions can be remotely controlled from external software, which lets it serve as the image-viewer component of a bigger application. The project is also extensible via plugins.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/bestimageviewer-geeqie)Was this useful?