No Signup Unlimited Usage Real Data 100% Free Privacy First Fast Results Export Reports Mobile Friendly

Schema (JSON-LD) Generator for Local Businesses

Copy your name, phone, address and opening hours from your Google Business Profile into one LocalBusiness block, so your website says exactly what your listing says.

Fetching live data…

Why Local Businesses need this

Plenty of owners who search for how to rank in Google Maps end up chasing shortcuts: a keyword added to the business name, a town name tacked on, a virtual office address that looks better than the real one. Google's Business Profile guidelines treat those as grounds for suspension, and ranking itself rests on relevance, distance and prominence, none of which can be paid for. Your website still has a job to do, though. It should state the same name, phone number, address and hours your profile shows, in a form machines read easily. The Schema (JSON-LD) Generator turns plain fields into a LocalBusiness block you paste into your page. It only uses what you type, so the profile stays the source of truth and you copy from it. Reviews matter too, since customers want recent ones and replies, but markup will not create them. Think of this page as a ten-minute task that removes one source of mismatch.

Local Businesses specific guidance

Start from your profile, not from memory

Open your Google Business Profile in Search or Maps, choose Edit profile, and copy the business name, phone, address and hours exactly as shown. In the generator pick LocalBusiness, then paste each value into its matching field: Name, Phone, Street address, City, State / region, Postal code, Country and Opening hours. Add the Google Maps link from your listing's Share option. Keep the name as it appears on your sign and do not add a service or a town to it, because extras in the name are exactly what the profile guidelines warn against. The generator reads nothing from Google, so any difference in the output is one you typed. The block also proves nothing about whether your profile is verified or in good standing.

Write hours the way schema.org expects

Opening hours are copied as typed, one entry per line, so use the schema.org shape: Mo-Fr 09:00-17:00 on one line and Sa 10:00-14:00 on the next. Use 24-hour times even if your profile shows am and pm. If you close for lunch, give the same days two lines, one for each stretch of opening. Type the phone number the way customers dial it, with the country code. Any field you leave empty is simply omitted, which is better than publishing a guess. Then press the copy button. The output does not include geo coordinates, ratings or a price range, and it will not compare your hours with what your profile says.

Paste, test, then fix what the test shows

Place the script block in the head of your home page or contact page; on WordPress that usually means a plugin that adds code to the head, or your theme's custom code area. Then run the page through the Schema Checker and Google's Rich Results Test, and compare the address and phone with your footer and contact page. If you run a dentist or a restaurant, change the @type value from LocalBusiness to Dentist or Restaurant by hand in the pasted text, because the generator offers no subtypes. Valid markup makes the page eligible to be understood. It does not promise a map-pack position, a rich result or more reviews, which still depend on relevance, distance and prominence.

Example scenarios

1. Single-location plumber with a shopfront

Situation
Illustrative example: a plumbing supply shop has had the same Google Business Profile for years, but the website footer still shows an old phone number after a switch to a new provider.
Input
Schema type: LocalBusiness. Name: the name on the shop sign. URL: the home page. Phone: the new number with country code. Street address, City, State / region, Postal code and Country copied from Edit profile. Opening hours: Mo-Fr 07:30-17:00 and Sa 08:00-12:00 on two lines.
Reading the result
You would get one script block with a nested address and the two hour entries, with empty fields left out. Compare the phone in the block with the footer; if they differ, fix the footer too, because the markup cannot correct visible text. The block says nothing about how the shop ranks.

2. Cafe that closes for a midday break

Situation
Illustrative example: a cafe owner types hours in plain words on the profile, and the first attempt at the generator copies them as 'Monday to Friday, 8 to 2 and 4 to 9'.
Input
Opening hours rewritten as three lines: Mo-Fr 08:00-14:00, Mo-Fr 16:00-21:00, Sa-Su 09:00-15:00. Google Maps link pasted from the listing's Share option.
Reading the result
The openingHours values would appear exactly as typed, which is why the plain-words version had to be rewritten: the tool does not convert free text into the schema.org form. After pasting the block, check it in the Schema Checker; the result confirms the syntax was read, not that Google will show these hours.

