
These are the restaurant, cafe and dining templates we design and maintain in-house at uiCookies. Nothing here is scraped from a marketplace or wrapped around someone else's theme — every menu block, reservation form and gallery on this page was built and is supported by the same studio, so what you download is exactly what we can help you edit.
A good restaurant site has one job: make a hungry visitor decide to eat with you, then make booking or finding you effortless. That means a menu that reads cleanly on a phone at the table and is painless to reprice, food photography given room to breathe, a clear path to reserve, and your hours and location where an in-a-hurry diner spots them fast. We designed each template around those moments rather than around a generic 'business' layout.
All of them are free for personal and commercial use, hand-built on Bootstrap 5 with zero jQuery, and come with a live demo plus a direct download. There's no build step and no framework to learn — it's plain HTML, one stylesheet and one vanilla-JavaScript file you edit directly.
The templates
Hops

Hops is a bold template for craft breweries and taprooms: an 'on tap' beer grid (style, ABV, IBU, tasting notes) with style filtering, a taproom section, an events strip, a merch/growler shop and a gallery, across a home and a full beer-list page.
Dark, industrial charcoal-and-amber styling gives it a rugged, hand-crafted feel. Built on Bootstrap 5 with vanilla JavaScript, no jQuery.
Crumb

Crumb is a warm, appetising template for bakeries and patisseries: a tabbed menu with dotted-leader pricing, a featured-products grid with a working add-to-bag interaction, a custom-cakes order-ahead flow, two shop locations with today's-hours highlighting, and a gallery lightbox across a home and a menu page.
Cream-and-crust styling with a rose accent gives it a hand-made, cosy feel. Bootstrap 5, vanilla JavaScript, no jQuery.
Roast

Roast is a warm, craft-focused template for specialty coffee shops and roasteries: a full cafe menu with dotted-leader pricing, a single-origin bean shop with a working add-to-bag cart, a monthly-subscription section, a bean-to-cup process and a photo gallery, across a home and a menu page.
Espresso browns over cream give it a cozy, artisanal feel rather than a corporate one. Vanilla JavaScript throughout, Bootstrap 5, no jQuery, no build step.
Resto

The most classic and approachable option here: a warm, photo-led single-page layout that opens on a rotating hero slider and flows through a full menu, a gallery, an upcoming-events board and a booking form with native date and time pickers. It's the natural fit for a cafe, casual eatery or neighbourhood restaurant that wants an inviting, familiar feel without much setup. Its standout is the events section — handy for venues running brunches, live music or seasonal specials.
Gusto

Where Resto keeps things classic, Gusto goes moody and food-forward: a spruce-green dining room lit by brass that hands the spotlight to your photography. Its signature is a printed-menu tabbed layout — Starters, Mains, Desserts, Drinks — with dotted price leaders and Chef's-pick and vegetarian tags, so a long a-la-carte menu stays readable. Best for a full-service restaurant, bar or bakery with a sizeable menu organised by course, plus a validating reservation form and a scroll-snap testimonial slider.
Harvest

Harvest is the fine-dining choice, trading bistro warmth for quiet editorial luxury: a claret-and-loam palette, Cormorant Garamond serif over Jost, and a dark tasting-menu card that numbers each course in roman numerals like a printed carte. It carries a farm story, a chef-and-sommelier lineup, and a dedicated private-events block alongside the validating reservation form and lightbox gallery. Built for tasting-menu restaurants, farm-to-table kitchens, supper clubs and private-dining rooms that want to look considered and expensive.
Compare at a glance
| Template | Best for | Layout | Standout feature |
|---|---|---|---|
| Resto | Cafes & casual restaurants | Hero-slider single-page long-scroll | Rotating photo hero + upcoming-events board |
| Gusto | Full-service restaurants & bars | Tabbed-menu single-page long-scroll | Course-tabbed menu with dotted price leaders |
| Harvest | Fine dining & tasting menus | Editorial single-page long-scroll | Dark roman-numeral tasting-menu card |
How to choose
Start with how your menu behaves, because that's the decision you'll live with. A short menu that shifts with the season is happiest as a simple scrollable list (Resto); a large menu split by course reads far better as tabs so nobody scrolls past the mains to reach dessert (Gusto); a fixed, chef-driven tasting menu wants the editorial card treatment (Harvest). Whichever you pick, remember you will be editing this menu constantly — prices and dishes change weekly — so choose the one whose menu markup you're genuinely comfortable opening and editing by hand.
Sort out reservations before you launch. The forms validate in the browser and show a confirmation, but they don't send anywhere until you wire them up, so decide early whether bookings go to an OpenTable or Resy widget, a form endpoint like Formspree, or your own script, and point the form action there — a form that silently drops bookings is worse than no form. Just as important, put a tap-to-call phone number, your hours and a maps link somewhere a rushed visitor sees them immediately; on mobile those three beat a contact form nearly every time.
Finally, treat photography as the performance decision it is. Restaurant sites live or die on their food shots, but oversized hero images are the number-one cause of a slow first load — the exact moment a diner is deciding whether to bother. Use your own real photography (stock plates read as fake and quietly erode trust), compress it to AVIF or WebP with fallbacks, and size hero images sensibly. Every template here is static HTML with no database and no PHP, so you can host it almost anywhere — Netlify, Cloudflare Pages or plain shared hosting — which keeps it fast and cheap to run.
Frequently asked questions
Are these really free to use for a real, paying restaurant?
Yes. Every template here is free for both personal and commercial use, so you can launch a real restaurant, cafe, bar or supper club on one at no cost. No attribution is required, though a link back to uiCookies is always appreciated.
Will they work on phones?
Yes, and that matters more here than in most niches — the bulk of restaurant traffic is people on a phone hunting for your hours, menu or a table. Every layout is responsive and built so the menu and reservation form stay comfortable to use one-handed.
Do I need to know Bootstrap or run a build step to edit one?
No. Each is plain HTML with a single CSS file and a single vanilla-JavaScript file — no npm, no compiling. You swap the copy and the photos in the img folder and adjust a few colour variables at the top of the stylesheet.
How do the reservation forms actually receive bookings?
The forms validate entirely in the browser (required fields, valid email, no past dates, party-size and time checks) and show a confirmation message. To collect real bookings, point the form's action at your booking provider, a form endpoint, or your own backend script.
Can I connect one to WordPress or another CMS?
They're standalone static templates, not WordPress themes, but the markup is clean and conventional, so porting sections into a CMS or a static-site generator is straightforward. Many small restaurants skip a CMS entirely and just edit the HTML when the menu changes.
Will the site load quickly?
It should — there's no jQuery and no heavy plugin stack, just vanilla JavaScript. The biggest lever on speed is your own imagery, so compress your food photos to AVIF or WebP before uploading and your load times stay fast.
Related templates
Free Travel Website Templates · Free Wedding Website Templates · All free HTML website templates