@type: HairSalon · HealthAndBeautyBusiness
Hair salon schema generator
Salon clients book on style specialism, price and availability. HairSalon schema with treatment-level pricing and late-night appointments gets you into “balayage near me” searches, not just “hair salon”.
Free · no account needed · validated against Google's LocalBusiness guidelines
<script type="application/ld+json">{ "@context": "https://schema.org", "@type": "HairSalon", "@id": "https://studiothread.example/#localbusiness", "name": "Studio Thread Hair", "description": "Independent Shoreditch hair salon specialising in lived-in colour, curly cuts and balayage. Vegan products, no-rush appointments.", "url": "https://studiothread.example", "logo": "https://studiothread.example/logo.png", "image": [ "https://studiothread.example/img/salon-16x9.jpg", "https://studiothread.example/img/colour-1x1.jpg" ], "telephone": "+44 20 7946 0321", "email": "book@studiothread.example", "priceRange": "££", "currenciesAccepted": "GBP", "paymentAccepted": "Credit Card, Debit Card, Apple Pay", "address": { "@type": "PostalAddress", "streetAddress": "88 Redchurch Street", "addressLocality": "London", "addressRegion": "Greater London", "postalCode": "E2 7DJ", "addressCountry": "GB" }, "geo": { "@type": "GeoCoordinates", "latitude": 51.52421, "longitude": -0.074918 }, "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Tuesday", "Wednesday", "Friday" ], "opens": "10:00", "closes": "19:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Thursday", "opens": "10:00", "closes": "21:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" } ], "specialOpeningHoursSpecification": [ { "@type": "OpeningHoursSpecification", "name": "Boxing Day", "validFrom": "2026-12-26", "validThrough": "2026-12-26", "opens": "00:00", "closes": "00:00" } ], "hasOfferCatalog": { "@type": "OfferCatalog", "name": "Hair services", "itemListElement": [ { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Cut & finish", "description": "Consultation, wash, cut and blow-dry." }, "priceSpecification": { "@type": "PriceSpecification", "minPrice": "65.00", "priceCurrency": "GBP" } }, { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Balayage", "description": "Hand-painted lightening with gloss and toner." }, "priceSpecification": { "@type": "PriceSpecification", "minPrice": "180.00", "priceCurrency": "GBP", "maxPrice": "290.00" } }, { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Curly cut", "description": "Dry cut tailored to your curl pattern." }, "price": "85.00", "priceCurrency": "GBP" } ] }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "428", "bestRating": "5", "worstRating": "1" }, "review": [ { "@type": "Review", "author": { "@type": "Person", "name": "Amara Okafor" }, "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" }, "reviewBody": "First stylist who actually understands my curls.", "datePublished": "2026-09-03" } ], "sameAs": [ "https://maps.app.goo.gl/studiothread-example", "https://www.instagram.com/studiothreadhair", "https://www.tiktok.com/@studiothreadhair" ]}</script>Generate your hair salon 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
Free schema checker
Validate existing hair salon markup
Already have hair salon markup? Paste it to see its score, rich result eligibility and exactly what to fix.
Properties that matter for hair salons
@type: HairSalon | HealthAndBeautyBusiness subtype. |
hasOfferCatalog | Cuts, colour, balayage, treatments with from-prices. |
openingHoursSpecification | Late-night appointment days. |
sameAs | Instagram and TikTok portfolios. |
name + address | Required by Google for every LocalBusiness — and must match your Business Profile exactly. |
Best practices
- Name services the way clients search (“curly cut”, “lived-in blonde”).
- Use “from” pricing — final price depends on hair length.
- Link your booking page as the url of key services.
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 hair salons?
Host the schema for up to 25 client locations and update hours across every site from one dashboard.
See Pro