3. Bakery owner tempted to rename the listing

Situation
Illustrative example: a bakery owner reading about how to improve local ranking on Google wants to add the town and 'best cakes' to the Name field in the generator and on the profile, turning a 14-character trading name into a 40-character keyword string.
Input
Name: the plain 14-character trading name only. Description: one sentence of about 12 words about what the bakery sells. Street address of the real shopfront, not a mailing address.
Reading the result
The block would carry the 14-character trading name in name and the sentence in description, so the extra wording lives in a field meant for it. Keeping the name clean matches the guidelines, which warn that taglines and location details in the name can lead to suspension. The tool does not review your profile name for you.

Common mistakes

  • Adding keywords or a town to the Name field. Stuffing 'best' or a city into the name might feel like a ranking trick, but Google's guidelines list it as a reason for suspension. Use the real trading name and put service details in the Description field.
  • Entering a P.O. box or virtual office as the address. Those addresses are not eligible for a profile, and copying one into Street address spreads the same problem to your website. Use the physical address you actually serve customers from.
  • Writing hours in plain words. The tool copies opening hours exactly as typed, so 'Mon to Fri 9-5' stays as free text. Use the form Mo-Fr 09:00-17:00, one entry per line.
  • Expecting the markup to fix your map ranking. Local results rest on relevance, distance and prominence, and prominence leans on links and reviews you have to earn. The block helps your site state its details clearly; it does not replace asking customers for reviews and answering them.
  • Pasting once and never testing or updating. A pasted block can contain a typo, and it goes stale when you move or change hours. Run it through the Schema Checker after pasting, and update it whenever the profile changes.

Frequently asked questions

Will adding LocalBusiness schema help me rank in Google Maps?

No promise there. Google says local results rest mainly on relevance, distance and prominence, and that you cannot pay or ask for a better local ranking. LocalBusiness markup on your site states your name, address, phone and hours in a machine-readable form, which supports consistency, but it does not change distance or add reviews. Treat it as housekeeping that sits beside a complete profile, a correct primary category and a steady flow of genuine customer reviews that you answer.

Does my schema have to match my Google Business Profile exactly?

Yes, aim for the same name, phone, address and hours in both places, because a mismatch confuses customers and looks careless. The generator never reads your profile, so you copy the values across yourself. Open Edit profile on Google, note each detail, and type it into the matching field. If you change your hours for a holiday or a move, update the profile and your pasted block together, otherwise the page keeps saying the old thing.

How do I write opening hours so the code stays valid?

Type one entry per line in schema.org form, for example Mo-Fr 09:00-17:00 on the first line and Sa 10:00-14:00 on the second. Use two-letter day codes and 24-hour times. The tool writes the lines exactly as typed and does not correct them, so a stray 'Monday to Friday' would be copied as is. After pasting the block on your site, run it through the Schema Checker or Google's Rich Results Test to confirm the hours were read.

Can I mark my business as a dentist or restaurant instead of LocalBusiness?

The generator only outputs the general LocalBusiness type. After you copy the block, edit the @type value by hand and replace LocalBusiness with a more specific schema.org type such as Dentist or Restaurant. Do that before pasting, keep the quotation marks intact, then test the page again. Pick the subtype that matches what your profile lists as your main category, and do not invent a type just because it sounds more impressive.

Is it free, and does it keep my business details?

It is free, needs no signup, and runs in your browser, so the name, phone and address you type are not stored. Nothing is published either: the tool gives you a script block with a copy button, and you place it on your own page. It does not add geo coordinates, reviews, ratings or price range, so if you want those you would have to write them yourself and test them.

Reference: Google's guidelines for representing your business say that taglines or location details in the name, and P.O. boxes or virtual offices as addresses, can get a profile suspended.

Last updated: Türkçe sürüm