Free Review Schema Generator

Fill in the facts visible on your page, copy the Review JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Required

  • Visible Review content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation

Schema stacks

Use Review schema in a stack

Complete JSON-LD bundles that combine Review with the other types a real page needs. Browse all stacks

  • Travel Schema Stack

    VacationRental or Hotel pages with reviews, FAQs, and breadcrumb context. Includes check-in/out, amenities, offers, and location details.

  • Testimonials / Social Proof Stack

    Testimonials hubs with CollectionPage of Reviews, AggregateRating, FAQs, and breadcrumb navigation.

  • Restaurant Stack

    Restaurant pages with NAP, hours, menu URL, reviews, FAQs, and breadcrumb context.

  • Travel Agency Stack

    Travel agency pages with services, reviews, FAQs, and breadcrumb navigation.

  • Multi-Location Local Stack

    HQ + branch pages with organization identity, local locations, reviews, FAQs, and breadcrumb context.

  • B2B SaaS Lead-Gen Stack

    Feature/solution landing pages for SaaS with app identity, org trust, reviews, FAQs, and breadcrumb context.

Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

Review Schema Markup — Review Snippets in Google

Review markup describes one person's review of one item: who wrote it, the rating they gave, and what they reviewed. Google can show it as a review snippet with the stars and author.

Generate Review JSON-LD

Why review snippets don't show up

  • The review has no author, or the author name is not a real name.
  • The reviewed item is a type Google does not support, such as a plain WebPage.
  • A business marks up reviews of itself on its own site, which Google excludes for LocalBusiness and Organization.
  • The review in the markup is not visible on the page.

How SwiftSchema helps

The generator below builds a Review with the author, rating, and reviewed item that Google requires, and limits the item type to the types Google supports for review snippets.

It warns you when the author name is too long and when you pick LocalBusiness or Organization, which only qualify on sites that review other businesses.

What is Review schema?

A Review is one person's or organization's evaluation of one item, with a rating. Google uses Review markup for review snippets: a rating and reviewer shown with the search result.

Don't confuse it with AggregateRating, which is the average and count of many ratings. A product page can have both: an AggregateRating for the overall score, and a Review for each individual review shown on the page.

Required and recommended properties

From Google's review snippet documentation:

PropertyRequired?Notes
authorYesA Person or Organization. The name must be a valid name, and shorter than 100 characters. Google's example of an invalid name is "50% off until Saturday".
reviewRatingYesA Rating with ratingValue: a number, fraction, or percentage (4, 6 / 10, 60%). Use a dot for decimals.
itemReviewedUnless nestedThe item being reviewed. Leave it out when the review is nested in the item with the review property.
Item nameYesitemReviewed.name, or the name of the item the review is nested in.
datePublishedRecommendedThe date the review was published, in ISO 8601 format.
reviewRating.bestRatingRecommendedThe top of the scale. Google assumes 5 if it's missing.
reviewRating.worstRatingRecommendedThe bottom of the scale. Google assumes 1 if it's missing.

reviewBody (the review text) is a schema.org property Google doesn't require, but it's useful for showing what the rating is based on.

Standalone or nested

  • Standalone: publish a Review with itemReviewed pointing to the item. The first and third examples do this.
  • Nested: add the review to the item's own markup with the review property. Google then assumes the parent item is the one reviewed, so leave out itemReviewed. The second example does this for two reviews of a product, together with the product's AggregateRating.

Which items can have review snippets

Google's valid types for the reviewed item are Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe, and SoftwareApplication.

LocalBusiness and Organization only qualify on sites that capture reviews about other businesses and organizations.

Self-serving reviews

Google's guidelines say that if the entity being reviewed controls the reviews about itself, its pages that use LocalBusiness or any other type of Organization structured data are ineligible for the star review feature. That includes reviews shown through an embedded third-party widget, such as Google Business or Facebook reviews.

So a law firm can show client testimonials on its site, but it won't get review stars for its own Organization or LocalBusiness markup. The AggregateRating guide covers this rule in more detail.

Other guidelines

  • Visible reviews. Users must be able to see the review text and rating on the marked-up page.
  • A specific item, not a category or a list of items.
  • Several reviews? Also include an aggregate rating of them.
  • No fake or undisclosed incentivized reviews, such as reviews written in exchange for money, discounts, or free products without a clear disclosure.
  • Don't aggregate reviews or ratings from other websites.
  • Google recommends only accepting ratings that come with a review comment and the author's name.

