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.

Google asks for at least 112 × 112 px, at a URL it can crawl and index.

One URL per line. List only profiles that really belong to this organization.

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?

From Google Search Central's structured data documentation and documentation updates, checked 2026-10-20; FAQPage from schema.org
TypeRequired (Google)Recommended (Google, main ones)Google search feature
OrganizationNonename, alternateName, url, logo (≥ 112 × 112 px), sameAs, description, address, telephone, email, legalNameOrganization; markup on the home page or one page about the organization
LocalBusiness (most specific subtype)name, addressgeo, telephone (with country code), url, openingHoursSpecification, priceRange (under 100 characters)Local business
BreadcrumbListitemListElement with at least two ListItems; each ListItem's item, name and position (item optional on the last)None listedBreadcrumb, on desktop only since January 2025
FAQPageNone: Google removed its FAQ documentation on June 15, 2026schema.org: mainEntity → Question name → acceptedAnswer → Answer textNone: not shown since May 7, 2026
Article, BlogPosting, NewsArticleNoneauthor (name, url), dateModified, datePublished, headline, imageArticle
SoftwareApplication, MobileApplication, WebApplicationname, offers.price, aggregateRating or reviewapplicationCategory, operatingSystem; priceCurrency when price > 0Software app

How to generate JSON-LD schema markup

  1. 1
    Pick the schema typeChoose Organization, Local business, Breadcrumbs, FAQ page, Article or Software app; the form shows that type's fields.
  2. 2
    Fill 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:.
  3. 3
    Read the checksEach required and recommended property Google documents is marked present or missing, with notes on what Google does with the type.
  4. 4
    Paste 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?
No. Google deprecated the FAQ rich result and says it no longer appears in Google Search as of May 7, 2026; it removed the FAQ documentation on June 15, 2026. FAQPage is still a valid schema.org type for a page of frequently asked questions, but it no longer earns a Google search feature.
Can I add star ratings for my own business in schema markup?
Not for star snippets. Google says that when the entity being reviewed controls the reviews about itself, its pages using LocalBusiness or Organization markup are ineligible for the star review feature, including reviews pulled in through a third-party widget. Google's review guidelines also say not to aggregate reviews or ratings from other websites.
Where should JSON-LD go in the HTML?
In a <script type="application/ld+json"> element in the page's <head> or <body>; Google reads it in either. Put it on the page it describes, and describe only content that page shows.
Why does the generator write <\/ inside the JSON?
Because a browser ends a script element when it meets </script, even inside a JSON string. Writing every </ as <\/ (and <!-- as \u003C!--) keeps a headline or answer containing those characters from breaking the page, and since both are standard JSON escapes, JSON.parse returns the original text.
Does adding structured data guarantee a rich result?
No. Google says it doesn't guarantee that structured data will show up in search results, even when it is valid. Missing required properties make a page ineligible, and markup that isn't representative of the page's main content or is misleading can also keep it out.

Sources

Related tools

See all 73 free tools

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