JSON-LD Generator
Generate page-matched JSON-LD for common article, product, organization and FAQ pages with a property audit and copy-ready script tag.{{ summaryTitle }}
{{ summaryLine }}
{{ primaryCopyAnnouncement }}
{{ computation.values.script_tag }}
{{ codeExportAnnouncement }}
The chart renderer is unavailable. The same status counts remain available in the summary and markup audit.
| Status | Check | Finding | Next step | Copy |
|---|---|---|---|---|
| {{ row.status }} | {{ row.scope }} | {{ row.detail }} | {{ row.next_step }} |
| JSON path | Value | Purpose | Copy |
|---|---|---|---|
| {{ row.path }} | {{ row.value }} | {{ row.purpose }} |
Introduction:
A page can be perfectly clear to a reader and still leave a search engine guessing which words name the main subject, price, author, publisher, or answer. Structured data makes those relationships explicit. JSON-LD expresses them as JSON while linked-data terms connect each property to a shared vocabulary.
Schema.org supplies the vocabulary commonly used for web content. A type such as Article, Product, Organization, or FAQPage identifies the kind of entity being described; properties then attach facts such as a headline, canonical URL, brand, offer, logo, or question and answer. The type should follow the page's real subject, not the search appearance a publisher hopes to obtain.
The strongest markup mirrors information that visitors can verify on the same page. A product price should match the displayed offer, an article date should match the visible publication history, and an FAQ answer should not exist only inside the structured-data block. Accurate but hidden, stale, or misleading facts can make otherwise valid JSON unsuitable for a search feature.
| Decision | Useful test | Common error |
|---|---|---|
| Main entity | What is this page chiefly about? | Choosing a more specific type that the content does not support. |
| Property value | Can a visitor find the same fact on the page? | Publishing hidden or outdated claims. |
| Identity | Does the URL identify the page or entity consistently? | Using a temporary URL as a stable @id. |
| Search eligibility | Does the feature's current documentation cover this page? | Assuming valid JSON-LD guarantees a rich result. |
JSON syntax, Schema.org vocabulary, and search-feature eligibility are separate checks. A block may parse correctly yet use the wrong entity type, omit properties required by a particular consumer, or describe content that is not visible. Publication should therefore end with validation of the deployed URL, not merely a successful copy operation.
How to Use This Tool:
Start from the page's main visible entity, then enter only facts that the published page actually supports.
- Choose Schema type. Article reveals article-specific fields, Product exposes offer details, Organization accepts identity and contact facts, and FAQ page expects question-and-answer rows.
- Enter the canonical Page URL, visible name or headline, and the fields that apply to the selected type. Use absolute HTTP or HTTPS URLs for the page, images, logo, official profiles, and optional entity identifier.
- Keep page claims synchronized. For an article, use its visible byline and dates; for a product, match the displayed brand and offer; for an organization, include only public contact information and profiles for the same entity.
- Format each FAQ row as
Question | Answer. Complete both sides and publish the same wording where readers can see it. - Review Markup audit before copying the Script tag. Resolve every Missing item and investigate Review items against the real page.
- Inspect the Property ledger for unintended or stale values, then validate the deployed page with the consumer's current testing tools.
Interpreting Results:
Missing marks a fact that the selected profile treats as necessary for a useful draft. Review identifies a blank, malformed, legacy, or context-dependent value that deserves attention. Pass confirms only the stated check, while Info records guidance that does not change the generated graph.
The property count measures emitted leaf values, not markup quality. A smaller graph that accurately describes the page is preferable to a larger graph filled with unsupported properties. Likewise, a zero-attention audit means the supplied values passed these local checks; it does not test the live page, crawling access, consumer-specific requirements, or rich-result eligibility.
Treat the generated script as a draft for the matching URL. Compare its type and values with the rendered page, validate after deployment, and recheck whenever templates, prices, dates, availability, or visible FAQ content change.
Technical Details:
JSON-LD represents a directed graph in JSON syntax. @context maps short terms to a vocabulary, @type classifies a node, and @id can give that node a stable identifier. Nested objects express relationships such as an article's author, a product's offer, or a question's accepted answer.
Transformation Core
The selected page profile determines which entered facts become graph properties. Blank optional values are removed rather than emitted as empty strings or empty objects.
| Profile | Primary mapping | Conditional mapping |
|---|---|---|
| Article | Name becomes headline; the selected subtype becomes @type. |
Author, publisher, image, dates, and canonical page identity appear when supplied. |
| Product | Name, description, image, SKU, and brand describe the product. | An Offer is created when price or availability is present; a supplied price is formatted to two decimal places. |
| Organization | The selected organization subtype becomes @type. |
Valid absolute profile URLs become sameAs values; telephone or email creates a customer-support contact point. |
| FAQPage | Each complete pipe-separated row becomes a Question with an acceptedAnswer. |
Incomplete rows are excluded from the graph and reported by the audit. |
Rule Core
The graph always begins with the Schema.org context and the resolved type. URL checks accept absolute HTTP or HTTPS values. Product prices must be non-negative decimal numbers; accepted prices are serialized with two digits after the decimal point. Readable and minified modes change whitespace only, and a closing script token inside data is escaped before the graph is wrapped in <script type="application/ld+json">.
The audit applies profile-specific completeness rules after the graph is assembled. Article headline, author, and publication date can become Missing; Product and Organization names are required by their local profiles; FAQPage needs at least one complete pair. Image URLs, publisher or brand details, offers, profiles, contact points, and optional identity values are reviewed according to their relevance and URL shape.
The property ledger flattens nested graph values into paths so each emitted fact can be compared with the page. Status totals and the property count are direct tallies of those audit rows and flattened values; they are not search-ranking scores.
Accuracy and Privacy Notes:
The generator assembles entered values in the browser and does not upload them for server-side processing. Public URLs placed in the markup are still intended for crawlers and page visitors, so do not include private contact details or internal addresses.
- Schema.org permits many properties that a search feature may ignore or disallow; check the current consumer documentation for the selected type.
- Valid syntax does not prove that markup matches the deployed page or that the page is crawlable.
- Rich-result display is never guaranteed, even when structured data is valid and policy-compliant.
Worked Examples:
Product page with a visible offer
A page visibly names a product as Widget, shows brand Acme, lists SKU W-1, and offers it for USD 49. Entering those same facts produces a Product graph with nested Brand and Offer objects; the serialized price is 49.00. A blank or relative image URL remains a review item, and publication should wait until the image and canonical page URL match the live listing.
References:
- JSON-LD 1.1, World Wide Web Consortium, 16 July 2020.
- Schema.org schemas and vocabulary, Schema.org.
- General structured data guidelines, Google Search Central, 10 July 2026.