Free tool · on-device AI · runs in your browser

Semantic Photo Search

Stop scrolling through camera rolls. Drop in your photos and search them by what's actually in them — "a dog on the beach", "red car", "birthday cake" — using a real CLIP AI model running 100% in your browser.

🔒 Nothing is uploaded — your photos and the AI both stay on your device

Drop your photos here

or click to choose files · JPG, PNG, WebP, GIF · index dozens or hundreds at once

Drop some photos (or load the samples) to build a private, searchable index on your device.

How it works

When you add photos, this tool runs each one through CLIP, an AI model from OpenAI that turns an image into a list of numbers (an "embedding") describing what it depicts. When you type a search, your words get turned into a number-list in the very same space. The photos whose numbers are closest to your words are the best matches. That's why you can search for "someone riding a bike" and find it even if the file is named IMG_4821.jpg.

How does this run locally?

The CLIP model is compiled to run with WebAssembly and ONNX Runtime, both built into modern browsers. The model file (about 60 MB, quantized) downloads once, gets cached, and from then on every image and every search is processed by your own CPU. There is no API key, no server round-trip, and no usage limit. You can even disconnect from the internet after the first load and it keeps working. Heavy work runs in a Web Worker, so the page stays smooth while it indexes.

Why search by meaning beats folders and filenames

Most of us have thousands of photos with names like DSC_0093 buried in nested folders. Keyword search only helps if someone tagged them. Semantic search reads the actual content, so "whiteboard with diagrams", "my passport", or "the receipt from dinner" all just work. It is the same idea behind the search in big cloud photo apps, except here your library never leaves your laptop.

Good things to try

Search broad scenes ("beach", "city at night", "mountains"), specific objects ("coffee cup", "license plate", "a cat"), colors and moods ("something orange", "a cozy room"), or document types ("screenshot of code", "handwritten note"). Then click any result to pivot to visually similar photos.

Are my photos uploaded anywhere?

No. The model runs in your browser and your images are read from memory locally. Nothing is sent to a server, which is exactly why it stays private and works offline after the first load.

How accurate is it?

CLIP is genuinely strong at general scenes, objects, colors and concepts. It is not a face-recognition or OCR tool, so searching for a specific person's name or exact text inside an image won't be reliable, but describing what a photo looks like works remarkably well.

How many photos can I index?

There's no hard limit; it's bounded by your device's memory. A few hundred photos index comfortably on a laptop. Indexing happens once per photo and search after that is instant.

Does it work on my phone?

Yes on modern phones, though the one-time ~60 MB model download and indexing are slower than on a laptop. If your device is low on memory, index in smaller batches.

Which model is this?

OpenAI's CLIP (ViT-B/16), running via the Transformers.js library and ONNX Runtime Web. The model weights are quantized to keep the download small and inference fast.

I build tools like this every day.

Senior full-stack engineer, available for senior or contract work, fully remote. See the rest of the lab or get in touch.