ByteScope

Photo Search

Type a dog on the beach or a birthday cake and find that photo in a whole folder. Your photos never leave your computer.

Your files never leave your browser — all processing is local.

Checking for WebGPU…

Honest limits

  • Photos are ranked by how much they look like your words; the AI does not really understand them. Abstract words like "a happy day" work poorly.
  • The first index takes time: about 0.25 s per photo on a mid-range graphics card, so 1,000 photos take about 4 minutes.
  • The index lives only in this browser. Another computer, another browser or clearing site data means indexing again.
  • Picking a folder works only in Chrome, Edge and other Chromium browsers; elsewhere drop a folder or choose photos.
  • Your photos are never uploaded. Results show the file name and path; the browser cannot open the folder for you.

Browser support

Renaming and deleting files where they sit needs the File System Access API, which only Chromium browsers ship. Everything below happens on your machine either way — nothing is ever uploaded.

capabilityChromeEdgeFirefoxSafari
Open a folder from diskwindow.showDirectoryPicker — Chrome/Edge 86 and later, desktop only✓supported✓supported✗not supported✗not supported
Rename a file in placeFileSystemFileHandle.move — Chrome/Edge 111 and later✓supported✓supported✗not supported✗not supported
Delete a file in placeFileSystemDirectoryHandle.removeEntry✓supported✓supported✗not supported✗not supported
Remember the folder for next timethe handle is kept in IndexedDB on this device; permission is asked again✓supported✓supported✗not supported✗not supported

detected in this browser

  • window.showDirectoryPicker …
  • FileSystemFileHandle.move …
  • indexedDB …

On Firefox or Safari, or on any phone or tablet, this page can explain the job but cannot do it. Open it on desktop Chrome or Edge.

About this tool

Pick a folder of photos, or drop one here, and describe what you are looking for: "a dog on the beach", "a birthday cake with candles", "a snowy mountain road". You can also drop, paste or choose a picture to find the photos that look like it. The page reads every photo in the folder and its subfolders, shrinks each one to 640 pixels, and turns it into a vector with the EmbeddingGemma 2 model on your graphics card. Your words or picture become a vector the same way, and the closest 24 photos come back as thumbnails with their file name, folder path and score. Search opens as soon as the first photos are indexed, and you can pause indexing and resume it later. A browser cannot open a file in your file manager, so each result shows the name and path for you to find it.

What it needs

The first use downloads about 344 MB of model files once; after that they load from your browser. The model runs through WebGPU, so you need Chrome or Edge on a desktop computer with a graphics card. Without WebGPU the model cannot run here, and the page says so instead of trying. Picking a folder uses the File System Access API, which only Chrome, Edge and other Chromium browsers have; in other browsers you can drop a folder onto the page or choose photos instead. JPEG, PNG, WebP, AVIF, GIF and BMP are read; HEIC photos usually cannot be decoded in Chrome or Edge and are counted as unreadable. Your photos are never uploaded: they are decoded and indexed in this tab, and nothing about them leaves your computer.

Honest limits

The search ranks photos by how much they look like your words; the model does not really understand them. Things you can see, such as an animal, a place, a colour or an object, work best, and abstract words like "a happy day" work poorly. The first index takes time: on a mid-range graphics card (a GTX 1060) each photo takes about 0.25 seconds, so 1,000 photos take about 4 minutes and 10,000 about 42 minutes. The index is kept only in this browser. Opening the same folder again later picks up where indexing stopped, but on another computer, in another browser or after clearing site data it is built again from scratch. A photo that is renamed, moved or edited counts as a new photo and is indexed again.

Frequently asked questions

Are my photos uploaded?

No. The photos are read from your disk and decoded in this tab, and the AI model runs on your own graphics card. The only download is the model itself, once; neither your photos nor your search words are sent anywhere.

Why does it not work in Firefox, Safari or on my phone?

The model needs WebGPU, and it has only been tested in Chrome and Edge on desktop computers. Without WebGPU it cannot run here at all, so the page shows a support table instead. Safari, Firefox and mobile browsers have not been tested, so they are not claimed even where they offer WebGPU. The folder button also needs a Chromium browser; elsewhere you can drop a folder onto the page.

How long does indexing take?

It depends on your graphics card. On a GTX 1060 each photo takes about 0.25 seconds, so 1,000 photos take about 4 minutes and 10,000 about 42 minutes, plus the one-time 344 MB model download. You can pause at any time, and search keeps working on the photos already done. If you close the page, opening the same folder again later continues from the photos already indexed.

Can I search in Chinese or Japanese?

Yes, the model was trained on many languages. In a small test with 4 photos, the same descriptions in English, Traditional Chinese and Japanese each put the right photo first every time. A larger test on 500 photos has not been done yet, so if a search in your language misses, try the same words in English.

Why can I not click a result to open the photo?

For security, a browser cannot open File Explorer or Finder for you. Every result shows its file name and its path inside the folder, so you can follow the path to the original.

Where is the index kept, and how do I delete it?

In this site's IndexedDB storage in this browser, about 3 KB per photo, so 10,000 photos take about 30 MB. The photos themselves are never copied. Clearing the site data for bytescope.dev deletes the index.