Unsubscribe checker
Runs in your browser
Gmail and Yahoo show an unsubscribe button next to the sender’s name when a message sets two headers correctly. Setting one of them and not the other is the usual mistake, and it looks right from the outside. Paste a message and this says which state it is in.
It reads the headers, and only the headers. Nothing you paste is uploaded, and nothing here follows the unsubscribe link — doing that would be the unsubscribe.
Check a message
The verdict will appear here.
The two headers, and why one alone does nothing
List-Unsubscribe is the older half
RFC 2369 defined it in 1998. It carries one or more URIs in angle brackets — a mailto: address, an https:URL, or both — and it means “here is where the unsubscribe lives”. On its own it is a link. A client that honours it opens that link in a browser, or composes that mail, and hands the reader over to whatever the sender built.
That is why it is not enough. The reader lands on a page that may ask them to log in, confirm a preference centre, or find their address again — and most of them press the spam button instead, which is the outcome the whole mechanism exists to prevent.
List-Unsubscribe-Post is what makes it one click
RFC 8058 added a second header with exactly one legal value: List-Unsubscribe=One-Click. It is a promise. It says the HTTPS URI in the other header will accept an unauthenticated POST and unsubscribe the reader immediately, with no page, no login and no confirmation.
Only then does the receiving provider show its own unsubscribe control and do the work itself. Without that promise a provider will not POST to a stranger’s URL, because doing so would be acting on the reader’s behalf with no idea what happens next.
The value is fixed, and near-misses do not count. A header saying One-Click on its own, or yes, is not what the RFC defines, and this page reports it as a failure rather than being generous — because the receivers are not generous either.
What senders are actually required to do
Since February 2024, Google and Yahoo both require bulk senders to support one-click unsubscribe and to honour a request within two days. The published requirement is the headers and the honouring; the thresholds each provider applies internally are theirs and are not something this page will guess at.
The practical shape is: set both headers, publish an HTTPS endpoint that accepts an unauthenticated POST, act on it, and keep a mailto: alongside for clients that never implemented RFC 8058. This page reports that combination as the belt-and-braces form, because it is.
If you are the reader, not the sender
A missing header tells you something. Legitimate bulk mail is now strongly pushed to carry both, so mail that carries neither is either not bulk mail or not interested in being easy to leave.
It is also worth knowing that unsubscribing confirms your address is live and read. For a sender you recognise that is a fair trade. For one you do not, the safer move is to stop the address working rather than to answer them — which is what a per-sender alias is for.
What this cannot tell you
It cannot tell you the unsubscribe works. It reads the promise, not the behaviour: a sender can set both headers perfectly and ignore every POST that arrives. Checking would mean sending the request, and sending the request would unsubscribe you from a list you may not have meant to leave.
One of the free email tools.