Title: SafeAlt – AI Alt Text Generator &amp; Image SEO
Author: zmlabsnet
Published: <strong>October 5, 2026</strong>
Last modified: October 5, 2026

---

Search plugins

![](https://ps.w.org/safealt/assets/banner-772x250.png?rev=3727997)

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

# SafeAlt – AI Alt Text Generator & Image SEO

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

[Download](https://downloads.wordpress.org/plugin/safealt.0.4.6.zip)

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

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

## Description

SafeAlt describes the images of your media library: it looks at each image and writes
its alternative text, title, caption and description, in the language of your content.

**Your data stays yours.**

 * **No big tech.** Your images and texts are never sent to OpenAI, Google, Microsoft,
   Amazon or Meta: the analysis models run on servers operated by ZM Labs, located
   in the European Union.
 * **No reuse.** Your images are only used to describe them: never to train a model,
   never sold or shared.
 * **Deleted after analysis.** Images are reduced and stripped of their metadata(
   EXIF, GPS) before leaving your site, then deleted by the service as soon as they
   are analysed.
 * **Minimal logs.** No image, no text and no data about your visitors in the service
   logs. The written texts are erased from the service after 30 days.

**What it does**

 * **No API key, nothing to configure.** No OpenAI, Google or other AI account to
   create or pay for: the AI is included. Connect the site in one click and you 
   are done.
 * **Works in the background.** New images are described as soon as they are uploaded,
   without anyone visiting the site and without a cron job to set up.
 * **Faithful alt texts.** The alt text only describes what the image shows. Guesses,
   invented places and brands are detected and removed automatically; a doubtful
   result is flagged “to review” and never applied on its own.
 * **Empty fields are filled in automatically.** One click on **Reset** restores
   what was there before.
 * **Nothing written by a person is overwritten.** For fields that already have 
   a value, SafeAlt proposes a replacement: edit it, accept it, keep the current
   value, or regenerate. A manual mode asks before every change.
 * **Whole media library.** Pick existing images in a grid (or all those without
   alt text in one click); they are processed in the background, after new uploads.
 * **Works with** Polylang, WPML, WooCommerce, Yoast SEO and Rank Math (language
   and main category are taken into account).
 * **WP-CLI:** `wp safealt enqueue`, `wp safealt pump --loop`, `wp safealt status`,`
   wp safealt apply`.

**Pricing.** SafeAlt is a service: the free plan describes 25 images per month on
one site, with no credit card. Paid plans (500 to 10,000 images per month, 1 to 
25 sites) can be subscribed from the plugin. Details: [zmlabs.net/plugins/safealt](https://zmlabs.net/plugins/safealt/).

### External services

**SafeAlt service (ZM Labs).** The descriptions are written by the SafeAlt service,
operated by ZM Labs on servers in the European Union (`https://api.safealt.zmlabs.
net`). Nothing is sent before an administrator connects the site and accepts that
images are sent for description.

 * When connecting: the site address and the contact email entered (required; used
   to link a purchase to the site and to contact you about the service, never for
   marketing).
 * For each image to describe: a reduced copy of the image without its metadata (
   EXIF, GPS), the title and main category of the page it belongs to, the business
   description you entered, the site name and tagline, a cleaned file name and the
   language wanted.
 * The service then calls back your site (`/wp-json/safealt/v1/wake`, signed request,
   no data) when the texts are ready, and the plugin fetches them.
 * Images are deleted as soon as they are analysed; texts and context are deleted
   after 30 days.

Terms of service: https://zmlabs.net/conditions-utilisation-licence/ — Privacy policy:
https://zmlabs.net/politique-de-confidentialite/

**Freemius (payments).** Only when an administrator clicks to subscribe to a paid
plan, the plugin loads the Freemius checkout (`https://checkout.freemius.com`), 
with the administrator’s email address pre-filled. Freemius processes the payment,
the VAT and the invoice. No data from your site is sent to Freemius otherwise.

Freemius terms: https://freemius.com/terms/ — Freemius privacy policy: https://freemius.
com/privacy/

## Screenshots

[⌊The image grid: pick the images without alt text and describe them in the background.⌉⌊
The image grid: pick the images without alt text and describe them in the background
.⌉[

The image grid: pick the images without alt text and describe them in the background.

[⌊An image filled in automatically: alt text, title, caption and description, with
a Reset link.⌉⌊An image filled in automatically: alt text, title, caption and description,
with a Reset link.⌉[

An image filled in automatically: alt text, title, caption and description, with
a Reset link.

[⌊The dashboard: queue, quota and connection status.⌉⌊The dashboard: queue, quota
and connection status.⌉[

The dashboard: queue, quota and connection status.

[⌊The settings: fields to fill, alt text length, minimum image size.⌉⌊The settings:
fields to fill, alt text length, minimum image size.⌉[

The settings: fields to fill, alt text length, minimum image size.

## Installation

 1. Upload the plugin and activate it.
 2. Open the **SafeAlt** menu and click **Connect my site**.
 3. New images are described automatically. To process existing images, open **SafeAlt
    Images**, tab **Without alt text**, select images and click **Describe the selection**.

No cron job to set up: the service wakes your site up as soon as the texts are ready,
even on low-traffic sites.

## FAQ

### How long does it take?

Each image is really looked at: new uploads are usually described within minutes.
A first run on several thousand images is processed in the background and can take
a day or more; you can leave the page, it keeps going.

### Will it replace my existing alt texts?

No. A field that already has a value is never overwritten automatically: SafeAlt
proposes a replacement that you accept or not.

### Can I undo?

Yes. Click **Reset** on the image (media library or history) to restore the values
from before SafeAlt.

### Are my images used to train an AI?

No. Your images are only used to describe them. They are processed by models run
on servers operated by ZM Labs in the European Union, never sent to a big tech AI
provider, never used for training, never sold or shared. Each image is deleted as
soon as it is analysed, and the texts written are erased from the service after 
30 days.

### Which image formats?

JPEG, PNG, WebP, AVIF and GIF (first frame). AVIF requires Imagick or GD with AVIF
support on your hosting; the plugin tells you when it is missing. Images smaller
than 300 pixels on their shortest side (icons, decorations) are ignored; the threshold
is adjustable.

### Which languages?

German, English, Spanish, French, Italian, Dutch and Portuguese. Each image is described
in the language of the content it belongs to (Polylang, WPML), otherwise in the 
language of the site. For any other language, texts are written in English.

### Do I need an API key?

No. There is no AI account to create and no API key to enter: the service is included,
you only connect your site.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SafeAlt – AI Alt Text Generator & Image SEO” is open source software. The following
people have contributed to this plugin.

Contributors

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

[Translate “SafeAlt – AI Alt Text Generator & Image SEO” into your language.](https://translate.wordpress.org/projects/wp-plugins/safealt)

### Interested in development?

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

## Changelog

#### 0.4.6

 * The SafeAlt menu now sits after the WordPress menus instead of right below Media.
 * Notices from WordPress and other plugins are shown again on the SafeAlt screens;
   SafeAlt’s own notices only appear on the Dashboard, Media and Plugins screens.
 * Translations are now delivered by translate.wordpress.org instead of being bundled.
 * Stricter input sanitization and permission checks.
 * Fixed: backslashes typed in an alt text were removed when it was applied or reset.

#### 0.4.5

 * Fixes reported by Plugin Check (translations, nonce checks, input sanitization).
 * The takeover of MetaVision Alt SEO installations is removed: every site concerned
   has been updated.

#### 0.4.4

 * A contact email is now required to connect a site: it links a purchase made on
   zmlabs.net to your site.

#### 0.4.3

 * SafeAlt screens no longer show the banners of other plugins and themes.
 * The WooCommerce placeholder image is never described (it would use your quota
   for nothing).
 * Exact singular and plural in the image grid (“1 image selected”).

#### 0.4.2

 * SafeAlt now has its own entry in the WordPress menu, right below Media. Old links
   still work.

#### 0.4.1

 * Image grid: new “Waiting to be processed” tab, and tab counters updated live.
 * The monthly quota shown is refreshed as soon as an image is described.

#### 0.4.0

 * MetaVision Alt SEO is now SafeAlt. Installing SafeAlt takes over the settings,
   connection, queue and history of MetaVision Alt SEO, then deactivates it: you
   can delete it.

#### 0.3.1

 * Fixed: the plugin screens could appear without their layout (and the Describe
   button stay disabled) when another plugin changes the Media menu.
 * Image grid: three larger images per row, sharper thumbnails.

#### 0.3.0

 * Plans: subscribe from WordPress (secure payment by Freemius), plan activated 
   automatically, prices excluding VAT shown, test mode for designated websites.
 * Free plan: 25 images per month.
 * Image grid: images that cannot be processed at the bottom, accurate counters,
   live updates, shift-click selection.
 * Styles and scripts always reloaded after an update.

#### 0.2.0

 * Processing in the background: the service wakes the site as soon as images are
   ready, no cron needed.
 * Setup assistant, image picker grid, AVIF and GIF support.
 * Empty fields filled automatically with Reset; replacements proposed for fields
   that already have a value; the title never asks for your attention.
 * Texts in the language of the content (German, English, Spanish, French, Italian,
   Dutch, Portuguese), English for any other language.
 * Privacy: minimal logs, texts erased from the service after 30 days.

#### 0.1.0

 * First beta version.

## Meta

 *  Version **0.4.6**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * 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/)
   [media library](https://wordpress.org/plugins/tags/media-library/)
 *  [Advanced View](https://wordpress.org/plugins/safealt/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

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