The folder is read in your browser. Nothing is uploaded and nothing is changed.
About searching inside files
Everyone has looked for a file by something written inside it — a client name in one of two hundred invoices, an old password in a config, a phrase in a folder of notes — and everyone has been let down by the search box built into their operating system.
Windows Search indexes file contents only for certain locations and certain file types, and when it has not indexed something it returns nothing rather than saying so. That is worse than an error, because you conclude the text is not there. Spotlight does better but is equally quiet about what it skipped.
This tool opens every candidate file and reads it. You get the file, the line number and the line itself — and, just as importantly, a count of everything it could not read.
Read-only: nothing is uploaded, nothing is changed.
How to use it
- Click Choose a folder to search and pick it. Your browser will ask permission to read it
- Type what to look for
- Tick Match case, Whole word or Regular expression if you need them
- Narrow it with Only these types — searching just txt, md is far quicker than opening everything
- Press Search, then Copy the matches or download the CSV
Every match shows the line number and the line, with the matched text highlighted. A very long line is trimmed around the match rather than dropped, so a minified file still gives a usable answer.
It tells you what it skipped
This is the part the built-in search tools get wrong, so it is stated on screen after every search:
- Not text — a file containing a NUL byte is binary. Searching a JPEG for "invoice" cannot produce anything but noise, so those are skipped and counted
- Too big — anything over 8 MB. One enormous log file should not freeze the tab
- Unreadable — locked by another program, vanished mid-scan, or refused by the operating system
If a search comes back empty and the summary says 40 files were skipped, you know to look again with a wider type filter. A silent zero would have told you nothing.
Three ways to match
- Plain text — the default. Everything you type is matched literally, so a search for price ($) finds exactly that and does not have to be escaped
- Whole word — cat matches cat but not category. Useful for names and identifiers
- Regular expression — the full JavaScript flavour. \d{4}-\d{2}-\d{2} for dates, TODO|FIXME for either, ^import for lines that start with it. An invalid expression is reported as invalid rather than quietly matching nothing
Match case applies to all three.
What people use it for
- Finding the invoice with a client's name in it among hundreds
- Locating a setting buried in a folder of config files
- Searching a folder of notes or markdown for a phrase you half remember
- Checking whether an API key or password is sitting in a project folder
- Finding every file that mentions a function or variable before renaming it
- Auditing exported CSVs for a value that should not be there
- Getting a line-numbered list you can paste into a ticket
Good to know
- Works on Windows, macOS, Linux and ChromeOS — it is a web page, so there is nothing to install. It cannot work on iPhone, iPad or Android: mobile browsers have no way to hand a folder to a web page
- Every browser gives the same answer here. Reading a file's contents is something both the modern folder picker and the older file-list mechanism can do
- Nothing is uploaded. Every file is opened and searched in the page
- There is no index, so the first search on a large folder takes as long as reading it. That is also why it can never be out of date
- Up to 50 matches are kept per file and 300 files shown on screen; the CSV contains every match
- Files are read as UTF-8. A file in an older regional encoding may show odd characters, though the search itself still works for plain ASCII text
- The search runs in the page, so a very large folder will keep the tab busy. A progress bar shows how far it has got
Related tools
- Folder & File List — search by name instead of content
- Find and Replace — change the text once you have found it
- Regex Tester — build the pattern before running it over a folder
- Duplicate File Finder — find identical files rather than similar text