Read an email the way a screen reader reads it
Accessibility checks pass or fail. This shows what a blind reader actually hears: every announcement in reading order, with the pre-header that is off screen but read aloud, the image announced by its file name, the table read cell by cell and the link nothing names.
Already have an account? Sign in

What you get
- Every announcement in reading order: headings with their level, links and buttons by name, images by their alt text
- Text that is off screen but read aloud (font-size:0, max-height:0, opacity:0, mso-hide:all), flagged
- Images with no alt attribute, announced by file name, and the decorative images the reader skips
- Tables without role="presentation", announced as "table with 2 columns and 3 rows" and then cell by cell
- Links and buttons nothing names, a switch of language, and the marks as spoken: registered, trademark, superscript 1
How it works
- Paste the email's HTML, drop the .html or .eml file, or paste a preview URL.
- Press Read as a screen reader and read the transcript top to bottom.
- Fix what is flagged, or copy the transcript into the round's notes.
Frequently asked questions
- Is this exactly what NVDA or VoiceOver says?
- No. It is an approximation: NVDA and VoiceOver differ in wording and in what each announces, and both have settings that change it. The transcript follows the HTML the way their browse modes do, not one reader's own rules. What is read, what is skipped and what is named are the same; the exact words are not.
- Why is the hidden pre-header in the transcript?
- The usual pre-header idiom (font-size:0, max-height:0, opacity:0, mso-hide:all) hides text from sighted readers only. A screen reader reads it aloud, so it is in the transcript and flagged. Only display:none, visibility:hidden, the hidden attribute and aria-hidden="true" take an element out of the reader's path.
- What does "table roles leak" mean?
- Email layouts are built from tables. Without role="presentation", a screen reader treats one as data and announces its size and every cell's row and column, which is what the transcript shows. Layout tables should carry role="presentation"; a real data table (fees, rates) should not.
- Is the email stored?
- No. The HTML is read once to build the transcript, and nothing is kept.
More tools
The tools are part of SendLint, which checks every email in a campaign against its copy deck and creative — every version, both languages, every round. See SendLint.