Schema markup generator (JSON-LD)
Schema markup is JSON-LD in a page's HTML that tells search engines what the page describes, such as an organization, an article or a list of questions. Pick a type, fill in the fields, and the generator writes the script tag; mark up only what is visible on the page.
JSON-LD for
Organization
Google lists no required properties for this type
- Pass · Recommended: namepresent
- Pass · Recommended: urlpresent
- Pass · Recommended: logopresent
- Pass · Recommended: descriptionpresent
JSON-LD script tag
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Studio",
"url": "https://www.example.com/",
"logo": "https://www.example.com/logo.png",
"description": "A web design studio in Bengaluru that builds websites for small businesses.",
"sameAs": [
"https://www.linkedin.com/company/example-studio",
"https://github.com/example-studio"
]
}
</script>
- @type
- Organization
- Top-level properties
- 5
- Where it goes
- Inside the page's <head> or <body>
- Test it with
- Google's Rich Results Testsearch.google.com/test/rich-results
- Mark up only content that is visible on the page: Google's structured data guidelines say not to mark up content that isn't visible to readers, and that the markup must be a true representation of the page.
- Google lists no required properties for Organization and recommends adding as many as apply. It suggests placing this markup on the home page or a single page that describes the organization; it doesn't need to be on every page.
- Google asks for a logo of at least 112 × 112 px, at a URL it can crawl and index, in a format Google Images supports.
- Don't add review or rating markup about your own organization: Google says that when the entity being reviewed controls the reviews about itself, its pages using LocalBusiness or Organization markup are ineligible for star review snippets.
- List in sameAs only profiles that really belong to this organization; a wrong sameAs is worse than none.
- Google doesn't guarantee that structured data shows up in search results. Check the markup with Google's Rich Results Test after you publish it.
How does JSON-LD schema markup work?
JSON-LD is a block of JSON in a <script type="application/ld+json"> element that describes what a page is about in the schema.org vocabulary: an organization, a business location, a trail of breadcrumbs, an article or an app. Google recommends JSON-LD for structured data and reads it in either the <head> or the <body>. The browser doesn't run it or show it.
Mark up only what visitors can see on the page. Google's guidelines say not to mark up content that isn't visible to readers and that the markup must be a true representation of the page; markup that doesn't represent the main content, or is misleading, can keep a page from rich results. Never mark up reviews of your own business: Google says a business or organization that controls the reviews about itself can't get star review snippets from them.
The generator checks each type against Google's documentation. Organization and Article have no required properties, only recommended ones. LocalBusiness requires name and address; BreadcrumbList requires at least two ListItems, each with a URL except the last; SoftwareApplication requires name, offers.price and a rating or review. FAQ rich results are gone: Google stopped showing them on May 7, 2026, so FAQPage now follows schema.org's own structure.
The JSON is written with JSON.stringify and indented two spaces. Before it goes inside the script tag, every "</" is written as "<\/" and every "<!--" as "\u003C!--". The HTML Standard ends a script element at </script and treats <!-- inside it specially, so a headline containing either could break the page; both escapes are part of JSON, so any JSON parser reads the original text back.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Studio",
"url": "https://www.example.com/"
}
</script>
inside the script: </ → <\/ <!-- → \u003C!--Which properties does Google require for each schema type?
| Type | Required (Google) | Recommended (Google, main ones) | Google search feature |
|---|---|---|---|
| Organization | None | name, alternateName, url, logo (≥ 112 × 112 px), sameAs, description, address, telephone, email, legalName | Organization; markup on the home page or one page about the organization |
| LocalBusiness (most specific subtype) | name, address | geo, telephone (with country code), url, openingHoursSpecification, priceRange (under 100 characters) | Local business |
| BreadcrumbList | itemListElement with at least two ListItems; each ListItem's item, name and position (item optional on the last) | None listed | Breadcrumb, on desktop only since January 2025 |
| FAQPage | None: Google removed its FAQ documentation on June 15, 2026 | schema.org: mainEntity → Question name → acceptedAnswer → Answer text | None: not shown since May 7, 2026 |
| Article, BlogPosting, NewsArticle | None | author (name, url), dateModified, datePublished, headline, image | Article |
| SoftwareApplication, MobileApplication, WebApplication | name, offers.price, aggregateRating or review | applicationCategory, operatingSystem; priceCurrency when price > 0 | Software app |
How to generate JSON-LD schema markup
- 1Pick the schema typeChoose Organization, Local business, Breadcrumbs, FAQ page, Article or Software app; the form shows that type's fields.
- 2Fill in what the page showsEnter only details visitors can see on the page. Breadcrumbs go one per line as "Name | URL"; FAQ pairs start with Q: and A:.
- 3Read the checksEach required and recommended property Google documents is marked present or missing, with notes on what Google does with the type.
- 4Paste and test the script tagCopy the <script type="application/ld+json"> block into the page's <head> or <body>, publish, then run the page through Google's Rich Results Test.
Frequently asked questions
Does Google still show FAQ rich results?
Can I add star ratings for my own business in schema markup?
Where should JSON-LD go in the HTML?
Why does the generator write <\/ inside the JSON?
Does adding structured data guarantee a rich result?
Sources
- Google Search Central: Introduction to structured data markup (JSON-LD in head or body, Rich Results Test) (checked 20 Oct 2026)
- Google Search Central: General structured data guidelines (visible content, no guarantee) (checked 20 Oct 2026)
- Google Search Central: Organization structured data (checked 20 Oct 2026)
- Google Search Central: Local business structured data (checked 20 Oct 2026)
- Google Search Central: Breadcrumb structured data (desktop availability) (checked 20 Oct 2026)
- Google Search Central: Article structured data (checked 20 Oct 2026)
- Google Search Central: Software app structured data (checked 20 Oct 2026)
- Google Search Central: Review snippet guidelines (self-serving reviews, ratings from other sites) (checked 20 Oct 2026)
- Google Search Central: Latest documentation updates (FAQ rich result deprecated May 8, 2026, removed June 15, 2026; breadcrumbs desktop-only January 22, 2025) (checked 20 Oct 2026)
- schema.org: FAQPage (checked 20 Oct 2026)
- schema.org: Question (checked 20 Oct 2026)
- schema.org: Answer (checked 20 Oct 2026)
- schema.org: LocalBusiness (more specific types) (checked 20 Oct 2026)
- WHATWG HTML Standard: restrictions for contents of script elements (checked 20 Oct 2026)
- RFC 8259: The JSON data interchange format, §7 strings and escapes (checked 20 Oct 2026)
Need a custom dev tool for your team?
We build internal tools, dashboards, APIs, and SaaS platforms. If you can describe it, we can ship it.
Built by CountryDevs · No signup · No ads · We count visits, never what you enter