BEAUTY & WELLNESS

Juniper Hair. Free hair salon HTML & Astro template

A free ten-page salon template with service and duration filters, sample prices, two service pages, gallery and HTML and Astro downloads.

Juniper Hair website template preview

Juniper Hair 1.0.0 — desktop homepage screenshot. Open the live demo for the current design

About Juniper Hair

Juniper Hair is a ten-page salon website with an ink/pale-rose identity, conventional salon navigation and locally served Juniper Serif/Sans font derivatives. Services, illustrative appointment lengths, prices and first-visit information are easy to inspect. Two full service details and a category-filtered gallery connect the main pages to an appointment enquiry or an optional external booking provider.

Best suited to: Independent hair salons and small styling businesses presenting service scopes, clear sample price bases, visit information and appointment enquiries.

Desktop and mobile screenshots

Captured from version 1.0.0 on 30 October 2026. Open a screenshot to inspect the full page.

Choose your download

Both ZIPs contain the same 10-page design. Neither requires an account, subscription, or license key.

Compare the HTML and Astro downloads
Edition Included files and requirements
Plain HTML ZIP
0.90 MiB
10 HTML pages, CSS, JavaScript, local assets, manifest, license notices and setup instructions.
Requires: Any static host; no Node or build step required.
Standalone Astro source ZIP
0.95 MiB
10 editable Astro pages, layouts/components, site data, styles/scripts, local assets, vendored kit, exact standalone lockfile and documentation.
Requires: Node.js >=22.23.4 and npm >=9.6.5. No factory workspace, hosted service, account or API key required.

What’s in the design

  • Services contains six examples: two cutting, two styling and two colour. Category and maximum illustrative duration filters combine, accept allowed queries and announce counts, empty state and reset.
  • Cut & Finish and Colour are full separate detail pages. Styling descriptions remain on the service collection. Thirty minutes gives an empty example; 60 minutes gives two, 90 gives five and 120/all gives all six services.
  • Prices combines category and text search in a captioned table with starting-price, appointment-length and scope labels. Colour prices are application-only examples; cutting and finishing are separate.
  • Gallery contains two illustrative salon spaces and one styling-session photograph. Category controls show three/all, two salon or one styling image. The native dialog browses only the visible category with keys, Escape and focus return.
  • First Visit explains practical consultation, preparation and appointment questions without collecting health details or claiming results. Sample times, fees and service arrangements require confirmation by the real salon.
  • The default enquiry validates name/email, preselects an included service and gathers day/time preferences. A valid configured HTTPS booking provider replaces the form and changes shared appointment actions.

Verified page layouts

These 10 pages are included in both archives. Each link opens the live preview.

How appointment enquiries and booking-provider links work

Allowed service links preselect Contact. Required name/email fields use native validation; day/time preferences are fixed options. There is no health-history, symptom, document or photo-upload field.

The default submit action prepares a reviewable mailto draft only. Nothing is sent, stored or booked. Replace [email protected] before launch; the reserved sample mailbox cannot receive email.

In Astro, a valid HTTPS bookingURL changes the appointment actions and replaces the Contact form with an external provider panel. Invalid/non-HTTPS values are ignored. The provider handles its own availability and terms; the static template checks no slots and takes no payment.

Set up the Astro edition

Extract the source ZIP and run these commands from its folder:

npm ci
npm run dev
npm run check
npm run build

The build produces a dist/ folder for static hosting. The source includes its shared template kit under vendor/template-kit, so it builds independently of our development workspace. Astro 7.4.4 and the Astro checker 0.9.12 are pinned; TypeScript 6.0.3 is the latest supported by that checker’s declared peer range.

Before you launch

  • Choose HTML for direct file editing, or Astro for shared layouts and source-driven content.
  • Replace salon services, pricing bases, appointment lengths, preparation/access information, staff facts and office details with accurate business information. Do not present stock photographs as a portfolio of salon results.
  • Keep service IDs, category/duration values and Contact options aligned. Test service and price filters, category-specific image viewing, preselection and any configured HTTPS provider.
  • Replace imagery with licensed content. Keep responsive variants, intrinsic dimensions, alt text and ASSETS.md credits aligned.
  • Set PUBLIC_SITE_URL to the real domain/folder URL with a trailing slash for canonical/social metadata, robots.txt and a 9-page sitemap. Leave PUBLIC_PREVIEW unset for production.
  • Upload the entire HTML folder or Astro dist/. Configure unknown paths to return 404.html with HTTP 404. Test enquiries or configure a separately tested delivery route if direct sending is required.

A static salon website with no live appointment inventory, customer accounts, payments, message-delivery backend, medical intake or treatment/outcome guarantee. The optional provider is an external link, not an integrated booking engine.

License and assets

The original template code is released under the included MIT license. It permits personal and commercial use; retain the license notice when redistributing the code. Visible footer attribution is optional.

Salon and styling photographs are by Guilherme Petri, Greg Trowman and Adam Winger under the Unsplash License. They show separate illustrative spaces/session, not Juniper premises, staff, clients or results. Juniper Serif/Sans are renamed OFL derivatives of Cormorant Garamond and Manrope; complete upstream notices and derivative records are included. Unsplash License. Full asset credits.

Release verification

The page inventory and screenshots document the included layouts. The HTML and independent Astro editions contain the same design, local assets and license notices. Build, browser and laboratory-audit evidence is kept with the release source. Automated scores do not establish complete accessibility compliance or guarantee performance after customization.

Version 1.0.0, reviewed 30 October 2026. Live preview. Plain HTML checksum. Standalone Astro source checksum. Juniper is a fictional salon. Services, fees, appointment lengths, hours and office details are illustrative; no appointment, qualification or styling outcome is promised.

GOOD DESIGN, OCCASIONALLY.

Your next idea
could start here.

New templates, useful guides, and updates from us.
A little inspiration for whatever you’re building.