Multimedia file management tool
See the code
A local-first tool for making sense of a folder full of photos and videos.
Free and open source under the permissive Apache 2.0 licence: no account, no subscription, no lock-in, and every line is yours to read, audit, or build on.
Documentation: docs.videre.sh
Most photo apps want to own your library. They import everything into their own storage, index it in a database only they can read, then nudge you toward their cloud. videre works the other way round: it's a lens over a folder you already own. Point it at a directory and you get a single SQLite file describing what's there. Stop using it and your photos are exactly as they were.
videre import pulls a
Google Takeout export, an Apple Photos library, or a Lightroom catalog into an
ordinary folder, originals rather than derivatives, dates put back.videre fix-dates, which you run
deliberately, and which only corrects a file's date.videre search --location "Berlin", which looks a place name up
once and remembers it.videre dedupe prints what
could go and stops there. You decide, and you can look through the
candidates in a browser first.videre prune only drops a row when the file is gone
and its folder still exists, so cleaning up with a drive detached does not
wipe everything on it.And because it's an ordinary command-line tool over an ordinary SQLite file, an
AI assistant can drive it directly. videre mcp hands search and duplicate
review to a model with no server to set up.
On macOS or Linux with Homebrew:
brew install erhangundogan/tap/videre
Or download a binary from the latest release
and put it on your PATH. No Rust toolchain needed, nothing to compile.
Or build it yourself, which needs Rust:
cargo install videre
If you previously ran cargo install videre, that copy lives in
~/.cargo/bin and usually comes first on PATH, so it will keep shadowing a
newer Homebrew install. Check with which videre, and remove it with
cargo uninstall videre.
Intel Macs are not supported. A dependency ships no prebuilt binaries for
them, so videre cannot be built there at all, including via cargo install.
macOS is the primary platform. videre also runs on Linux, with one gap: HEIC photos and video frames are decoded using a macOS system tool, so on Linux those files are skipped for thumbnails, search, and face detection. They are still scanned, hashed, and de-duplicated.
Full install notes, including the extra flag needed to build on ARM64 Linux: docs.videre.sh/start/install
Start here. Your photo folder is the library: run videre inside it, and everything else reads from what this creates.
cd ~/Photos
videre scan
That builds a database at ~/Photos/.videre/hashes.db describing what you have.
It does not change your photos. Every command acts on the library it runs in, so
the rest assumes you are still in ~/Photos; from elsewhere, name it with
videre --library ~/Photos <command>.
videre dedupe # list which copies could go
videre dedupe --html # ...or review them visually in a browser first
videre dedupe | xargs trash # delete them, once you have looked
videre embed # one-time: prepares photos for search
videre search "golden gate bridge at sunset"
videre faces # detect and group faces
videre gallery # name the groups in your browser
videre search --person "Alice"
The first videre embed downloads about 780 MB of model data, and videre faces a separate 180 MB. Nothing is downloaded until you run a command that
needs it, and both are resumable.
More: docs.videre.sh/start/quickstart
scan, import, dedupe, gallery, search, embed, faces, classify,
locations, fix-dates, prune, watch, stats, config, mcp.
Every command takes --help. Full reference with every flag:
docs.videre.sh/commands
videre is maintained by one person and its direction is set deliberately. Bug reports are always welcome. If you hit a real problem or want a feature you would use yourself, so are patches: open an issue first to agree the approach. See CONTRIBUTING.md.
Apache License 2.0. See LICENSE.
1,222 commits
Rust
93.3%
JavaScript
4.1%
CSS
1.1%
Multimedia file management tool
See the code
A local-first tool for making sense of a folder full of photos and videos.
Free and open source under the permissive Apache 2.0 licence: no account, no subscription, no lock-in, and every line is yours to read, audit, or build on.
Documentation: docs.videre.sh
Most photo apps want to own your library. They import everything into their own storage, index it in a database only they can read, then nudge you toward their cloud. videre works the other way round: it's a lens over a folder you already own. Point it at a directory and you get a single SQLite file describing what's there. Stop using it and your photos are exactly as they were.
videre import pulls a
Google Takeout export, an Apple Photos library, or a Lightroom catalog into an
ordinary folder, originals rather than derivatives, dates put back.videre fix-dates, which you run
deliberately, and which only corrects a file's date.videre search --location "Berlin", which looks a place name up
once and remembers it.videre dedupe prints what
could go and stops there. You decide, and you can look through the
candidates in a browser first.videre prune only drops a row when the file is gone
and its folder still exists, so cleaning up with a drive detached does not
wipe everything on it.And because it's an ordinary command-line tool over an ordinary SQLite file, an
AI assistant can drive it directly. videre mcp hands search and duplicate
review to a model with no server to set up.
On macOS or Linux with Homebrew:
brew install erhangundogan/tap/videre
Or download a binary from the latest release
and put it on your PATH. No Rust toolchain needed, nothing to compile.
Or build it yourself, which needs Rust:
cargo install videre
If you previously ran cargo install videre, that copy lives in
~/.cargo/bin and usually comes first on PATH, so it will keep shadowing a
newer Homebrew install. Check with which videre, and remove it with
cargo uninstall videre.
Intel Macs are not supported. A dependency ships no prebuilt binaries for
them, so videre cannot be built there at all, including via cargo install.
macOS is the primary platform. videre also runs on Linux, with one gap: HEIC photos and video frames are decoded using a macOS system tool, so on Linux those files are skipped for thumbnails, search, and face detection. They are still scanned, hashed, and de-duplicated.
Full install notes, including the extra flag needed to build on ARM64 Linux: docs.videre.sh/start/install
Start here. Your photo folder is the library: run videre inside it, and everything else reads from what this creates.
cd ~/Photos
videre scan
That builds a database at ~/Photos/.videre/hashes.db describing what you have.
It does not change your photos. Every command acts on the library it runs in, so
the rest assumes you are still in ~/Photos; from elsewhere, name it with
videre --library ~/Photos <command>.
videre dedupe # list which copies could go
videre dedupe --html # ...or review them visually in a browser first
videre dedupe | xargs trash # delete them, once you have looked
videre embed # one-time: prepares photos for search
videre search "golden gate bridge at sunset"
videre faces # detect and group faces
videre gallery # name the groups in your browser
videre search --person "Alice"
The first videre embed downloads about 780 MB of model data, and videre faces a separate 180 MB. Nothing is downloaded until you run a command that
needs it, and both are resumable.
More: docs.videre.sh/start/quickstart
scan, import, dedupe, gallery, search, embed, faces, classify,
locations, fix-dates, prune, watch, stats, config, mcp.
Every command takes --help. Full reference with every flag:
docs.videre.sh/commands
videre is maintained by one person and its direction is set deliberately. Bug reports are always welcome. If you hit a real problem or want a feature you would use yourself, so are patches: open an issue first to agree the approach. See CONTRIBUTING.md.
Apache License 2.0. See LICENSE.
1,222 commits
Rust
93.3%
JavaScript
4.1%
CSS
1.1%