@type: Dentist · MedicalBusiness
Dentist schema generator
Patients compare dentists on three things before they call: whether you take new patients, when you're open, and what a visit costs. Dentist schema puts all three into machine-readable JSON-LD so Google, Bing and AI assistants can answer “dentist open Saturday near me” with your practice.
Free · no account needed · validated against Google's LocalBusiness guidelines
<script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Dentist", "@id": "https://brightsmile-dental.example/groningen/#localbusiness", "name": "Bright Smile Dental Studio", "alternateName": "Bright Smile Groningen", "legalName": "Bright Smile Tandartsen B.V.", "description": "Family and cosmetic dentistry in the centre of Groningen. Same-week appointments, Invisalign aligners and gentle care for anxious patients.", "url": "https://brightsmile-dental.example/groningen", "logo": "https://brightsmile-dental.example/assets/logo-512.png", "image": [ "https://brightsmile-dental.example/assets/practice-16x9.jpg", "https://brightsmile-dental.example/assets/practice-4x3.jpg", "https://brightsmile-dental.example/assets/team-1x1.jpg" ], "foundingDate": "2011-03-01", "telephone": "+31 50 211 4480", "email": "hello@brightsmile-dental.example", "priceRange": "€€", "currenciesAccepted": "EUR", "paymentAccepted": "Debit Card, Credit Card, iDEAL, Insurance", "knowsLanguage": [ "Dutch", "English", "German" ], "address": { "@type": "PostalAddress", "streetAddress": "Oude Ebbingestraat 42", "addressLocality": "Groningen", "addressRegion": "Groningen", "postalCode": "9712 HL", "addressCountry": "NL" }, "geo": { "@type": "GeoCoordinates", "latitude": 53.221432, "longitude": 6.566874 }, "hasMap": "https://maps.app.goo.gl/brightsmile-example", "areaServed": [ { "@type": "Place", "name": "Groningen" }, { "@type": "Place", "name": "Haren" }, { "@type": "Place", "name": "Paterswolde" } ], "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "08:30", "closes": "12:30" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Friday" ], "opens": "13:30", "closes": "17:30" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Thursday", "opens": "13:30", "closes": "20:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "13:00" } ], "specialOpeningHoursSpecification": [ { "@type": "OpeningHoursSpecification", "name": "Christmas Day", "validFrom": "2026-12-25", "validThrough": "2026-12-26", "opens": "00:00", "closes": "00:00" }, { "@type": "OpeningHoursSpecification", "name": "New Year's Eve", "validFrom": "2026-12-31", "validThrough": "2026-12-31", "opens": "08:30", "closes": "13:00" }, { "@type": "OpeningHoursSpecification", "name": "New Year's Day", "validFrom": "2027-01-01", "validThrough": "2027-01-01", "opens": "00:00", "closes": "00:00" } ], "medicalSpecialty": "Dentistry", "isAcceptingNewPatients": true, "hasOfferCatalog": { "@type": "OfferCatalog", "name": "Dental treatments", "itemListElement": [ { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Check-up & cleaning", "description": "Full exam, scale & polish and oral cancer screening." }, "price": "79.00", "priceCurrency": "EUR", "priceSpecification": { "@type": "UnitPriceSpecification", "price": "79.00", "priceCurrency": "EUR", "unitText": "per visit" } }, { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Invisalign clear aligners", "description": "Digital scan, treatment plan and aligner series." }, "priceSpecification": { "@type": "PriceSpecification", "minPrice": "2950.00", "priceCurrency": "EUR" } }, { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Teeth whitening", "description": "In-chair whitening with take-home trays." }, "price": "349.00", "priceCurrency": "EUR" }, { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Emergency dental care", "description": "Same-day appointments for pain, swelling or broken teeth." }, "priceSpecification": { "@type": "PriceSpecification", "minPrice": "95.00", "priceCurrency": "EUR", "maxPrice": "250.00" } }, { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Dental implants", "description": "Single-tooth implant including crown." }, "priceSpecification": { "@type": "PriceSpecification", "minPrice": "2400.00", "priceCurrency": "EUR" } } ] }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "312", "bestRating": "5", "worstRating": "1" }, "review": [ { "@type": "Review", "author": { "@type": "Person", "name": "Sanne de Vries" }, "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" }, "reviewBody": "Finally a dentist that doesn't make me nervous. Clear explanations and zero waiting time.", "datePublished": "2026-09-14" }, { "@type": "Review", "author": { "@type": "Person", "name": "Mark Jansen" }, "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" }, "reviewBody": "Emergency appointment the same afternoon — fixed my cracked molar painlessly.", "datePublished": "2026-08-02" } ], "sameAs": [ "https://maps.app.goo.gl/brightsmile-example", "https://www.facebook.com/brightsmilegroningen", "https://www.instagram.com/brightsmilegroningen", "https://www.linkedin.com/company/bright-smile-dental-studio" ]}</script>Generate your dentist schema
Fill in your details — the JSON-LD, validator and search preview update as you type. Free, no account.
Step 1 of 7
Business
Type & identity
Business type
Pick the most specific schema.org subtype. It's the strongest relevance signal you can send.
@typeIdentity
Use the name exactly as it appears on your storefront and Google Business Profile.
nameMissing business name
alternateNamelegalNamedescription0/750
sloganfoundingDateWebsite & media
urlMissing website URL
logoSquare, at least 112×112px, on a plain background.
imageNo images
Medical details
medicalSpecialtyisAcceptingNewPatientsFree schema checker
Validate existing dentist markup
Already have dentist markup? Paste it to see its score, rich result eligibility and exactly what to fix.
Properties that matter for dentists
@type: Dentist | A dedicated schema.org type — far stronger than generic LocalBusiness or MedicalBusiness. |
isAcceptingNewPatients | Answers the most common pre-booking question directly in structured data. |
openingHoursSpecification | Split lunch hours and late evenings are encoded per day, not as one vague string. |
hasOfferCatalog | List check-ups, whitening, implants and Invisalign with from-prices. |
name + address | Required by Google for every LocalBusiness — and must match your Business Profile exactly. |
Best practices
- Use the practice name exactly as it appears on your Google Business Profile — don't append “Best Dentist in…”.
- Add each dentist as a separate Person page with their own markup; keep the practice markup focused on the location.
- Encode emergency or out-of-hours slots as their own service so “emergency dentist” searches have something to match.
FAQ
What the validator checks
- Required name and full postal address
- Phone format and international prefix
- Overlapping or invalid split hours
- Coordinates with 5+ decimal precision
- Expired holiday exceptions
- Keyword-stuffed business names
- Self-serving review markup
- Most specific schema.org subtype
For agencies
Managing several dentists?
Host the schema for up to 25 client locations and update hours across every site from one dashboard.
See Pro