Product screenshots are dense with useful information: names, model numbers, prices, discount badges, stock labels, review stars, shipping notes and variant selectors. LoveOCR’s Image to JSON-LD tool can turn those visual facts into a structured Product draft. The difficult part is deciding which visible number or label actually belongs in which structured-data property.
Commercial markup deserves careful review because a technically valid value can still be materially wrong. A price without its decimal point, a review count taken from the wrong product card, or an “in stock” state copied from an old screenshot may create a machine-readable claim that no longer matches what users see.
Price: distinguish current, old, range and installment values
A product card may display a current sale price, a crossed-out list price, a monthly financing amount and a “save 20%” badge at the same time. OCR can recognize all four numbers correctly and a mapper can still choose the wrong one for Offer.price.
Identify the actual offer represented by the page. If your commerce platform supports multiple offers or price specifications, follow the current feature documentation rather than squeezing every number into one price field. Verify decimal placement and thousands separators against the source-of-truth catalog.
Currency: never infer from geography alone
A dollar sign can refer to several currencies. A site may localize price by visitor, and screenshots may omit the currency code because the surrounding interface makes it obvious to humans. Structured data should use the currency that applies to the actual offer, pulled from reliable business data whenever possible.
Do not guess USD, CAD, AUD or another currency from the symbol or domain alone. Wrong currency can change the apparent value by a large amount even when the numeric OCR is perfect.
Availability: map the current product state, not a decorative cue
Green text, a delivery estimate or an active Add to Cart button can suggest availability, but the safest source is the page’s actual stock state. Map in-stock, out-of-stock, preorder and backorder states intentionally. A screenshot from last week is not proof of today’s inventory.
For dynamic stores, structured availability should come from the same inventory service that renders the page. Image-derived markup is best for bootstrapping or auditing, not for maintaining rapidly changing stock forever.
Ratings: stars are not enough
Five star icons may represent a 5.0 rating, a selectable input, a design placeholder or an editorial illustration. An aggregate rating needs meaningful underlying rating data. If a product page states “4.7 from 328 reviews,” verify both 4.7 and 328. OCR can confuse 3/8, 5/S and decimal punctuation, so compare high-impact numbers directly.
Do not invent a reviewCount because a rating field appears to require more detail. If the information is unavailable or unsupported by the page, omit the unsupported property and review the feature’s current requirements.
Variants can mix facts between products
A screenshot may show a parent product with color and size variants. Price, SKU, availability and image can differ by variant. Make sure the generated JSON-LD describes the same variant that the URL and visible selection describe. Avoid combining the title of the parent, SKU of one variant and price of another.
If variants have separate URLs, preserve those identities. If the site uses one URL with selectable variants, follow the relevant structured-data guidance for your implementation rather than guessing from the screenshot alone.
Product identifiers need exact transcription
SKU, GTIN, MPN and model identifiers are not prose. One character can identify a different item. Keep leading zeros, preserve letter case when meaningful, and compare ambiguous characters with the source. Do not transform an identifier into a number just because it contains only digits.
Use identifiers your business actually maintains. A visually similar code printed on packaging may be a batch number, serial number or internal reference rather than the property you intend to publish.
Descriptions should not become invented claims
Image understanding can summarize visible features, but Product structured data should not add unsupported marketing claims, materials, dimensions or benefits. If a screenshot says “water-resistant,” do not upgrade that to “waterproof.” If a feature is inferred only from appearance, verify it before treating it as product data.
URLs and images must resolve to the real resources
Replace placeholder URLs with the actual product URL and crawlable image URLs used by your site. A local filename from a screenshot or generated temporary path is not a public product image. Check that canonicalization and variant URLs are consistent with the page implementation.
Use the visible page as the final comparison surface
- Open the product page. Do not validate against the screenshot alone.
- Compare identity. Name, model and variant must match.
- Compare offer facts. Check price, currency and stock state.
- Compare ratings. Verify rating value and count where used.
- Verify identifiers. Preserve exact SKU/GTIN/MPN characters.
- Check public URLs. Product and image references must resolve correctly.
- Run structured-data tests. Use Google’s Rich Results Test and current Product documentation.
Avoid treating rich results as guaranteed advertising space
Google states that valid structured data does not guarantee a rich-result appearance. The practical goal is accurate, eligible markup that helps search systems understand the page. Do not add or exaggerate commercial data merely to make a result look more attractive.
For stores with frequent updates, the strongest long-term architecture is to generate JSON-LD from the same trusted catalog and inventory data that generates the visible product page. Image conversion is then an efficient migration and drafting tool rather than a parallel source of commercial truth.
Privacy and responsible handling
LoveOCR states that uploaded and generated files are transferred securely and automatically removed from its servers within three hours. That reduces temporary server retention, but it does not replace your own data-handling responsibilities. Only process material you are authorized to use, avoid exposing secrets or personal information unnecessarily, and store downloaded results according to the rules that apply to your project or organization.
For code, database definitions, structured data, and machine-readable exports, treat generated output as a starting point that still needs human review. A file can be syntactically valid while being semantically wrong. Compare important names, identifiers, numbers, relationships, URLs, and business facts with the source before you execute, publish, import, or automate anything.
Related LoveOCR resources
Frequently asked questions
Which Product JSON-LD fields deserve the most review?
Price, currency, availability, product identifiers, variant identity and aggregate-rating fields can materially mislead users if wrong.
Can I read currency from a dollar sign?
A dollar sign alone can be ambiguous. Use your commerce data or explicit page context to determine the real ISO currency.
Can star icons be converted into AggregateRating automatically?
Only when they genuinely represent rating data and you can verify the rating value and supporting count or review information required by your implementation.
Why are variants risky?
A screenshot can show several variant-specific facts at once, making it easy to combine a SKU, image, price or stock state from different variants.
Should image-generated JSON-LD update stock automatically?
For active stores, stock should ideally come from the same inventory source used by the visible page rather than repeatedly relying on screenshots.
Editorial note: This guide is based on the documented behavior of LoveOCR’s Image to JSON-LD tool and focuses on validation, limitations, and practical downstream use instead of promising perfect output.
Updated: August 29, 2026 · Published by LoveOCR.
Generate product schema with a verification pass
Extract a structured-data draft from the screenshot, then verify every commercial fact against the real product page before publishing.
Open Image to JSON-LD →