You know the invoice is in there somewhere. You type “invoice” into Gmail’s search box and get back 2,400 results, sorted by some logic Google never quite explains, and you start scrolling. Ten minutes later you’re reading a newsletter from 2019 and the invoice is still unfound.
The problem isn’t that Gmail can’t find it. It’s that you asked the wrong question. Gmail’s search box understands a small set of special commands — Google calls them search operators — that let you say exactly what you mean: who sent it, roughly when, whether it had an attachment, how big it was. Once you know a handful of them, finding an email stops being a scroll and starts being a sentence.
These aren’t hacks or hidden features. They’re documented in Google’s own Gmail help pages, they work in the search box at the top of Gmail on your computer, and most of them work the same way in the Gmail app. Here’s the set that’s actually worth remembering, organised by the situation you’re in.
Start with who sent it
The single most useful operator is from:. Instead of searching for “electricity bill” across everything, search for who sent it:
from:electricity-company.com bill
You don’t even need the full address — a name or a domain works. from:amazon finds everything Amazon sent you; from:amazon order shipped narrows it to shipping notifications. The same idea works in reverse with to:, which is handy when you’re trying to find something you sent: to:landlord deposit pulls up the email you sent your landlord about the deposit, instead of every email that merely mentions landlords.
And when you remember the subject line but nothing else, subject: searches only that: subject:password reset skips every email that merely contains the words “password” and “reset” in the body. Pair two of them and you’re already in the top 1% of Gmail searchers: from:bank subject:statement.
When “recently” is all you remember
Dates are where most people give up and scroll, but Gmail handles vague time better than you’d expect. newer_than:2d finds everything from the last two days; older_than:6m finds everything older than six months. The letters are d for days, m for months, y for years — so older_than:1y is your one-line archive of ancient history.
For a specific window, use after: and before: with the date written as year/month/day: after:2026/01/01 before:2026/04/01 finds everything from the first quarter of this year. Useful when you’re looking for, say, the hotel booking from your March trip and your memory of the details has completely evaporated.
There are also the older older: and newer: variants, but older_than: and newer_than: read more naturally and do the same job, so there’s no reason to memorise both.
Hunting attachments and the emails eating your storage
has:attachment does exactly what it says, and it’s the fastest way to find that document someone sent you. Combine it: has:attachment contract or from:colleague has:attachment. If you know the file type, filename: is sharper still — filename:pdf finds emails with PDF attachments, filename:invoice.pdf goes straight for the file by name.
Then there’s the one that quietly solves a different problem: larger:10m lists every email bigger than 10 megabytes. Run larger:5m older_than:1y and you’re looking at the old, heavy emails — forgotten video attachments, giant presentations — that are silently eating your Google storage. If you’re anywhere near your account’s storage limit, deleting a handful of these buys more space than a hundred tiny cleanups. For the full picture of where that space goes, our guide on where your Google account’s free 15 GB actually goes walks through the rest.
Combine them and the inbox stops fighting you
The real jump in power comes from stacking operators, because Gmail treats them as “all of these must match”. A few combinations worth stealing:
from:airline has:attachment newer_than:6m — the boarding pass or e-ticket from a recent flight.
subject:receipt larger:1m — receipts with chunky attachments.
is:unread from:bank — the unread emails from your bank, and nothing else.
A couple of refinements make combinations even better. Put a minus sign before anything to exclude it: invoice -newsletter drops the newsletters that keep polluting your results. Put quotes around a phrase to match it exactly: "dinner and movie tonight" won’t match emails that merely contain those words scattered about. And OR (in capitals) lets you accept either of two conditions: from:amy OR from:david.
One honest caveat, straight from Google’s documentation: exclusion with the minus sign works at the conversation level, so a conversation can still show up if one message in it doesn’t match your exclusion. It’s a quirk, not a bug, and knowing about it saves confusion.
The ones people discover too late
in:anywhere is the operator for “I know I didn’t delete it”. Normal Gmail searches skip Spam and Trash; in:anywhere searches everything, including them. in:anywhere subject:interview has rescued more than one important email that a filter quietly filed away.
A few more that earn their keep: in:snoozed finds emails you snoozed and then forgot about. is:unread on its own is a surprisingly effective triage view. label: searches within one of your labels — label:receipts if you’ve been organised enough to have one. And if you use Gmail’s inbox categories, category:promotions searches just that tab, which is perfect for finding the discount code email buried under a hundred other promotions.
Worth a thought while you’re digging through old mail: the same operators that find your boarding pass can surface emails you’d rather not leave lying around — old password resets, account recovery messages, scans of documents. If that search makes you slightly uneasy, that’s the right instinct; it’s the same reason your email account is the master key to everything else you own, and worth securing properly.
If you run the same search twice, make it a filter
Here’s the part Google mentions almost as an aside, and it’s the most practical tip of all: after you run a search, you can turn it into a filter. Search for from:newsletter has:attachment, click the “Show search options” icon in the search box, then “Create filter” — and from now on, matching emails get labelled, archived, or deleted automatically, your choice.
So the workflow becomes: search precisely once, then never search for that thing again. The newsletter you always move to a folder? A filter. The receipts you file at tax time? A filter built from subject:receipt that applies the “Receipts” label on arrival.
You don’t need to memorise the whole list — Google documents dozens, from has:yellow-star to deliveredto:, and most people will never need them. Keep five in your head: from:, subject:, newer_than:/older_than:, has:attachment, and in:anywhere. Everything else is a bonus. The next time you’re about to scroll through thousands of results, stop and type what you actually mean instead.











