Most guides tell you to build a Gmail filter with older_than:90d set to Delete it, then promise your inbox will clean itself forever. That is not how Gmail filters work. Gmail even shows a warning the moment you try, telling you the filter will not match incoming mail.
A filter checks each message the instant it arrives. A brand new email is zero days old, so a rule looking for mail older than 90 days never matches it on arrival. The message would only qualify months later, but the filter does not re-scan your inbox on a schedule. So the trick deletes the old mail sitting there today, once, then quietly does nothing for everything that arrives afterwards. This guide covers what genuinely automates inbox cleanup, what only runs once, plus how to clear out old mail safely without losing anything you need.
Why the older_than filter does not keep cleaning
The confusion comes from mixing two different Gmail features. Search operators like older_than work against your whole mailbox at the moment you run them. Filters work against single messages at the moment each one arrives. When you turn an older_than search into a filter, Gmail applies it once to the matching mail already in your account, then attaches it to future arrivals where it can never match. Google makes this explicit with an on screen note that the filter will not affect incoming mail.
So a Delete it filter built on age is really a one-time broom, not a standing rule. To keep an inbox tidy over time you need two separate habits: a filter for the kinds of mail you never want, plus a periodic search for mail that has simply grown old.
What actually deletes mail automatically
Filters do run forever, but they act on the type of mail rather than its age. A rule that matches a sender, a subject phrase, a label or a keyword fires on every new message that fits, for as long as the filter exists. That is the real automation. Good targets include a noisy notification address, marketing mail with the word unsubscribe in it and the alerts you never open. Set one of those to Delete it and Gmail clears each new match the moment it arrives.
- Click the Settings gear at the top right of Gmail, then choose See all settings.
- Open the Filters and Blocked Addresses tab, then click Create a new filter.
- Fill in what to match, for example a sender in the From field or a phrase in Has the words.
- Click Create filter, then tick Delete it in the list of actions.
- Tick Also apply filter to matching conversations to clear existing mail that already fits.
- Click Create filter to save it.
The full set of filter actions is documented in Google's guide to Gmail filters.
Clear out the old mail you already have
To remove mail by age, do it as a one-time sweep with search. This is the honest way to handle a request like delete everything older than a year.
- Type older_than:1y in the Gmail search bar, then press Enter. Use 6m for six months, 90d for ninety days or 2y for two years.
- To target a fixed date instead, type before:2024-01-01 in the format year-month-day.
- Tick the select box at the top left to select the visible results, then click Select all conversations that match this search to grab every match.
- Click the Trash icon to move them all out at once.
Repeat this every few months and you get the same clean inbox, with full control over what leaves each time. You can combine operators to be precise, for example older_than:1y from:newsletters to clear only old mail from one sender. The complete reference is in Google's list of search operators.
Decide what is safe to auto-delete
Automation only helps if it removes the right things. Before you set any rule to Delete it, separate the mail that is genuinely disposable from the mail you may need later. Notifications, social updates, expired promotions and old newsletters are safe to clear. Be far more careful with anything that carries lasting value.
Keep receipts, order confirmations, tax and bank statements, warranty emails, contracts and account recovery messages. A good habit is to apply a label such as Keep to the mail that matters, then exclude that label from every cleanup by adding -label:keep to your search. That way an over eager rule can never touch the emails you actually depend on. Test each rule on a search first, read the results carefully, then let it delete.
When to archive instead of delete
If you are unsure whether you will need a message again, archive it rather than delete it. Archiving pulls the mail out of your inbox while keeping it forever in All Mail, with no 30 day clock and no risk of losing it. Your inbox looks just as clean, yet every message stays searchable whenever you need it later.
To automate this, build the same kind of filter described above but tick Skip the Inbox (Archive it) in place of Delete it. It is the cautious version of inbox cleanup, a sensible default for anything that is not obviously junk. Reserve Delete it for mail you are certain you will never want back.
Things to keep in mind
| Detail | What it means |
|---|---|
| Where deleted mail goes | Both filters and bulk delete send mail to Trash, where it stays 30 days before it is removed for good. |
| Spam and Trash | The older_than operator also matches mail already in Spam and Trash, so it sweeps those too. |
| Test before you delete | Run your search first and read the results. A loose filter can match far more than you expect. |
| Protect important mail | Star or label anything you must keep, then add -label:keep or -is:starred to your search so it is left alone. |
| Mobile limit | You can search and bulk delete in the phone app, but new filters can only be created on a computer. |
Because everything you remove lands in Trash first, a mistake is recoverable for 30 days. Our guide on recovering deleted Gmail emails walks through getting a message back inside that window. If you would rather review old mail before clearing it, see how to find old emails in Gmail first.
The one real rolling auto-delete
A genuine delete anything older than X days that runs on its own does exist, but only on Google Workspace, where the control sits with an administrator. In the Admin console an admin can set an auto-deletion policy by age, with a minimum of 30 days, plus labels that stay protected from it. A personal Gmail account has no equivalent switch. If you are on a work or school account and want this, ask your admin. If you are on a personal account and truly need age based automation, Google Apps Script can run a daily cleanup, though that involves a little scripting and sits beyond a quick settings change.