
AI Content Flag lets you mark content as AI-generated or AI-modified and shows a visible label to your readers, in line with the transparency duty in Article 50 of the EU AI Act.
Labelling is manual and deliberate: nothing is detected, guessed, or sent anywhere. You tick a box, the plugin renders the label — on the image, in the lightbox, and at the top or the bottom of the article.
Three label types
The plugin uses the three official European Commission labels:
- AI (basic) — artificial intelligence was involved in creating the content.
- AI Generated (fully) — the content was produced entirely by AI, with no human element beyond the prompt.
- AI Modified (partially) — authentic material was partially changed by AI.
The editor box explains when each one applies, so the decision does not have to be looked up every time.
What gets labelled
- Images and video in the media library — an overlay badge appears on the front end, including inside PhotoSwipe / lightbox views and on CSS background images.
- Posts and pages — a disclosure note is printed at the start or the end of the content.
- Featured images, gallery and cover blocks, and markup produced by Elementor, Beaver Builder, Divi, and Bricks.
Other features
- Four EU icon variants: black, white, and 50% transparent versions of each.
- Every label carries an accessible name, so screen readers announce what it means.
- Bulk actions in the media library to label or unlabel many files at once.
- An “AI” column in the media library and in post list tables, so you can see at a glance what is labelled.
- Works in the block editor and the classic editor. There is no block to insert and no shortcode to remember.
- Every label is a standard gettext string, so translations from translate.wordpress.org or your own .po file apply.
- Choose where the post disclosure sits: at the start of the content or at the end.
- On deletion the plugin asks whether to keep your labels and settings, and keeps them by default.
Performance
Nothing runs on the front end until something is actually labelled. The stylesheet loads only on pages that carry a label. On WordPress 6.9 or newer a full-page scan uses Core’s template enhancement output buffer, and only once at least one media file is labelled. The list of labelled media is built once, cached for a day, and rebuilt only when media is added, edited, or removed.
External services
None. The plugin makes no outbound requests, loads no remote assets, sets no cookies, and collects no data. The settings screen links to the European Commission’s page about the icons, but nothing is loaded from it.
Bundled icons
The icons in assets/icons/ are the AI labelling icons published by the European Commission — three label types in four color variants. The Commission states on its page that they are “made publicly available for everyone to use freely”, with no attribution required. Source: https://digital-strategy.ec.europa.eu/en/policies/eu-icons-labelling-ai-generated-content
This plugin is an independent project. It is not affiliated with, endorsed by, or connected to the European Commission or the European Union. Using the icons does not signal that a site has signed the Code of Practice on marking and labelling AI-generated content, and this plugin makes no such claim.
Add-on
An optional commercial add-on, Grafiduo AI Content Flag Pro, renders the labels its own way: a text badge with your own wording and colors in a corner of your choice, a styled keyboard-reachable tooltip with editable sentences, the document-level disclosure on further post types, and WooCommerce product-gallery hooks.
Everything described above works without it. The free plugin contains no license check and withholds nothing.
Screenshots

An AI-labelled product image in a shop listing. The badge sits in the corner of the image, on top of the theme's own markup, and only on the product that carries a label.

The same label on the single product page.

A post with the document-level disclosure printed at the start of the content.

The label box in the post editor sidebar, with guidance on when each of the three EU label types applies.

The media library, with the AI column showing at a glance what is labelled.

Bulk actions in the media library: label or unlabel many files in one go.

The same AI column in the post list table, so labelled posts are visible without opening them.