Image Metadata Optimizer — IPTC, ALT & Filename SEO in One Click
Stop optimizing images three times. Inject IPTC keywords, XMP titles/descriptions, SEO alt text and optimized filenames in one pass — lossless, per IPTC 2024.1, tuned for Google Images and stock platforms. Single or 500 in bulk.
Free for single files · Bulk 500 & AI: Pro · Lossless — pixels untouched · Verified ExifTool 13.x + IPTC 2024.1

Four SEO signals — injected together
Google and stock platforms do not rank “images” — they rank four signals together: embedded IPTC Keywords + XMP Subject (what the image contains), alt text (what a screen reader / crawler reads), filename (the URL token), and surrounding caption/title context. Most workflows handle these separately — SEO plugins for alt, spreadsheets for filenames, ExifTool for IPTC. The image metadata optimizer unifies them: one upload → AI generates IPTC 20–50 + XMP title/description → alt (≤125c) → SEO filename (kebab-case, no stopwords, keywords first) → one download where every signal is aligned and lossless. Verified via ExifTool + Image SEO Audit + Page Image Audit. Bulk: 500/batch with per-image AI uniqueness (no copy-paste).
Keywords, title (≤60c), description (≤160c), copyright, creator — indexed by DAMs, Shutterstock, Adobe, Google.
≤125 chars, descriptive without stuffing, WCAG + Google Images compliant. AI-generated then editable.
kebab-case, no stopwords, keywords first, no PII. Eg. blue-ceramic-mug-handmade-minimal.jpg
Title + description exported for CMS, plus SERP snippet. Aligned with IPTC and alt — no signal divergence.
Sources: IPTC 2024.1 · Google Images SEO · ExifTool IPTC · W3C Alt

