Listing photo disclosure builder
Say what was changed in each listing photo and get its caption, alt text and markup, the statement California's AB 723 asks for, a page for the unaltered images, and a QR code that opens that page. It runs in your browser and never opens a photo.
Published . Last reviewed .
Free · No signup · Nothing you type leaves this page · Not legal advice. Not sure the rule reaches you? Find the AI disclosure rules that may apply.
3. What to publish
To look at
The disclosure sheet
Copy-ready output
The QR code
Enter the address of the page that shows the unaltered images, above, to make a QR code.
Alt text for the QR code image:
The HTML file is the page for the unaltered images, ready to host on your own site: each altered photo with its caption and declared edit, then its original. It has no script, and every word you typed is written as text.
Notes and sources
What this rests on
This is not legal advice. It shows what the sources say, with their dates. Whether a rule applies to you depends on facts this tool does not know.
Let GotAlt host the page for the unaltered images
The Listing Photo Disclosure Pack hosts a page like the one this builder writes for each of 10 listings, live for 24 months from payment, for $29 with no subscription. Each page shows every altered photo with its declared edit and its unaltered original at a short gotalt.com address, with a QR code to download, and GotAlt checks about once a month that each original still loads and emails you when one stops. You supply the images and the wording, and you remain responsible for both. It never decides whether a photo was edited, and it cannot say whether a page meets California's statute.
To see what your live pages show, the Site Image Check runs automated checks on up to 50 pages of your site, once, for $49 with no subscription, including which AI markers each image file declares and whether the page shows AI label wording with the image. Check my site once from $49
What this tool does and does not do
- It writes from what you declare. It does not open your photos, cannot tell whether one was edited, and never decides whether anything is AI-generated.
- It writes a statement only where you declare an edit. The statute leaves out an image where only lighting, sharpening, white balance, color correction, angle, straightening, cropping, exposure or other common adjustments are made that do not change the representation of the real property. Whether an edit of yours does is your call; the statute's words are quoted in the notes.
- The wording is ours. The statute prescribes none. It asks for a statement that the image has been altered, language that the unaltered images can be accessed at the link or QR code, and a link or code to a page that includes and clearly identifies the originals. "Reasonably conspicuous" is not defined, and we found no decision or guidance that explains it.
- It hosts nothing. You publish the page for the unaltered images and keep it online. The QR code is only the address you typed, drawn as a code: it has no tracking and no redirect through GotAlt, so it works for as long as your page does.
- It does not know your MLS's rules. Listing systems differ in what a caption field takes and where an original must appear. Read yours.
- It is not legal advice and does not make a listing compliant with anything. It writes wording and a code from your declarations. Whether the statute reaches you, and whether a statement is enough, are questions for a lawyer.
The words it uses for each edit
Each edit you tick becomes a short phrase in the caption and the statement. The groups follow the elements the statute lists. A sky is not on that list, which says "including, but not limited to".
| Edit you declare | Phrase in the statement |
|---|---|
| Furniture or decor added (virtual staging) | furniture added (the caption reads "Virtually staged: furniture digitally added" when this is the only edit) |
| Furniture or belongings removed | furniture removed |
| Fixtures, appliances, cabinets or counters changed | fixtures or appliances changed |
| Walls, paint color or flooring changed | walls, paint or flooring changed |
| Lawn, landscaping, pool, hardscape or facade changed | landscaping or exterior changed |
| Sky replaced or changed | sky replaced |
| Views, neighboring properties, streetlights or utility poles changed | surroundings changed |
| Objects removed (clutter, cars, signs, wires, people) | objects removed |
| Floor plan drawn or changed | floor plan changed |
| Something else (describe it) | your own words |
How to use it properly
-
Keep every original
Save the unaltered file of every photo you edit before you publish the edit. The statute asks for a page that includes, and clearly identifies, the original, unaltered image, so the originals have to exist and stay available.
-
Declare the edits and describe each photo
Tick what was changed in each photo and write what it shows. The alt text describes the photo. The disclosure goes in the visible caption, as real text, so a screen reader reads it right after the photo.
-
Publish the page for the unaltered images
Paste the generated markup into a page you control, fill in the addresses of the originals, publish it, and type its address above. Keep it online for as long as the listing is, and after.
-
Paste the captions and test the code
Put the markup under each altered photo, or the caption lines into your MLS's caption fields. Download the QR code for signs and flyers, and scan a printed test copy with a phone before you rely on it.
Questions
Does AB 723 only cover AI?
No. The section covers an image altered "through the use of photo editing software or artificial intelligence to add, remove, or change elements in the image". How a picture was edited does not decide it; what was changed in the depicted property does. Read the whole text on the official legislative site. This is general information, not legal advice.
What if I only adjusted the lighting or color?
The statute leaves out an image "where only lighting, sharpening, white balance, color correction, angle, straightening, cropping, exposure, or other common photo editing adjustments are made that do not change the representation of the real property." Leave those photos without a tick and this tool writes no statement for them. If an adjustment changes what the property looks like, it is not on that list.
Where does the QR code lead, and who hosts the originals?
It leads to the address you type, which has to be a page anyone can open that includes and clearly identifies the original images. You host that page. This tool writes its markup, with each original named after the altered photo it belongs to, and does not store or serve anything. Keep the page online for as long as the listing is and after: a printed code outlives a listing.
Do I need a QR code, or is a link enough?
The statute asks for "a link to a publicly accessible internet website, URL, or QR code", so a link, a URL or a code each fits its words. A QR code helps where a link cannot be clicked, such as a sign, a flyer or a brochure. Give the code a text twin by printing the address beside it, because a screen reader cannot read a code and not everyone scans.
Can one QR code serve the whole listing?
The statement has to say that "the unaltered images can be accessed" at the link or code, in the plural. This builder writes one page for all the unaltered images of a listing and one code that opens it, and puts the same statement under each altered photo. Whether that is enough for your listing is a question for a lawyer.
Should the alt text say the photo was staged?
We found no regulator or W3C source that answers this. The Commission's Guidelines on Article 50 place alt text outside the machine-readable marking duty in Article 50(2) (paragraph 68). This builder keeps the two apart: the alt text describes what the photo shows and the visible caption carries the disclosure, which a screen reader reads right after the photo. Saying it in both means it is read twice. See alt text for AI-generated images.
Does this cover rentals, or listings outside California?
The section speaks of advertising "for the sale of real property" and does not mention rentals. It is a California statute that names a real estate broker or salesperson and a person acting on their behalf. We found no enacted statute with the same duty in another state. An MLS or portal can have its own rules, so read those too. See virtual staging disclosure, and the finder for the sources and dates.
Does the page upload my photos or my text?
No. It never opens a photo: it works from the words and addresses you type, in script files you can read: listing-disclosure.js and qr.js. This page makes no network request of its own. To check for yourself, open your browser's developer tools, switch to the Network tab and type: apart from this page's own files nothing is requested. Close the tab and what you typed is gone.
Is this legal advice?
No. This tool and this page are not legal advice. They show what the cited sources say on the date shown. Rules change, and whether one applies to you depends on facts only you know, so talk to a lawyer for anything that turns on your situation.
Related guides
- Virtual staging disclosure: California AB 723, the MLS rules we could read and the EU icon page.
- Listing Photo Disclosure Pack: hosted pages for a listing's altered photos and their originals, with QR codes and a monthly link check (paid).
- AI disclosure law in the United States: AB 723 and the other state rules, with sources and dates.
- Accessible AI label generator: wording and markup for a visible label, with an EU preset and one for listing photos.
- Alt text for AI-generated images: description and label as separate text.
- AI image metadata writer: declare an AI edit in the file without re-encoding it.
- Accessible AI labels: contrast, names and reading order for a label.
- AI disclosure laws: what may apply, with sources and dates.
A caption is one part of an accessible listing page
The free scan runs 16 common checks on up to three pages of your site in under a minute: missing alt text, form labels, headings, page language, link text and more.
Scan my site for freeFound this useful? Link to it
A link from your site, newsletter or resources page helps other people find this free tool. Copy it here: