Message-ID header checker: is your Message-ID valid?
In short: Paste the headers of a test email, or a list of Message-ID values one per line. The tool checks the angle brackets, the left and right sides, the domain and the From domain, and finds repeated ids. Limit: It checks the standard syntax; it does not check whether receivers treat a Message-ID in any particular way.
Paste your test email's headers, or Message-IDs one per line. The tool checks each against the RFC 5322 form <left@right>: angle brackets, one @, a left side and a right side made only of allowed characters, and a domain on the right. It compares the domain with your From domain, counts the headers and finds repeats.
Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. Check your list free nowSee pricing
Sample result
The example Message-ID is valid, and its domain matches the From domain.
- Problems
- 0
- Message-IDs read
- 1
- Right side
- mail.example.org
What this means for you
One message cannot show uniqueness, so paste several ids to look for repeats.
- Angle brackets and one @
- Left and right side syntax
- Domain against From
- Repeats across a list
- Message-ID
- RFC 5322
- Headers
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
A valid Message-ID is only part of a clean send.
- When the headers are right, clean the list you are about to send to.
- Upload or paste it at /verify. Every address gets a live mailbox check, and the first 100 email checks are free with a Google sign-in, no card.
How do I check a Message-ID?
- Send a test email to a mailbox you own and open its full headers.
- Paste the headers in, or copy the Message-ID lines from several test messages, one per line.
- Read the result for each id and the notes on the domain after the @.
- If the right side is an internal name or the ids repeat, change the setting in your sending software so each message gets a unique id on your own domain.
Example
- You enter
- Headers From sender@example.org with
Message-ID: <20261109100000.7f3a9c@mail.example.org>. - You get
- One Message-ID read, no problems. The syntax is valid and the right side mail.example.org matches the From domain example.org. One note: uniqueness needs several ids to compare.
- Limits
- Runs in your browser; nothing is uploaded.
What does a valid Message-ID look like?
RFC 5322 writes it as an angle bracket, a left side, an @, a right side and a closing angle bracket. The left side is a dot-atom: letters, digits and a set of symbols, with single dots between parts and none at the start or end. The right side is a dot-atom too, or a domain literal in square brackets. A common shape is a timestamp and a random string on the left and the sending server's name on the right.
What does the standard say about uniqueness and presence?
The message identifier must be globally unique, and every message should have a Message-ID. A message carries at most one. Using a domain you control on the right of the @ is recommended, which is what keeps ids from clashing with anyone else's. One message cannot show whether an id is unique, so the tool lets you paste several and flags repeats.
Why compare the right side with the From domain?
Nothing in the standard requires the two to match, so a difference is shown as a note. Servers sending for you usually use their own hostname or your domain, and an internal name such as localhost or a .local host usually means a setting was left at its default. The email header analyzer reads the rest of the headers.
Who uses this tool, and for what?
- Cold email senders
- Confirm your sending tool writes a proper id on your own domain before a campaign.
- Deliverability consultants
- Spot ids that use localhost or an internal hostname in a client's setup.
- Sales ops
- Check a batch of ids from test sends for repeats.
What can’t this tool tell you?
- It checks the standard syntax; it does not check whether receivers treat a Message-ID in any particular way.
- Older obsolete forms that RFC 5322 only tolerates are reported as problems.
- Uniqueness can only be checked among the ids you paste.
- The tool follows RFC 5322 as written; later updates are not included.
Common questions
- Does a Message-ID affect deliverability?
- The tool does not claim that. It checks the format the standard defines and flags values that look like leftover defaults.
- Can two messages share a Message-ID?
- RFC 5322 says the identifier must be globally unique, so they should not. Paste several ids and the tool lists repeats.
- What is a domain literal?
- A bracketed address such as [192.0.2.1] in place of a domain name. RFC 5322 allows it but recommends a domain.
- Must the domain match my From address?
- No. The tool shows a note when they differ, because many senders use their server's own name.
- What if there are two Message-ID headers?
- RFC 5322 allows at most one, and the tool flags a message with more.
- Is my text sent anywhere?
- No. The headers are read in your browser.
Sources
A tidy list can still be full of dead addresses.
Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.
- Upload the cleaned file as it is: CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.