Restaurant and café menus

Thai restaurant menu website with a printed style menu

Thai menus are long and organised by type, and regulars know exactly what they want. This one page example for an invented Fortitude Valley restaurant shows the menu like the printed one on the table, in columns with dotted leaders to the price, with protein choices and a note about chilli.

Create a website with OneCraft3 pages, built in the section builder

The home page at three widths

The same page on a desktop, a tablet and a phone, exactly as it renders. Scroll inside each frame to read it all; nothing here can be clicked or submitted.

Desktop, 1280 pixels wide
Tablet, 768 pixels wide
Phone, 375 pixels wide

Page by page

Home /
Hero (split), Menu (printed menu), About (photo and story), Opening hours (compact card), Contact (details and form)
Privacy policy /privacy
Text (single column), 5 in a row
Terms of use /terms
Text (single column), 5 in a row

Sections in order

A split hero with a bowl of green curry, the menu in the printed menu layout with starters, curries, noodles and stir fries and rice and sides, a photo and story section, opening hours in a compact card and a table booking form. The navigation button goes straight to the menu for pickup orders.

Changing the dishes

Add or edit dishes in the store admin and put each in its collection. To change the order of sections on the menu, change the order of the collections in the menu section. The vegan and allergen note sits under the menu and is edited in the builder.

What makes this website work

The printed menu layout for a long menu

Four sections in columns with dotted leaders to each price fit ten dishes in one screen on a laptop. A long Thai menu in photo rows would be a scroll of a dozen screens.

Protein choices where they belong

The green curry, pad thai and pad kra pao each have a Protein option with its own price, and show Choose instead of Add. The customer picks chicken, tofu or prawns once, instead of the menu listing every dish three times.

A family story that explains the food

The about section tells how the mother cooked at a Chiang Mai market for twenty years. It explains why khao soi is on the menu and why the pastes are made each morning, which is the reason to choose this restaurant.

Questions people ask

Which menu layout should a Thai restaurant use?

For a long menu, the printed menu layout, which sets each section as a column with dotted leaders to the price. For a short menu of dishes that photograph well, the photo rows layout. This example uses printed columns because it has four sections and ten dishes.

How do protein choices work?

Give the dish an option named Protein with values such as chicken, tofu and prawns, each with a price. The menu shows the lowest price as from and a Choose button, and the customer picks the protein before adding the dish to the order.

Can customers book a table on the site?

The contact section at the bottom takes the date, time and number of people as a message, and each booking request arrives in the inbox with an email and a push. It is a request for you to confirm, not a live table reservation system.

Can the menu show which dishes are vegan or spicy?

Write it into the dish description, such as "Vegan" or "Hot", and use the menu note for general allergen information. There are no icon badges for dietary needs in the menu section, so plain words in the description are the way to show them.

What do pickup customers see after paying?

A thank you page shows the order number, the items, the total and the pickup location, and the customer gets a receipt by email. When you mark the order ready for pickup, they get a second email saying it is ready to collect.

Build your own in about a minute

The button below opens the generator with this use case already described. Change the wording to match your own, generate, then edit anything you like.

Make one like this

Other website examples

For everything this generator can do, see the website maker.

Sources

Written and checked by the OneCraft team. Last checked .