Description
You ran an accessibility check, or a client did, and hundreds of images came back with no alt text. Writing them by hand is a day of work nobody has.
This plugin adds alt text generation to the Media Library you already use. Pick images, generate, done.
What it does
- Fixes a whole library in one pass – select images in the Media list and use the Generate Alt Text bulk action. No separate screen to learn.
- Leaves alt text people wrote alone – a bulk run only fills images that have none. Images that already have alt text are skipped, counted in the summary, and cost no credits.
- Shows you what is missing – a new Media Library column marks every image without alt text, so you can see the size of the problem before you start.
- Reaches posts you already published – WordPress copies alt text into a post when an image is inserted, so alt text added later never reaches older posts on its own. This plugin fills the gap as each post is displayed.
- Handles new uploads on its own – turn on auto-generate and images get alt text shortly after they are added, in the background, so uploads stay fast and the backlog never rebuilds.
How it works
- Install and paste your API key in Settings.
- Select images in the Media Library and choose Generate Alt Text.
- Review and edit anything you want to change. The text is saved in WordPress.
Where the text goes
Generated text is saved to _wp_attachment_image_alt, the same field WordPress core uses for alt text. That has consequences worth knowing:
- Featured images, galleries, product images, and anything else a theme or page builder displays from the Media Library use it straight away.
- Images already inside a post are different. The block editor and the classic editor both copy alt text into the post when the image is inserted, so a post that went out with none still has none after you fix the Media Library. With Existing posts switched on (the default), the plugin fills each such image from the Media Library as the post is displayed. Alt text an author wrote in a post is never changed, and nothing is written to your posts.
- Your Media Library alt text stays in your database. Deactivate or delete the plugin and it is still there.
- You can edit it anywhere WordPress lets you edit alt text. This plugin is not a separate store.
Four writing styles, or your own
The same photo needs different alt text on a gallery and on a product page. Pick one of four styles, or write your own instruction:
- Standard – a plain description of what is visible, under 125 characters.
- Concise – under 80 characters, for dense listings.
- SEO – keyword-aware, 10 to 15 words.
- E-commerce – product, colour, key features.
- Custom – up to 500 characters of your own guidance, e.g. “These are handmade ceramics. Mention glaze colour and shape.” It steers the writing; it cannot change what the service does.
28 languages
Alt text is written in the language you choose, not translated after the fact: English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Swedish, Danish, Norwegian, Finnish, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Turkish, Indonesian, Czech, Hungarian, Romanian, Ukrainian, Greek, Hebrew, Vietnamese and Thai.
What it sends
Generating alt text sends the image to the DescribeImg API, which needs an account and an API key. The image itself is not kept: it is deleted once its alt text is written. What the service does keep, and who else sees the image, is under External services below. Nothing is sent until you ask for a generation, or until you switch on auto-generate.
Pricing
The plugin is free. The service it calls has a free tier and paid plans:
- Free – 25 images, no card required
- Starter – $5/month, 150 images
- Pro – $19/month, 600 images
- Business – $49/month, 2,000 images
- Agency – $89/month, 6,000 images
Unused credits carry forward to the next month.
Requirements
- WordPress 6.2 or later
- PHP 7.4 or later
- A DescribeImg API key (free tier available)
- Outbound HTTPS from your server to describeimg.com
External services
This plugin relies on the DescribeImg API, a service run by DescribeImg at https://describeimg.com. It is what writes the alt text, so the plugin does nothing without it.
What is sent, and when:
- When you generate alt text – one image, the bulk action, or auto-generate after an upload – the plugin sends the image file (a web-sized copy where WordPress has made one), its attachment ID and filename, and your API key.
- When you verify your key, and each time the settings page loads – your API key only, to check it and to show your plan and remaining credits.
What happens to it:
- The image is sent on to OpenAI, which writes the alt text, and is deleted by DescribeImg once that is done.
- DescribeImg keeps the attachment ID, the filename, the alt text it wrote and a timestamp as your account’s generation history, for 12 months.
DescribeImg Terms of Service and Privacy Policy.
Installation
- Upload the plugin to
/wp-content/plugins/, or install it from Plugins > Add New. - Activate it.
- Go to Settings > DescribeImg, paste your API key, and use Verify Key to check it works before you save.
- Open the Media Library, select some images, and choose Generate Alt Text from the bulk actions menu.
FAQ
-
Will this slow down my site?
-
No. Generating alt text happens in wp-admin, and no script or stylesheet is added to pages your visitors see. The one thing that runs on the front end is the Existing posts setting, which reads each image’s alt text from WordPress’s own cache as a post is displayed – no request leaves your site to do it.
-
What happens to my alt text if I deactivate the plugin?
-
The Media Library alt text stays. It is saved to
_wp_attachment_image_alt, the WordPress core field, so it behaves exactly like alt text you typed by hand, and deactivating or deleting the plugin does not touch it.Images inside existing posts go back to what each post saved – often no alt text at all – because the plugin fills those in as the post is displayed rather than rewriting your posts. To make an image’s alt text part of the post itself, open the post and re-select the image, or type the alt text into the image block.
-
Does it work with my theme or page builder?
-
Yes, because it does not render anything. It writes to the core alt text field that themes, blocks, and builders already read.
-
Do I need to pay?
-
You need a free account for an API key. The free tier covers 25 images with no card. Paid plans start at $5/month if you need more.
-
Does it send my images anywhere?
-
Yes – generating alt text uploads the image to the DescribeImg API, which is where the text is produced, and the service passes it to OpenAI to write the text. The image is not kept; the service keeps the attachment ID and filename sent with it, the alt text it wrote, and when, as your account’s history. The details are under External services. Nothing leaves your site until you trigger a generation or enable auto-generate.
-
Can I undo a bulk run?
-
There is less to undo than you might think: a bulk run only fills images that had no alt text, so nothing anyone wrote is replaced. Generated text is ordinary WordPress alt text, so you can edit or clear it per image in the Media Library. Run a small batch first to check the style suits you before doing hundreds.
-
Does it overwrite alt text I already wrote?
-
No, unless you ask for it one image at a time. Bulk runs and auto-generate skip every image that already has alt text, and spend no credits on them; the summary at the end of a bulk run says how many were skipped.
To replace the alt text of a single image, open it and choose Generate Alt Text. The text it replaced is kept, and a Restore link under the button puts it back. Restore is only offered while the image still has the generated text, so it never undoes an edit made since.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Codynaut DescribeImg Alt Text” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Codynaut DescribeImg Alt Text” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.1
- The plugin is now called Codynaut DescribeImg Alt Text. The DescribeImg service it uses keeps its name.
1.1.0
- Bulk runs skip images that already have alt text, say how many they skipped, and spend no credits on them.
- Generating alt text for a single image that already has some keeps the text it replaced, with a Restore link to put it back.
- The attachment edit page shows generated alt text in its alt text field, so Update no longer saves the old text back.
1.0.0
- First release.