Title: FluffAlt — Auto Alt Text for Images
Author: Alexandra
Published: <strong>September 23, 2026</strong>
Last modified: September 23, 2026

---

Search plugins

![](https://ps.w.org/fluffalt/assets/banner-772x250.jpg?rev=3709584)

![](https://ps.w.org/fluffalt/assets/icon-256x256.png?rev=3709584)

# FluffAlt — Auto Alt Text for Images

 By [Alexandra](https://profiles.wordpress.org/avsalexandra/)

[Download](https://downloads.wordpress.org/plugin/fluffalt.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/fluffalt/#description)
 * [Reviews](https://wordpress.org/plugins/fluffalt/#reviews)
 *  [Installation](https://wordpress.org/plugins/fluffalt/#installation)
 * [Development](https://wordpress.org/plugins/fluffalt/#developers)

 [Support](https://wordpress.org/support/plugin/fluffalt/)

## Description

FluffAlt automatically generates the alt text (the `alt` attribute) for your images
using a vision AI model, so every picture on your WordPress site has a meaningful
text description. Better image SEO, better accessibility (WCAG), and you never have
to write alt text by hand again.

It can fill in alt text the moment you publish a post, right after you upload an
image, or in bulk for hundreds of images you uploaded before. It also adds a one-
click “Generate alt text” button to the Media Library and the Gutenberg Image block.

You bring your own API key. The plugin talks to any OpenAI-compatible chat API, 
so you can pick the option that fits your budget:

 * **OpenAI** — `gpt-4o-mini` and other vision models. The most reliable quality;
   pay-as-you-go.
 * **OpenRouter** — a single key for many models, including **free** vision models.
   Set the model to `auto-free` and the plugin picks a working free one.
 * **Cloudflare Workers AI** — a **free tier** with the open LLaVA model. Simpler
   alt text, no card needed to start.
 * **Custom URL** — any other OpenAI-compatible endpoint (self-hosted models, regional
   proxies, and so on).

Every request sends only a downscaled copy of the image plus a short prompt, and
asks for a low-detail reading, so the token cost per image stays tiny.

**What it does**

 * **One-click generation** — a “Generate alt text” button in the Media Library 
   and in the Gutenberg Image block, right under the alt field.
 * **On publish** — when a post goes from draft to published, the plugin scans the
   content and orders alt text only for the images that actually ended up in the
   article. You pay only for what you use.
 * **On upload** (optional) — generate as soon as an image is added to a post.
 * **Bulk generation** — a settings-page tool for sites that already have hundreds
   of images: choose a post type, category or tag, see how many images have no alt
   text, and run the job in the background (Action Scheduler or WP-Cron). You can
   close the tab, come back later, watch progress, or stop it.
 * **Error log with retry** — failed images are listed on the settings page with“
   Retry” and “Dismiss” buttons.
 * **Fill attachment fields** (optional) — put the same text into the attachment
   title, caption and description.
 * **Language setting** — pick the output language from a dropdown (English, Russian,
   German, French, Spanish and more; defaults to the site language). Works regardless
   of the prompt language.
 * **Skip decorative images** — by minimum size, or by filename fragment (`icon-`,`
   logo`, `sprite`, and so on).
 * **Delay for auto-generation** — authors add and remove images while writing; 
   the plugin waits a configurable number of minutes before generating.
 * **Clean uninstall** (optional) — a checkbox to remove all plugin settings and
   internal data when the plugin is deleted. The alt text on your images is standard
   WordPress data and always stays.
 * **Translation-ready** — English by default, with a Russian translation bundled(`
   ru_RU`).

### External services

This plugin sends images to a third-party AI service to generate alt text. No request
is made until you enter an API key and choose a provider, and a request happens 
only when alt text is generated (manually, on upload, on publish, or in bulk).

For each generation the plugin sends: a downscaled copy (or URL) of the image, and
a short text prompt. It receives back the generated alt text. No personal data, 
post content, or user information is sent.

The provider is whichever one you select in the settings:

 * **OpenAI** — https://api.openai.com — [Terms](https://openai.com/policies/terms-of-use/)·
   [Privacy](https://openai.com/policies/privacy-policy/)
 * **OpenRouter** — https://openrouter.ai — [Terms](https://openrouter.ai/terms)·
   [Privacy](https://openrouter.ai/privacy)
 * **ProxyAPI** — https://proxyapi.ru — [Terms](https://proxyapi.ru/) · [Privacy](https://proxyapi.ru/)
 * **Cloudflare Workers AI** — https://api.cloudflare.com — [Terms](https://www.cloudflare.com/website-terms/)·
   [Privacy](https://www.cloudflare.com/privacypolicy/)
 * **Custom URL** — the endpoint you enter yourself.

### Compatibility

Tested with PHP 7.4, 8.0, 8.1, 8.2, 8.3. Tested with WordPress up to 7.1.

### License

This plugin is licensed under the GPLv2 or later.

## Screenshots

[⌊Generate alt text button in Gutenberg and the WordPress Media Library.⌉⌊Generate
alt text button in Gutenberg and the WordPress Media Library.⌉[

Generate alt text button in Gutenberg and the WordPress Media Library.

[⌊Settings page: provider, API key, model.⌉⌊Settings page: provider, API key, model
.⌉[

Settings page: provider, API key, model.

[⌊Bulk generation with a category or tag filter and progress bar.⌉⌊Bulk generation
with a category or tag filter and progress bar.⌉[

Bulk generation with a category or tag filter and progress bar.

## Installation

 1. Install the plugin from **Plugins  Add New** (search for “FluffAlt”), or upload
    the plugin folder to `/wp-content/plugins/`.
 2. Activate the plugin through the **Plugins** menu.
 3. Go to **Settings  FluffAlt**, choose a provider and paste your API key.
 4. Generate alt text from the Media Library, from the Gutenberg Image block, on publish,
    or with the bulk tool on the settings page.

## FAQ

### How do I automatically add alt text to images in WordPress?

Install the plugin, add your API key on the settings page, and choose when auto-
generation runs (on publish or on upload). From then on new images get alt text 
automatically. For images you already have, use the bulk tool.

### Can I generate alt text for all my existing images at once?

Yes. On the settings page, open “Bulk alt text generation”, pick a post type (and
optionally a category or tag), and start the job. It runs in the background in batches,
so you can close the tab and come back later to see progress.

### Do I need my own API key?

Yes. The plugin does not include an API key. Create one with your chosen provider(
OpenAI, OpenRouter, ProxyAPI or Cloudflare) and paste it into the settings.

### How much does it cost?

You pay your own provider per request. Check the real spend in your provider’s dashboard.
With `gpt-4o-mini` it is usually a fraction of a cent per image. OpenRouter has 
free vision models and Cloudflare Workers AI has a free tier.

### It says “Access denied by security policy” or a 403 error.

Your provider is blocking requests from your server’s region. Try a different provider,
or enter a custom endpoint that is reachable from your host.

### Will it overwrite alt text I wrote myself?

No. Existing non-empty alt text is never overwritten by automatic generation.

### Can I generate alt text in another language?

Yes. Pick the language in **Settings  FluffAlt**. It defaults to the site language
and works regardless of the prompt language.

### Does deleting the plugin remove the alt text from my images?

No. The alt text is stored in `_wp_attachment_image_alt`, a standard WordPress field,
and is never touched. Only the plugin’s own settings and internal data are removed,
and only if you tick “delete all plugin data” in the settings before deleting the
plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“FluffAlt — Auto Alt Text for Images” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Alexandra ](https://profiles.wordpress.org/avsalexandra/)

“FluffAlt — Auto Alt Text for Images” has been translated into 1 locale. Thank you
to [the translators](https://translate.wordpress.org/projects/wp-plugins/fluffalt/contributors)
for their contributions.

[Translate “FluffAlt — Auto Alt Text for Images” into your language.](https://translate.wordpress.org/projects/wp-plugins/fluffalt)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fluffalt/), check out
the [SVN repository](https://plugins.svn.wordpress.org/fluffalt/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/fluffalt/) by [RSS](https://plugins.trac.wordpress.org/log/fluffalt/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

First public release.

 * Generate alt text on demand (Media Library button and Gutenberg Image block).
 * Auto-generation on publish: scans the published content and generates alt text
   only for images that actually ended up in the article.
 * Auto-generation on upload (optional), with a configurable delay.
 * Bulk generation as a background job (Action Scheduler / WP-Cron): close the tab
   and it keeps going; reopen to see progress or stop it.
 * Two-step scope picker for bulk and a searchable category/tag picker for auto-
   generation.
 * Providers: OpenAI, OpenRouter, Cloudflare Workers AI, ProxyAPI, or a custom OpenAI-
   compatible URL.
 * Output language dropdown, independent of the prompt language.
 * Skip decorative images by minimum size or filename fragment.
 * Optionally fill the attachment title, caption and description.
 * Error log with one-click retry.
 * Optional “delete all plugin data on uninstall” — the image alt text itself is
   never removed.
 * Fully translation-ready; English source strings with a bundled Russian (ru_RU)
   translation.

## Meta

 *  Version **1.0.0**
 *  Last updated **20 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.3 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/fluffalt/) and [Russian](https://ru.wordpress.org/plugins/fluffalt/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/fluffalt)
 * Tags
 * [accessibility](https://wordpress.org/plugins/tags/accessibility/)[AI](https://wordpress.org/plugins/tags/ai/)
   [Alt Text](https://wordpress.org/plugins/tags/alt-text/)[image seo](https://wordpress.org/plugins/tags/image-seo/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/fluffalt/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fluffalt/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fluffalt/reviews/)

## Contributors

 *   [ Alexandra ](https://profiles.wordpress.org/avsalexandra/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fluffalt/)