Social Post Accessibility Checker
Find what trips up screen readers before you post — and get a fixed copy.
Checked in your browser as you type. Nothing is uploaded.
What to fix
Paste a post to check it.
How a screen reader may read it
An approximation: emoji are read by their standard names and styled letters and symbols by their Unicode names. What people actually hear depends on the screen reader, its settings and its language.
Corrected version
ALL CAPS, emoji inside sentences and image descriptions need your own judgement, so they are listed above but not changed.
Alt-text limits by platform
| Platform | Limit | Note · source |
|---|---|---|
| X (Twitter) | 1,000 | Source |
| 1,000 | Instagram’s API documents 1,000 characters for image alt text; reels and stories are not supported there. Source | |
| Threads | 1,000 | The Threads API documents 1,000 characters for the alt text of an image or video. Source |
| 500 | Source | |
| Bluesky | 2,000 | A limit of the official app; the protocol itself sets none. Source |
| Mastodon | 10,000 | Mastodon 4.7 default, as configured on mastodon.social. Every server reports its own limit, and older versions allow less. Source |
| Discord | 1,024 | Source |
Platforms that are not listed have no documented alt-text limit that could be found; their image descriptions are still checked for missing text and wording.
About the Social Post Accessibility Checker
Paste a caption, post or bio and see what makes it hard to follow for people who use screen readers or have low vision: “fancy font” letters made of maths symbols, rows of emoji and emoji in the middle of sentences, emoji or symbols used as bullets, hashtags that are not written in CamelCase, phrases in capitals, rows of decorative symbols and invisible spacing characters. Add your image descriptions and the tool also flags images without alt text, descriptions that start with “image of” or are just a file name, and descriptions longer than the platform allows.
You also get an approximate read-out — emoji spoken by their standard names, styled letters by their Unicode names — and a corrected copy with plain letters and CamelCase hashtags, ready to paste.
How to use it
- Paste your post. Choose where you are posting, so image descriptions are checked against that platform’s alt-text limit.
- Press Add an image for each image and paste its description; tick The post has a video if it has one.
- Read What to fix: problems first, then warnings and tips, each with examples from your post and the guideline it comes from.
- Listen with your eyes: How a screen reader may read it shows the names that replace emoji, symbols and styled letters.
- Pick the fixes you want under Corrected version, copy the result, and check its length if you like.
Examples
𝗕𝗜𝗚 𝗡𝗘𝗪𝗦 🎉🎉🎉 Our new café opens THIS SATURDAY IN PUNE! … #newcafe #WEEKENDPLANS
1 problem (7 fancy-font letters), 4 warnings (a row of emoji, emoji bullets, 2 hashtags not in CamelCase, a phrase in capitals) and a tip (an emoji in the middle of a sentence).
Corrected: BIG NEWS 🎉🎉🎉 Our new café … #NewCafe #WeekendPlans
𝗛𝗶 🔥🔥🔥
“mathematical sans-serif bold capital h, mathematical sans-serif bold small i, fire, fire, fire”
Image 1: (empty) · Image 2: “Image of the café counter”
Image 1 has no description (problem). Image 2 starts with “image of” — say what it shows instead (tip).
Common uses
- Checking captions before posting from a brand, school, NGO or government account.
- Fixing hashtags and fancy-font names in an existing bio.
- Teaching a social media team why accessible posts matter, with a read-out of their own post.
- Reviewing image descriptions against each platform’s limit.
What the checks are based on
- Image descriptions: WCAG 2.2 success criterion 1.1.1 asks for a text alternative for every image that carries meaning; 1.2.2 asks for captions on pre-recorded video.
- Fancy fonts: Unicode Technical Report #25 says the mathematical letters used for bold, italic and script “fonts” are “intended for use only in mathematical or technical notation; they are not intended for use in non-technical text”.
- Hashtags: the U.S. federal social media accessibility toolkit on Digital.gov recommends CamelCase hashtags (#DigitalGov, not #digitalgov) and using few hashtags, because CamelCase helps screen readers pronounce the words.
- Capitals: the GOV.UK style guide warns that block capitals are “quite hard to read”.
- Alt text wording: WebAIM advises against starting with “image of”, because screen readers already announce images.
- Emoji names: screen readers use standard short names for emoji, such as “fire” or “red heart”; Unicode’s CLDR data defines these names “for text-to-speech”.
Writing a good image description
Say what matters in the picture for this post, in a short phrase or a sentence or two — who or what is in it, what is happening, and any text that appears in it. Leave out “image of”, and do not repeat the caption. Charts and screenshots of text need the important numbers or words written out. Each platform has its own field for this (often called alt text or description); the limits the tool knows are listed under Alt-text limits by platform.
Emoji and symbols, used well
- One emoji after a sentence adds feeling without getting in the way.
- A row of the same emoji is read out once per emoji.
- An emoji in place of a word (“I ❤️ chai”) is read by its name in the middle of the sentence.
- Symbols at the start of every line, and rows of stars or lines, are read out every time.
The Cool Symbols and Kaomoji pages show the names of symbols and faces before you use them.
Limitations
- The read-out is an approximation; screen readers differ, and their settings change how much punctuation and how many symbols they announce.
- CamelCase suggestions come from an English dictionary: words it does not know (names, places, brands) are left alone, and you should check every suggested word break.
- The tool cannot see your images or video; it checks the descriptions you type, and reminds you about captions.
- Hashtag and capitals checks apply to Latin-script text; other scripts have no capital letters and are left as they are.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot. Downloads a dictionary (for hashtag suggestions) and emoji names from MySmartCoPilot the first time they are needed; your post is never sent anywhere.
Frequently asked questions
Why are fancy fonts bad for accessibility?
The “fonts” you copy from font generators are really mathematical and other symbols that look like letters. Screen readers may skip them, spell them out or read every one by its Unicode name — “mathematical bold capital H” — and searches and hashtags written with them do not match plain text. Use them for a word or two at most, never for names or important information.
What is a CamelCase hashtag?
A hashtag with a capital at the start of each word: #ThrowbackThursday instead of #throwbackthursday. Screen readers can then say the separate words, and sighted readers find it easier too. Hashtags are not case-sensitive for search, so changing the capitals does not change which posts they link to.
How do screen readers read emoji?
By name: 😂 is “face with tears of joy”, 🔥 is “fire”. Those names come from Unicode’s CLDR data. That is why three 🔥 in a row are read as “fire fire fire”, and why emoji used as bullets add a word before every list item.
How long should alt text be?
As short as possible while saying what matters — usually a phrase or a sentence or two. Platforms set maximums: X, and Instagram and Threads (through their APIs), allow 1,000 characters, Pinterest 500, Bluesky’s app 2,000 and Discord 1,024; the tool checks yours against the platform you choose.
Is my post sent anywhere?
No. All checks run in your browser. The first time it is needed, the page downloads a dictionary (for hashtag suggestions) and the list of emoji names from MySmartCoPilot — your text stays on your device.