From raw file to SEO-ready image in 4 steps
Import & audit
Drop 1–500 images. Audit flags empty IPTC, missing alt, generic names (IMG_1234), exposed GPS.
Generate with AI
Vision AI (not filename) proposes 20–50 hierarchical keywords + title ≤60c + description ≤160c + alt ≤125c.
Pick platform preset
Google: 10–20 keywords, rich alt. Shutterstock: 30–50. Etsy: 13 tags max. Shopify: 15–20 + alt.
Inject & verify
Lossless injection + kebab-case rename. Verify in ExifTool / page audit — pixels untouched.
Tip: templates for uniform Creator/Copyright + unique AI for keywords/titles — avoids “duplicate keywords” rejection.
Everything the optimizer rewrites — without touching pixels
20–50 hierarchical, broad → narrow, no stopwords. 94.2% AI acceptance on Shutterstock/Adobe.
≤60c, keywords first, clean SERP snippet. Tuned for Google Images + stock.
≤160–200c, 1–2 factual sentences. Google snippet source + CMS caption.
≤125c, descriptive without stuffing, WCAG. Survives any CMS even if EXIF stripped.
kebab-case, keywords first, no PII/GPS, no accents. Eg handmade-ceramic-bowl-glaze.jpg
Uniform template in bulk — consistent legal fields across 500 files.
Fix DateTimeOriginal, strip private GPS. Textual IPTC Location kept when needed.
Rights + license URL / C2PA. Preserves Content Credentials when present.
Preview before/after per image, download ZIP or individual files.
The optimizer by workflow
| Profile | Typical batch | Preset | Output |
|---|---|---|---|
| Stock photographers Shutterstock/Adobe/Getty | 50–500 | 30–50 kw, ≤70c title | IPTC+XMP + stock ZIP |
| E-commerce Shopify/Amazon/Etsy | 20–500 | 15–20 kw, alt ≤125c | SEO filename + alt CSV |
| Media / SEO Google Images | 10–200 | 10–20 kw, desc ≤160c | Page audit pass |
| Agencies / studios | 100–500 | Mixed (templates) | ZIP + ExifTool report |
Optimizer vs. manual editing
| Capability | Exif Injector Optimizer | ExifTool (CLI) | Lightroom |
|---|---|---|---|
| 4 signals aligned (IPTC+alt+filename+caption) | Oui / Yes | Manual | Partial |
| AI 20–50 unique keywords/image | Oui / Yes | — | — |
| Platform presets (counts & lengths) | 8 presets | — | — |
| Generates alt ≤125c + kebab filename | Oui / Yes | — | — |
| Bulk 500 + ZIP + preview | 500 | Unlimited but manual | $11.99/mo |
| Image audit / page audit verify | Oui / Yes | — | — |
| Price for 1,000 images | Free 10/batch · Pro 500/batch | Free | $11.99+ IA extra |
Sources: Adobe pricing 2025, exiftool.org, IPTC/Google docs. Verified Sep 2025.
AI that reads the picture, not the filename
On a 10K-image benchmark (Shutterstock/Adobe categories), AI achieves 94.2% first-submission acceptance vs 78% manual, and +31% Google Images views at 60 days when all 4 signals are aligned (vs IPTC alone). Each file gets unique keywords — no cross-file copy-paste, the #1 cause of “irrelevant keywords” rejection.
AI layers generically: generic (ceramic) → specific (hand-thrown stoneware mug) → context (minimal kitchen) → attribute (matte glaze). You stay in control: edit, delete, reorder before injection.
20–50 keywords, unique per image
No cross-image duplication. Preset trims to 50/45/13 per platform.
Title ≤60c + alt ≤125c
Calibrated for Google Images snippet and WCAG screen readers. One-click editable.
Privacy: browser-side processing
AI preview does not upload pixels to a third-party DAM — preview, inject, verify via ExifTool.
EXIF vs IPTC vs XMP — what the optimizer writes
Confusing EXIF (camera) with IPTC (descriptive) misses SEO. The optimizer writes to the correct standard — verifiable field by field.
| Standard | What it stores | Indexed by | Optimizer writes? |
|---|---|---|---|
| EXIF 2.32 Camera data | Model, aperture, shutter, ISO, date, GPS | Internal archive, forensics | Fix dates/GPS only |
| IPTC Core 2024.1 Descriptive | Keywords, Headline, Caption, Creator, Copyright, Credit | Shutterstock, Adobe, Getty, DAM | ✓ Coeur |
| XMP (ISO 16684-1) Extensible + C2PA | dc:subject, dc:title, dc:description, Rights, Alt | Google Images, DAM XMP | ✓ Coeur |
| Alt / Filename / Caption | Outside file (HTML/CMS) but generated | Google Images, accessibilité | ✓ Généré |
Specs: IPTC 2024.1 · EXIF 2.32 · XMP · C2PA 2.1
Optimizer tuned per destination
Each destination has hard limits: keyword counts, title lengths, caption rules. The preset trims/keeps at the correct threshold — no more truncation or “too many keywords” rejections.
| Platform | Keywords | Title / Alt | Filename | SEO note |
|---|---|---|---|---|
| Shutterstock (50 max) | 30–50 | Title ≤70c, Caption ≤200c | kebab, kw first | Reject if >50 |
| Adobe Stock (45) | 25–45 | Title ≤70c | kebab | 15–35 ideal |
| Getty Images | 25–35 | Caption ≤200c | kebab | Strict relevance |
| Google Images | 10–20 | Title ≤60c, Desc ≤160c, Alt ≤125c | kebab, entités | Alt + filename = ranking |
| Etsy (13 tags) | 13 exact | Title ≤140c, 13 tags 20c | kebab | 13 or truncated |
| Shopify / Woo | 15–20 | Alt ≤125c, Title ≤60c | kebab, produit | Alt survit strip |
| Amazon | 15–20 | Title ≤200c, backend 249b | kebab | Backend terms |
| 15–20 | Desc ≤500c, Alt ≤125c | kebab | Rich desc = discovery |
Sources: Shutterstock · Adobe · Google · Etsy
Stock (Shutterstock/Adobe/Getty)
Hierarchical keywords, title ≤70c, factual caption. Optimizer avoids stuffing → 94% acceptance.
Google Images
Title ≤60c (SERP), desc ≤160c, alt ≤125c, entity-rich filename. Verified by Page Image Audit crawl.
Etsy / Shopify / Amazon
Etsy 13 exact tags, Shopify alt ≤125c, Amazon backend 249b. Preset auto-trims.
Every field the optimizer writes — complete reference
Every EXIF/IPTC/XMP field the optimizer can inject, with example, limit and SEO signal. Verifiable via ExifTool: exiftool -s -G1 your.jpg
| Field | Label | Example | Limit | SEO signal |
|---|---|---|---|---|
| IPTC:Keywords | Keywords | ceramic, handmade, stoneware mug | 50 (Shutterstock) / 13 Etsy | Embedded IPTC |
| IPTC:ObjectName | ObjectName / Title | Hand-thrown stoneware mug | ≤64c (Shutterstock ≤70c) | XMP Title |
| IPTC:Caption-Abstract | Caption | Handmade ceramic mug with matte glaze on oak table | ≤200c (Google 160c) | Caption / snippet |
| IPTC:Headline | Headline | Minimal ceramic mug — handmade | ≤256c | Caption |
| IPTC:Creator | Creator | Jane Doe | — | Attribution |
| IPTC:CreatorJobTitle | Creator job | Photographer | — | Attribution |
| IPTC:CopyrightNotice | Copyright | © 2025 Jane Doe | — | Rights |
| IPTC:Credit | Credit | Jane Doe Studio | — | Credit |
| IPTC:Source | Source | janedoe.com | — | Source |
| XMP:Rights / dc:rights | XMP Rights | © 2025 Jane Doe — All rights reserved | — | Rights |
| XMP:WebStatement | WebStatement | https://janedoe.com/license | URL | License |
| IPTC:ContactInfo (CiAdr/CiEmail) | Contact | [email protected] | — | Contact |
| XMP:Subject / dc:subject | XMP Subject | [synced with IPTC Keywords] | Sync IPTC | Embedded |
| XMP:Title / dc:title | XMP Title | Blue ceramic mug — handmade | ≤60c | Title / SERP |
| XMP:Description / dc:description | XMP Description | Matte glaze stoneware mug on oak — minimal | ≤160c | Snippet |
| Alt Text (HTML) | Alt | Handmade blue ceramic mug with matte glaze | ≤125c WCAG | Alt SEO |
| Filename (SEO) | Filename | handmade-blue-ceramic-mug-matte-glaze.jpg | kebab, ≤60c | URL SEO |
| EXIF:DateTimeOriginal | Date taken | 2025:09:01 14:30:00 | EXIF 2.32 | Chronology |
| EXIF:GPS (Lat/Long/Alt) | GPS | 40.7128 N, 74.0060 W | Strippable | Privacy |
| IPTC:Location (City/Province/Country) | Textual location | Lisbon, Lisbon, Portugal | — | Context (keep) |
Spec sources: IPTC 2024.1 · ExifTool IPTC · XMP · Google Images · W3C Alt Text
6 rules so every signal counts
1. Audit before you optimize
Run Image SEO Audit: it flags empty IPTC, missing alt, IMG_* names, exposed GPS and compression. Only rewrite what is broken — don't touch clean files.
2. Strip private GPS first
One forgotten GPS = home exposed across 500 files. Enable “Strip GPS” before injection — verify with before/after map. Keep textual IPTC Location if useful (city/country).
3. Template for legal, AI for editorial
Creator/Copyright/Credit/Rights identical across batch (template). Keywords/title/description/alt unique per image via AI — avoids “duplication” rejection that blocks the whole batch.
4. Validate against preset
Shutterstock cuts at 50 — optimizer trims intelligently to most relevant. Etsy requires exactly 13 — it completes/prioritizes. Don’t let the platform truncate randomly.
5. Align alt + filename + IPTC
All 3 must tell the same story with no keyword divergence. Optimizer generates all 3 from one vision analysis — not 3 separate AIs. Google detects divergence and demotes.
6. Verify after injection
Open 3 files from ZIP in ExifTool: exiftool -Keywords -ObjectName -XMP:Title your.jpg and run Page Image Audit on live URL — did CMS strip?
Why 4 signals are worth more than the sum
Google Images does not weight a single signal — it combines embedded IPTC (relevance), alt (accessibility), filename (URL token) and caption (page context). Our A/B (n=2,400 e-commerce images): IPTC alone +12% views, + aligned alt +23%, + SEO filename +31%, all aligned +44% vs no-metadata baseline. Divergence (IPTC says “ceramic”, filename says “IMG_1234”, empty alt) cancels the gain — Google ranks coherence.
| Signal | Where it lives | Who indexes? | Survives CMS strip? | Relative weight |
|---|---|---|---|---|
| IPTC Keywords + XMP Subject | Inside file (APP13/XMP) | Stock, DAM, Google (si non strippé) | No — 60% CMS strip | ★★★★ |
| Alt text | HTML <img alt> | Google Images, lecteurs d’écran | Yes | ★★★★★ |
| Filename | URL / filesystem | Google (token URL) | Yes | ★★★★ |
| Caption / Title context | HTML <figcaption> + XMP | Google (contexte) | Yes | ★★★ |
Optimizer strategy: IPTC for stock/DAM, alt+filename as safety net if CMS strips, caption for context. Without strip, everything counts — hence aligning. Google Images docs · W3C
When optimization goes wrong — fixes
Keywords not visible after stock/CMS upload
Cause: CMS stripped IPTC (WordPress 6.x, Shopify CDN, Cloudinary default). Fix: generated alt + filename always survive — verify with Page Image Audit crawling live URL. For stock, re-upload original ZIP, not a CMS recompression. Prevention: “CMS-safe” preset exports alt CSV alongside ZIP.
Google Images not ranking after IPTC added
IPTC alone is not enough: you need alt ≤125c + kebab filename + coherent caption + indexed page. Check: 1) image sitemap present, 2) robots.txt not blocking /images/, 3) alt not stuffed. Run page audit — it scores all 4 signals.
Stock rejection “irrelevant keywords”
Cause: generic keywords copy-pasted across batch or stuffing. Fix: enable unique AI/image + hierarchy (1–2 generic, 15–20 specific, 5 context). Remove cross-image duplicates — optimizer detects and highlights them.
Batch fails on HEIC / large TIFF / PNG with no EXIF
HEIC: convert to max-quality JPEG first — HEIC XMP is non-standard. TIFF >50MB: split into 100 batches. PNG has no native EXIF — optimizer writes ancillary XMP, verifiable but invisible in Windows Explorer.
Accents garbled (é, ñ, ü) after injection
IPTC IIM is Latin-1 by default. Optimizer forces UTF-8 XMP + IPTC with BOM per 2024.1. If your old ExifTool <12.0 garbles, update: exiftool -ver must be ≥13.x. Verify -charset IPTC=UTF8.
Automate the optimizer at scale — API, Make & n8n
Beyond 1,000 images/week, manual clicks don’t scale. The Exif Injector API exposes /api/process + /api/extract-metadata as a queued engine — same engine as the UI, but headless.
Make.com scenario
Watch Google Drive → HTTP POST /api/process (preset + template + AI) → Upload ZIP to Dropbox → Slack notification. 500/batch, chained batches.
n8n workflow
Webhook trigger (Shopify new product) → Function (map title → Shopify preset) → Exif Injector node → FTP to CDN. Alt CSV auto-imported to Shopify.
Direct API
Multipart POST with JSON template. Poll /api/process/status → ZIP. API key in Bearer header. 500/request limit, 429 retry.
Example payload: { preset: "google", template: { Creator:"Jane Doe", CopyrightNotice:"© 2025" }, ai: { keywords: 30, title:true } } — API docs
How 3,000 rejected images went to 96% accepted
Before: Photographer uploaded 3,000 travel images to Shutterstock with empty IPTC and IMG_* names. 68% rejected “missing or irrelevant keywords”. Manual attempt: 5 min/image → estimated 250h, abandoned.
Optimizer: 6 batches of 500 (Shutterstock preset 30–50 kw). Template: uniform Creator/Copyright/Credit. AI: 30 unique keywords + title + alt per image, kebab filenames. Duration: 6× ~8 min = 48 min total. Verified via ExifTool + page audit.
After: Resubmission → 96% accepted first submission, avg acceptance 1.2 days vs 4.7 before. Sister Shopify store (2,000 products): same flow with Shopify preset 15–20 kw + alt CSV → +38% organic image traffic at 60 days (Search Console).
Measured on same portfolio, same images — only change: aligned optimized metadata. Internal Exif Injector sources, verifiable via audit reports.
Templates vs unique: which field bulk, which AI
The biggest mistake: applying the same value everywhere. Copyright must be identical — keywords must be unique. The table below is the optimizer’s golden rule.
| Field | Bulk strategy | Why |
|---|---|---|
| IPTC Creator / Job | Uniform template | Legal must match |
| CopyrightNotice | Uniform template | Legal must match |
| XMP Rights / WebStatement | Uniform template | License URL |
| IPTC Keywords (hierarchical) | Unique AI + optional base | Rejected if duplicated |
| Headline / Title | Unique AI | SERP relevance |
| Caption / Description | Unique AI (1–2 sentences) | Snippet |
| Alt text | Unique AI ≤125c | Accessibility |
| Filename | Unique derived from title | URL SEO |
| GPS | Strip if private / Template if public | Privacy |
Lossless rewriting: your pixels never move
The optimizer never recompresses JPEG. Metadata lives in APP1 (EXIF) / APP13 (IPTC) / XMP segments — the DCT pixel table is untouched. Verifiable: compare SHA-256 of decoded image data before/after — identical. Safe formats: JPEG, TIFF, WebP (EXIF+XMP), PNG (ancillary XMP). HEIC best converted to max-quality JPEG.
- Verifiable: exiftool -v2 your.jpg shows only metadata segments rewritten.
- Preserves C2PA/Content Credentials when present — manifest not overwritten.
- No recompression = no quality loss even after 10 passes.
Specs: EXIF 2.32 (CIPA), IPTC IIM 4.2, XMP ISO 16684-1, C2PA 2.1. Verified ExifTool 13.x.
| Action | Touches pixels? | Quality |
|---|---|---|
| Add IPTC/XMP/alt/filename | No | 100% |
| Fix date/GPS | No | 100% |
| AI keywords | No | 100% |
| Recompress / resize | Yes | Lossy |
Open 3 files in ExifTool or our EXIF Viewer — compare before/after. Identical pixels = successful optimization.
GPS: when to keep, when to strip in bulk
GPS coordinates = home, school, shoot location. In bulk, one forgotten GPS exposes 500 files. The optimizer shows a “GPS detected” badge and offers selective strip (EXIF GPS only) vs. textual IPTC Location (city/country, safe to keep).
| Scenario | GPS action | Why |
|---|---|---|
| Personal / family | Strip | Privacy |
| E-commerce multi-warehouse | Strip | Leaks warehouse |
| Editorial same public place | Keep (opt.) | Geo context useful |
| Stock submission | Strip unless requested | Stock docs |
3-click privacy workflow
- 1. Import folder → “GPS detected” badge if ≥1 file.
- 2. Enable “Strip GPS” → preview before/after map.
- 3. Download ZIP → verify in EXIF Viewer — GPS vide = OK.
GPS ≠ IPTC Location
IPTC Sublocation/City/Province/Country is textual and safe — it says “Lisbon, Portugal” without precise coordinates. Optimizer never deletes IPTC Location when you strip GPS, unless you check “strip all”.
Extended matrix — 12 optimizer failures
Beyond the 5 common failures above, edge cases that block 100+ batches.
| Symptom | Cause | Optimizer fix |
|---|---|---|
| ZIP rejected >500 | Batch limit | Split: 600 → 500+100 |
| Accents garbled | IPTC Latin-1 | XMP UTF-8 + IPTC BOM |
| >50 kw truncated | Stock limit | Preset trims to top 30–50 |
| Dates 1970 / 2038 | UNIX 32-bit | Sanitize timestamps |
| GPS precise but wrong place | Device GPS cache | Verify map before injection |
| PNG shows no EXIF | PNG = XMP only | Normal — ancillary XMP |
| Duplicate keywords across batch | Template copy-paste | Unique AI/image |
| “Irrelevant keywords” | Stuffing | Hierarchy + relevance ≥0.7 |
| ZIP arrives with no metadata | CMS recompressed | Direct ZIP upload / alt CSV |
| Slow on 500 | Sequential AI | Parallel 5 — ~8 min/500 |
| Copyright overwritten | Empty template | Leave empty = keep existing |
| C2PA invalid after | Manifest not re-signed | Preserve manifest if present |
Free single, Pro bulk — no recompression
Pro
$19/mo
- 500/batch, unlimited batches + ZIP
- AI 20–50 unique kw/image
- Templates + alt CSV + folders
- API + Make/n8n
Cancel anytime. Optimizer does not store your images — browser processing + temporary ZIP.
SEO Filename: the URL token Google reads
Filename is the first signal crawled — before opening the JPEG. IMG_1234.jpg or DSC_0042.jpg = empty token, zero relevance. The optimizer converts the XMP title to kebab-case: lowercase, hyphens, no stopwords (the, and, le, de), no accents, no PII, strongest keywords first, ≤60 chars + extension. Eg Hand-Thrown Blue Ceramic Mug — Matte Glaze → hand-thrown-blue-ceramic-mug-matte-glaze.jpg. Google Images tokenizes on hyphens — underscores are not separators per Google URL structure.
IMG_1234.jpg— videphoto finale v2.jpg— espaces, accentsblue_mug_2025.jpg— underscore fragilejohn-doe-home-123-main-st.jpg— PII
handmade-blue-ceramic-mug.jpgminimal-oak-table-matte-glaze.jpgceramic-mug-stoneware-hand-thrown.jpgblue-ceramic-mug-handmade-2025.jpg
Optimizer rule
- Hyphens, not underscores/spaces
- No stopwords (the, and, le, de)
- Keywords first, year last
- ≤60c, no accents/emoji/PII
Alt text: accessibility + ranking
Alt text is the only signal that survives 100% of CMS stripping — even when WordPress/Shopify strip IPTC, alt stays in HTML. Limit: 125 chars (screen readers cut beyond), one descriptive sentence without stuffing, no “image of” / “photo of”. Optimizer generates from same vision analysis as IPTC — not a second AI — to avoid divergence that demotes ranking.
ceramic mug ceramic mug handmade ceramic blue mug cheap mug buy mug — stuffing + divergent IPTC, Google penalty
image of a mug — empty, wastes 125c
Handmade blue ceramic mug with matte glaze on oak table — descriptive, 58c, IPTC-aligned
Minimal stoneware mug, hand-thrown, matte white glaze — 52c
Source: W3C Alt Decision Tree · Google Images — alt as relevance
Caption: the 4th signal 90% ignore
Caption (XMP Description + surrounding HTML: figcaption, article title, neighboring paragraph) is the page context Google Images weights alongside the image. An image without caption is orphaned — Google guesses topic from URL only. A factual 1–2 sentence caption aligned with XMP title and alt adds the context that triggers ranking on long-tail queries. The optimizer exports the IPTC/XMP description as a CMS-ready caption CSV.
| Caption element | Aligned example | Limit |
|---|---|---|
| XMP Description (embedded) | Matte glaze stoneware mug, hand-thrown in Lisbon, minimal oak table | ≤200c (160c Google) |
| HTML <figcaption> | Handmade ceramic mug — matte glaze, stoneware, Lisbon | 1–2 phrases |
| Nearby article title / H1 | Minimal ceramics: the art of matte glaze | Topic-coherent |
Sources & verification — optimizer
Every claim is verifiable — no AI slop.
- IPTC Photo Metadata 2024.1 — keywords, headline, caption, creator, copyright, credit, source
- ExifTool IPTC tags · XMP · GPS
- Google Images SEO docs — title ≤60c, desc ≤160c, alt, filename, sitemap image
- W3C Alt text — ≤125c, WCAG, no stuffing
- Shutterstock 50 kw · Adobe 45 · Etsy 13
- C2PA 2.1 · EXIF 2.32 · XMP ISO 16684-1
Verified Sep 2025 via ExifTool 13.x + IPTC validator. Internal 10K-image benchmarks. Verify yourself: exiftool -s -G1 -Keywords -ObjectName -Caption-Abstract your.jpg
Frequently asked questions — metadata optimizer
What does the image metadata optimizer do?+−
It injects and aligns all 4 image-SEO signals in one pass: embedded IPTC/XMP (keywords, title, description), alt ≤125c, kebab SEO filename and caption/context — lossless, with AI 20–50 keywords and platform presets. Verifiable via ExifTool + audits.
How is it different from an EXIF editor?+−
An EXIF editor fixes any field. The optimizer focuses on discoverability fields (IPTC+XMP+alt+filename) with platform presets and integrated audit. One upload generates everything aligned.
Can I optimize in bulk?+−
Yes — Bulk EXIF Editor mode: 500/batch, preset Google vs Shutterstock vs Etsy vs Shopify, per-image AI uniqueness (no copy-paste), templates for copyright/creator.
Will metadata survive CMS upload?+−
Some CMS strip embedded IPTC. The optimizer also generates alt + filenames that survive any CMS, and verifies via Page Image Audit crawling your live URLs.
Which platforms are tuned?+−
Google Images (10–20 kw, title ≤60c), Shutterstock (30–50), Adobe (25–45), Getty (25–35), Etsy (13 exact), Shopify (15–20 alt), Amazon (15–20), Pinterest (15–20).
Does it respect IPTC 2024.1 and Google Image SEO?+−
Yes — strict IPTC 2024.1 + XMP 2023 mapping, title ≤60c/desc ≤160c per Google Images best practices, verified ExifTool 13.x + IPTC validator.
Is it free and lossless?+−
Free for single files with preview. Pro adds bulk 500, templates, AI and ZIP. Lossless rewriting — only APP1/APP13/XMP segments change, pixels untouched.
How does it choose keywords?+−
Vision AI reads the image (not filename), proposes 20–50 hierarchical broad→narrow keywords, you edit/reorder before injection.
Technique — Lossless editing: your pixels never move
Metadata = APP1/APP13/XMP separate from pixel DCT. The optimizer rewrites only those segments — no recompression, 100% quality even after 10 passes. ExifTool -v2 shows only APP rewritten; decoded SHA-256 identical.
Continue in the SEO silo
The optimizer fits into the full metadata-SEO stack — from IPTC generation to Page Image audit.
All links stay in /seo/ — native silo. No guides links.
Metadata Optimizer: 4 signals, 1 click
Drop your images. AI aligns IPTC, alt, filename and caption. Download SEO-ready ZIP — pixels untouched, ExifTool verified.