The local searcher · your disk, asked properly
Your files.
Found properly.
Point the searcher at any folder and it indexes every file inside — then answer-time is instant: six ways of matching a name, a path search, type and size and date filters, a grep through the text files with the matching line shown, duplicate detection three ways, and the results as a table, as cards, or as a wall of thumbnails.
All of it happens in this browser, on your machine, using the File System Access API. No file, no name and no path is ever uploaded — the page cannot see a byte you did not point it at. What it keeps, it keeps in your own browser, and the privacy section below names all four of those things. It needs a desktop browser: a phone cannot hand a folder to a web page at all.
—files indexed
—on the shelf
—kinds of file
0bytes of yours uploaded
The searcher
Point it at a folder. Ask it anything.
The index is built once, when you choose the folder; every filter below re-asks it instantly. Chrome and Edge give the whole File System Access API — the folder picker, the pin, and a ZIP that streams straight to disk. Safari and Firefox ship none of that: they get the broad picker and the drop zone, which index the same tree but cannot pin it and build a ZIP in memory instead. All three doors need a desktop browser. A phone or a tablet cannot hand a folder to a web page at all, and this page will say so if you are on one.
The searcher
Chrome refuses to open some folders through the picker — the whole home folder and anything it considers system territory — and says so in its own dialog (“contains system files”). That is the browser’s blocklist, not a fault here. Three ways past it: pick a subfolder instead, drop the folder on the zone above, or use the broad picker — both of the last two take any folder.
That regular expression will not compile — nothing can match it, which is why the list is empty.
tmp drops tmp/, not tmp-reports/); * stops at a slash and ** crosses one. Depth counts levels below the chosen folder.
A searcher, not a search box.
Choose a folder and every file in it joins an index that lives only in this tab. From there the whole bench works instantly:
- Six name modes — contains, starts, ends, exact, regex, fuzzy.
- Content grep — search inside the text files, matching line shown.
- Duplicates — three definitions of “the same file”, marked in place.
- Bulk actions — select across pages, copy paths, export CSV or JSON, or download a ZIP this page writes by hand.
- Previews — images with zoom, video and audio players, text and code, and a real hex dump for anything binary. A PDF is handed to the browser’s own viewer, with Open and Download buttons beside it because this site’s security policy may refuse to embed one.
Keyboard: / aims the name search. Click a row to put the
cursor on it — then ↓↑ (or
jk) walk the rows, Space selects,
Enter previews, c copies the selected paths, and
Esc closes the preview and drops the cursor, which hands the
arrow keys back to the page. In the content grep,
foo -bar means foo without bar.
This browser has no folder-picker API — Safari and Firefox do not ship it. The broad picker button and the drop zone still index a whole folder here. What they cannot do is pin it, or stream a ZIP to disk: the archive is built in memory instead, and the page warns you before a large one.
This needs a desktop browser. A phone or a tablet cannot hand a folder to a web page: iOS and Android browsers offer no directory mode, so the file sheet returns single files with no folder behind them. Open this on a computer — Chrome or Edge for the whole tool, Safari or Firefox for the broad picker and the drop zone.
The bench
Three moves, honestly made.
01
Find
Six name modes, a path search, extensions and categories, size and date windows, exclude patterns, a depth limit, and a duplicate detector with three definitions of “the same”. Every filter narrows the same index, instantly.
02
Read
Grep through the text files with the matching line shown under each hit. Preview anything in place — images with zoom, video and audio players, text and code, and a hex dump of the first 4 KB when a file is binary. A PDF goes to the browser’s own viewer, with buttons to open or save it if this site’s security policy refuses the frame.
03
Act
Select across pages and act on the lot: copy the paths, export the table as CSV or JSON, or download the files themselves as a ZIP — one this page writes by its own hand, no library, so the bytes go straight from your disk to your download.
Privacy
Nothing of yours leaves. That is the design.
The searcher makes no network request with your files in it — not to
labs.llc, not to anyone. Its code contains no fetch() at all.
No name, no path and no byte of anything you index leaves this machine.
Four things persist, and all four live in your own browser. This page used to say two, which was wrong in a way worth correcting rather than softening:
- The filter sets you name and save. Yours, listed in the console, deletable one by one.
- The exclude list, the depth limit and the hide-dotfiles switch, remembered so you do not retype them each visit.
- A snapshot of the last index — names, full paths, sizes, dates and types, up to 60,000 files. Never contents. It is what lets the page open where you left it, and it is written after every scan. Clear deletes it, and so does Dismiss on the ribbon it appears under.
- A pinned folder’s handle, if you pin one. A handle is a claim on nothing until the browser re-authorises it, and it asks every session — the page could not silently read the folder again even if it wanted to. The Pinned badge unpins it.
One thing does leave this page, and it is not yours: the same Google Analytics tag every page on labs.llc carries, loaded in the head before anything else. It counts a page view. It is never told what you indexed, because nothing on this page is ever told what you indexed.
About
A searcher, brought home.
The Local File Searcher, brought home to labs.llc and rebuilt on the paper system in both editions. Everything the standalone build could do survives — the six name modes, the content grep, the duplicate detector, the three views, the bulk bench, the previews, the presets, the pinned folder — and the toolchain got lighter on the way: the ZIP is written by the page itself and the previews need no highlighting library. Best in Chrome or Edge, where the File System Access API is whole; a fallback picker covers the rest.