How to build one here

  1. 01

    Pick the type of item reviewed from Google’s supported types, and enter its name.

  2. 02

    Enter the author’s name and choose Person or Organization.

  3. 03

    Enter the rating, and the best and worst possible ratings if your scale is not 1 to 5.

  4. 04

    Add the publish date and the review text shown on the page.

  5. 05

    Copy the JSON-LD into the page with the review and test it in Google’s Rich Results Test.

Ready to build the markup?

Author, rating, and a supported item type.

Generate Review JSON-LD

Common mistakes

  • No author. Google requires one. Use the reviewer's real name, not promotional text such as "50% off until Saturday".
  • An unsupported item type. Reviews of a plain WebPage, Thing, or CreativeWork don't qualify. Use the specific type, such as Product or Recipe.
  • The wrong scale. If you rate out of 10, set bestRating to 10.
  • A comma in the decimal. Write 4.5, not 4,5.
  • Reviews of your own business. Not eligible for stars in LocalBusiness or Organization markup on your own site.
  • Reviews that aren't on the page. Mark up only reviews visitors can read.

Required properties

  • author (Person or Organization)
  • author.name (under 100 characters)
  • reviewRating.ratingValue
  • itemReviewed (unless nested in the item)
  • itemReviewed.name (or the parent item's name when nested)

Recommended properties

  • datePublished
  • reviewRating.bestRating
  • reviewRating.worstRating
Standalone review of a product
Validate
{
  "@context": "https://schema.org",
  "@type": "Review",
  "author": {
    "@type": "Person",
    "name": "Taylor Brooks"
  },
  "datePublished": "2026-07-10",
  "reviewBody": "Solid value and easy setup. The battery lasts about two days.",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": 4,
    "bestRating": 5,
    "worstRating": 1
  },
  "itemReviewed": {
    "@type": "Product",
    "name": "Trailhead GPS Watch"
  }
}
Reviews nested in a product, with the aggregate rating
Validate
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Trailhead GPS Watch",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.4,
    "reviewCount": 89
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Taylor Brooks"
      },
      "datePublished": "2026-07-10",
      "reviewBody": "Solid value and easy setup.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 4
      }
    },
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Sam Ortiz"
      },
      "datePublished": "2026-08-02",
      "reviewBody": "Accurate GPS, but the strap wore out quickly.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": 3
      }
    }
  ]
}
Editorial review of an app (10-point scale)
Validate
{
  "@context": "https://schema.org",
  "@type": "Review",
  "author": {
    "@type": "Organization",
    "name": "AppLab Reviews"
  },
  "datePublished": "2026-02-10",
  "name": "Stable sync at last",
  "reviewBody": "Version 5.2 fixed sync conflicts and improved offline mode.",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": 8,
    "bestRating": 10,
    "worstRating": 1
  },
  "itemReviewed": {
    "@type": "SoftwareApplication",
    "name": "Syncly Pro",
    "operatingSystem": "iOS, Android",
    "applicationCategory": "BusinessApplication"
  }
}

FAQs

What does Google require for Review markup?Show

An author (a Person or Organization with a real name under 100 characters), reviewRating with a ratingValue, and the item being reviewed: itemReviewed with a name, or the review nested in the item's own markup with the review property.

Review or AggregateRating?Show

Review is one person's review of one item. AggregateRating is the average and count of many ratings. If a page shows several individual reviews, Google asks you to include an aggregate rating of them as well.

Can I mark up testimonials about my own business?Show

Not for stars. Google says that if a business controls the reviews about itself, its pages using LocalBusiness or Organization structured data are ineligible for star review snippets, including reviews shown through embedded Google or Facebook widgets.

Which items can have review snippets?Show

Google lists Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe, and SoftwareApplication. LocalBusiness and Organization only qualify on sites that review other businesses.

Can a page have more than one Review?Show

Yes. Mark up each visible review. When there are several, also add an AggregateRating for the item.

What happened to critic review markup?Show

In June 2021, Google deprecated its critic review documentation. Google said the change doesn't affect other features in Search that use review markup, so Review markup for review snippets still works.

Related types

Browse all schema types

References