Schema markup generator

This generator builds schema.org JSON-LD for a local business. Pick your business type, fill in the details, and copy the code into your site’s head. It tells Google and AI search tools exactly who you are, where you are and what you do.

Your details

Pick the most specific type that honestly fits.
One or two factual sentences. The same words as your homepage intro work well.
International format: +1-403-…
A real photo of you, your team or your space.
Comma-separated, e.g. Mo-Fr 09:00-17:00, Sa 10:00-14:00
Optional. A symbol range like $ or a short text range.
Comma-separated cities or regions.
What you are expert in, comma-separated. (knowsAbout)
How customers can pay. (paymentAccepted)
One URL per line: Google Business Profile, LinkedIn, Instagram, directories.

ProfessionalService JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "@id": "https://yourbusiness.ca/#business",
  "name": "Your Business Name",
  "description": "One factual sentence about what you do, for whom and where.",
  "url": "https://yourbusiness.ca/",
  "telephone": "+1-403-555-0142",
  "email": "hello@yourbusiness.ca",
  "image": "https://yourbusiness.ca/images/photo.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Example Street SW",
    "addressLocality": "Calgary",
    "addressRegion": "AB",
    "postalCode": "T2P 1J9",
    "addressCountry": "CA"
  },
  "openingHours": [
    "Mo-Fr 09:00-17:00"
  ],
  "priceRange": "$",
  "areaServed": [
    "Calgary",
    "Airdrie",
    "Cochrane",
    "Okotoks"
  ],
  "knowsAbout": [
    "Service one",
    "Service two",
    "Service three"
  ],
  "paymentAccepted": "Visa, Mastercard, E-transfer",
  "sameAs": [
    "https://www.instagram.com/yourbusinessname",
    "https://www.linkedin.com/company/yourbusinessname"
  ]
}
</script>

Paste this into your page’s head, then test it with Google’s Rich Results Test and validator.schema.org. The example values are made up: replace every one.

Want me to check the schema on your live site?

Send me your website and I’ll tell you what your structured data says now and what it should say. Free.

No newsletter. Just what you asked for, from me. Privacy

How to use it

  1. Choose the most specific business type that fits. There are pre-filled versions for many industries further down.

  2. Fill in your name, address, phone and hours exactly as they appear on your Google Business Profile.

  3. Add your social and directory profiles to “Same as”, one per line.

  4. Copy the code into a script tag in your page’s head, then check it with Google’s Rich Results Test.

Why it matters

Structured data is a short block of code that describes your business in a format machines read without guessing: your name, your type of business, your address, your hours, your phone number and where else you exist online.

Google uses it to understand and display your business. AI search tools that read your page get facts they can quote with confidence. Neither is guaranteed to show anything special, but a business that is easy to understand is easier to recommend.

The most important choice is the type. A dentist should be a Dentist, a law firm a LegalService, a restaurant a Restaurant. Plain LocalBusiness works, but it says less than it could.

Good to know

  • Match your Google Business Profile

    Name, address and phone should match your profile and your site footer character for character.

  • Only mark up what is on the page

    Structured data should describe content visitors can see. Don’t add services, ratings or prices that the page doesn’t show.

  • One business, one block

    Put the full business block on your homepage or contact page. Other pages can reference it by its @id.

FAQ

Schema markup generator: questions

  1. Inside a script tag with type “application/ld+json”, usually in the page’s head. Most site builders have a custom code field for this. On a hand-built site it goes in the template.

  2. The most specific schema.org type that honestly fits, such as Dentist, LegalService, Plumber or Restaurant. If nothing fits, ProfessionalService or LocalBusiness is fine.

  3. Not directly, and nobody can promise that. It helps Google and AI tools understand your business, which supports rich results and accurate answers about you.

  4. Paste your page URL or the code into Google’s Rich Results Test and the Schema Markup Validator at validator.schema.org. Fix any errors before you publish.

Keep reading

Let’s begin

Let’s build something you’re proud to share.

Let’s Talk