foldout
Free + Pro Restaurant template

Bistro — restaurant website template

A five-page restaurant site: menu with anchor sections, table booking form, gallery, hours and contact. Tailwind, Schema.org markup for the venue and the menu.

  • HTML5
  • Tailwind 4
  • Schema.org
  • No JS
  • 360px+

Free and Pro

Pro

$29

No attribution, plus the source files and 12 months of updates and email support.

All five pages, compiled CSS
yes
Credit link in footer
not required
Tailwind source and partials
yes
Updates and support
12 months, email

What's in the archive

  • index.html · menu.html · reservations.html
  • gallery.html · contact.html
  • assets/css/style.css
  • src/pages/ · src/partials/ · build.mjs
  • README.md · LICENCE.txt

Licence

Use it in unlimited personal and commercial projects, including client work.
Do not resell the template itself, alone or in a bundle.

Full licence terms →

What this template is for

Bistro covers the three things people actually open a restaurant website to do: read the menu, check the hours, and book a table. Everything else — the gallery, the about section, the directions — supports those three.

What’s inside

Five pages that share one header and one footer. The header and footer live in src/partials/ and are stamped into every page by a twenty-line build script, so changing the phone number or the hours is one edit, not five.

The menu page carries Schema.org Menu markup and the home page a Restaurant block with address, hours, phone and price range. That is the structured data Google uses to build the listing card with opening hours and a “reserve” link — and most restaurant templates ship without it.

Booking without a backend

The reservation form posts to whatever endpoint you give it — Formspree, Basin, Netlify Forms or your own. Field names are the conventional ones, so most services accept the form unchanged. Time slots and party sizes are plain <select> lists you edit in the HTML.

What you will need to replace

Every photograph is a labelled placeholder — swap each for an <img> with width and height set. The map on the contact page is a link to directions; replace it with an embed or a static image. Prices, dishes, hours and the address are all in the HTML, marked with comments.

Compatibility

  • Chrome / Edge 109+
  • Safari 15.4+
  • Firefox 115+
  • iOS 15+
  • Android 10+

Version history

  • 1.0.0 2026-09-11

    First release

  • 21 KB
    home page + CSS
  • 0
    external requests
  • 0
    JavaScript
  • 5
    pages