How to Create a Free Online Menu for Your Restaurant
A free online menu is a web page with its own address that guests open on their phone, from a link or by scanning a QR code at the table. There is nothing to install and no PDF to zoom into: the browser shows your dishes, prices, photos and allergen icons, laid out for a small screen. This guide walks through building one in MenuForma, from an empty account to a menu you would be happy to hand to a guest.
Everything here runs on Free Forever, which costs $0 a month with no end date and does not ask for a card. Where a feature belongs to the paid Regular plan, the guide says so. Printing table codes has its own step-by-step QR menu guide; this one is about the menu itself.
Gather what you need before you start
Building a free online menu is mostly deciding, not typing. Have these ready and the rest goes quickly:
- Your current menu in any form: a photo of the printed card, a PDF, an Excel or Word file, or the menu page of your website.
- A rough list of your categories; the next section suggests an order for them.
- Your own photos of the dishes worth showing, your logo, and a wide picture of the room or the food for the cover.
- The allergen list for each dish from the kitchen, because you will tick allergens dish by dish.
Plan the menu the way a meal is served
One MenuForma menu holds everything the restaurant serves, food and drinks alike, and its categories are the chapters. Put them in the order a meal arrives: Starters, Mains, Sides and Desserts, then Drinks at the end or, for a long bar list, in a block of their own.
Sub-categories, one level deep, tame a long drinks list: Draught and Bottled under Beer; Red, White and Sparkling under Wine.
Lunch, dinner and weekend dishes need no menu of their own. On Free Forever everything sits in the one menu, and a seasonal dish such as the spring asparagus starter moves to Unpublished when the season ends and back to Published when it returns. On Regular, the Promotions page in the dashboard sidebar sets Selling hours for each dish, so the lunchtime sandwiches appear only at lunch.
Clear categories with a handful of dishes each read far better on a phone than one endless list. And because the menu address works as a public page from the moment the restaurant exists, keep unfinished dishes on Unpublished and wait until the menu is complete before you share the link or print codes.
Create your account and your restaurant
Choose Sign up with Google, Sign up with Apple or Sign up with Email Code, in which case MenuForma emails you a code to confirm the address. An email-and-password option exists too. No card is requested at any point.
One short form follows. Enter the Restaurant Name, pick the Type (restaurant, café, bakery, pizzeria, pub, hotel and so on) and check the Menu Short URL. It becomes the end of your menu's address, such as menuforma.com/m/the-copper-kettle, and MenuForma fills it in from the name and checks that it is free. Settle on a version you want to keep, because shared links and printed codes will use it. Create Restaurant takes you straight into Menu Manager, where the rest of this guide happens.
Look at an example menu first
A finished menu is the quickest way to see where you are heading. In Menu Manager, the See Example Menu button in the row of tabs opens a window titled Select Menu Type with four examples, and View Example opens each one in a new browser tab:
- Online Ordering Menu: guests browse and order from their table.
- Self-Select Menu: guests pick dishes and show the list to staff, who send the order.
- Display Menu: browsing only, like the display-only link described later.
- Delivery Ordering Menu: delivery orders, a Regular feature.
See how a guest moves from category to dish to order, then decide how your own guests should use the menu before you build it.
Set the menu language and currency first
A new restaurant starts with English as its menu language and US dollars as its currency. If either is wrong for you, fix it before adding dishes: open the Language & Currency tab in Menu Manager, choose the Primary Language your guests read and pick your Currency from the list. A custom currency symbol works too.
If you import an existing menu, the next step does this for you, because the import recognises the language and the currency of the menu it reads. If you type dishes by hand, set both first. Changing the primary language later makes MenuForma translate the whole menu into the new language, which uses 5 credits once there is something to translate.
Fill the menu: import it or type it
The AI Import card sits at the top of the Menu Items tab. Upload photos, PDFs, Excel or Word files, several at once, use Camera on a phone to photograph the printed card, or paste the address of your own website's menu page and choose Extract Menu from URL. Delivery-app pages are not supported as a source, though a screenshot of one is. For a long PDF you choose which pages to read. The free AI menu generator page shows the import in more detail.
The result arrives as a review list with a checkbox next to every dish, showing its category, description, allergens, sizes and price. Untick anything you do not want; your menu does not change until you confirm. If dishes are already there, choose whether to add the new ones or replace the menu. Afterwards MenuForma can offer to tag the allergens it spotted (Auto-detect allergens?), for you to check.
New accounts get 30 welcome credits, usable for 30 days, and each successful import of a file or page uses 5. Typing dishes yourself never costs credits, and for a short café menu it is often just as quick.
Organise the categories
In the Categories column, the small plus button adds a category with a name and an optional description, such as a line under Pizzas saying they come from a wood oven. Name them the way guests think: Breakfast, Small plates, Burgers, Soft drinks. The sub-categories you planned for the drinks sit one level below their parent.
Drag categories into the order guests should read them, and drag dishes inside each category the same way. If you add a dish before creating any category, MenuForma makes one called Menu for you to rename later. A category with no visible dishes simply does not appear on the guest menu.
Add each dish properly
Add Item opens Add Menu Item. Choose the Category, type the Name and the Price, which is required at this stage, and add a Description. The AI button next to the description drafts one without using credits; read it and correct anything your kitchen would not recognise. Under Image, upload your own photo, which is cropped to a square, and tick the Allergens the dish contains.
MenuForma offers 26 allergens, covering the 14 that EU law requires restaurants to declare plus others such as buckwheat, peach, tomato and garlic. They appear as icons on the guest menu, next to a note asking guests to tell staff about allergies. The restaurant remains responsible for its allergen information, so check every tick.
Open the dish again to reach Edit Menu Item, where the rest lives:
- Variants / Sizes for portions with their own price: small and large pizza, a glass or a bottle of wine, a half or full rack of ribs. Use Add variant for each one.
- Weight or Volume, useful for steaks, cocktails or draught beer.
- Item Badge, a short label of your choice such as New, House special or Seasonal.
- Hide price for a dish sold at market price.
Add-ons, copies and clear wording
Choices that apply to several dishes go in Add-ons & Preferences, the panel next to the categories. Add Group creates a group such as Extra toppings or Choice of side, marked Required or optional, with a minimum and maximum number of choices. Add Option fills it with priced or free options, and Link Items to Group attaches it to the right dishes. Guests pick sizes and add-ons in the dish view when they order.
Duplicate Item copies a dish together with its sizes, which saves time on a run of similar pizzas or coffees: copy, rename, adjust the price.
As for the wording, lead with what the guest is choosing between. Name the main ingredient and how it is cooked, keep descriptions to a line or two, and use the same words your staff use at the table.
Hide dishes or mark them sold out
Each dish has a switch between Published and Unpublished. An unpublished dish disappears from the guest menu until you publish it again, which suits a new dish you are still photographing or a summer special out of season.
Mark Sold Out is for the evening the fish runs out: the dish stays on the menu with a Sold Out badge and nobody can order it. Select several dishes to move them with Move to Category, mark them sold out or available, or publish and unpublish them in one go.
Add the restaurant information guests see
The Information tab holds what frames the menu. Upload a Cover Image for the top of the menu and your Logo, and write a short Restaurant Description that appears under the name. Generating a cover or a logo with AI belongs to Regular; uploading your own is free.
In General Information, fill in the Restaurant Name, Phone, Address, Map Link and Website, all shown on the menu. The Menu URL sits here too, in case you ever need to change the address. Add your profiles under Social Media, and put your WiFi Name and WiFi Password in the WiFi card: guests see them on the menu, which saves your staff the same question at every table.
Business Hours sets opening times for each weekday, with more than one period a day if you close in the afternoon. The hours decide when guests can order. Press Save Settings when you are done.
Choose how the menu looks
On the Display & Size tab, Choose Display Mode switches between Image + Text, Image Only and Text Only, while Image Size and Font Size adjust the proportions. Hide all prices suits a set menu or a menu shown for information only. Free Forever uses the Classic template: one scrolling list with categories that open and close, which reads well on a phone.
Regular adds the Tab, Sidebar and Grid templates, Custom Colors and a choice of Font. On the free plan you can try them in the preview, but only Regular saves them. Regular can also remove the small Powered by MenuForma credit at the bottom of the menu.
Decide on languages
On Free Forever the menu has one language, the primary one you set at the start. Regular adds more: switching a language on translates the menu automatically, you can correct any line in Translation Management, and guests get a language switcher on the menu. The menu always opens in the primary language, so choose the one most of your guests read.
What guests see when they open the menu
Here is the screen a guest at The Copper Kettle meets after scanning the code, from top to bottom.
Your cover image runs across the top, with your logo, the restaurant name and the short description beneath it. Then come the details from the Information tab: a phone number that calls you with one tap, the address and map link, your website and social profiles, and the Wi-Fi name and password.
Next are the categories, which open and close in the Classic template. Each dish card shows the photo, name and price, the item badge if you set one, the allergen icons and, when a dish has run out, a sold-out badge. Tapping a dish opens its own view with a larger photo, the description, the allergens, and the sizes and add-ons to choose from.
On the normal menu link and the table codes, ordering is on: guests add dishes and send the order. With the display-only link, guests can only read. Outside your business hours the menu shows that the restaurant is closed and takes no orders until you open again, though guests can still browse.
At the very bottom sit the allergen notice and, on Free Forever, the small Powered by MenuForma credit. There is no search box, which is one more reason to name categories clearly.
Check the menu like a guest
The Preview Menu panel in Menu Manager shows the menu in a phone-sized frame while you edit, and the icon beside it opens the real guest menu in a new browser tab. Before you share anything, go through it as a guest would:
- Every price and size is right, and add-ons appear on the right dishes.
- Allergen icons match the kitchen's list.
- Photos are sharp and well cropped, and dishes without photos still read clearly.
- The phone number, map link and Wi-Fi details work.
- The menu reads comfortably on your own phone, outdoors as well as inside.
- Someone who has never seen the menu can find a dish and its price without help.
Share the menu link
Your menu lives at menuforma.com/m/the-copper-kettle. For places where people browse before they come, use the read-only version: in QR Codes & Links, the Display Only tab gives you menuforma.com/m/the-copper-kettle?mode=display with a Copy display-only link button. Guests can read the whole menu but cannot order from it. It suits your Google Business Profile, your Instagram bio, messaging apps and your website, and the guide to adding your menu to your restaurant website explains where the button should go.
Inside the venue, QR codes made on the same QR Codes & Links page open the menu at the table, and Per-Table codes let guests order from it. Customize adds your logo, colours, a dot style and a short call to action under the code. Codes download as PNG or SVG, and SVG stays sharp at any print size, which matters for posters and table tents; all of this is included in Free Forever. Because a code points to the menu address, whatever you later change in Menu Manager, be it dishes, prices or photos, shows on the same link and the same printed codes; only a new Menu URL would need new ones. The QR menu guide covers printing and testing them.
The whole process in brief
- Sign up and create the restaurant with its name, type and Menu Short URL.
- Set the menu language and currency before adding dishes.
- Open See Example Menu and decide how guests will use your menu.
- Sketch the categories in the order a meal is served, drinks last.
- Import your current menu or type the dishes yourself.
- Give each dish its sizes, add-ons, photo and allergens.
- Fill in the Information tab, from cover and logo to business hours.
- Check everything in Preview Menu and on your own phone.
- Once the menu is complete, share the display-only link and put codes on the tables.
What a free online menu includes, and what Regular adds
Everything in this guide runs on Free Forever. Regular is an optional paid plan for places that need more.
| Free Forever | Regular | |
|---|---|---|
| Price | $0 a month, no end date | Paid, optional |
| Restaurants | 1 | Several |
| Menu languages | 1 | More, with automatic translation and a language switcher |
| Templates and design | Classic, display mode, image and font size | Adds Tab, Sidebar and Grid, custom colours and fonts |
| Categories, sizes, add-ons, allergens | Included | Included |
| Dish photos | Your own | Your own or AI-generated |
| AI Import | 30 welcome credits, 5 per import | Monthly credits |
| Ordering | At the table or counter, guests pay staff | Adds delivery, pickup and Pay Online through Stripe |
| Fee per order | None | None |
| MenuForma credit on the menu | Shown | Can be removed |
Frequently asked questions
Is the online menu really free, and for how long?
Yes. Free Forever costs $0 a month with no end date and no card at sign-up, and MenuForma adds no fee per order. You pay only if you choose Regular for extra languages, more designs, delivery or online payment.
Do guests need an app to open the menu?
No. The menu opens in the phone's browser from a link or a QR code. Guests need an internet connection, but no app and no account.
Can I change prices later without changing the link or reprinting codes?
Yes. Edit the dish in Menu Manager and the change shows on the same link and the same printed codes. Only changing the Menu URL itself would mean new links and new codes.
Can guests order or pay from the menu?
On the free plan guests can order at the table or the counter and pay staff in cash or by card. Delivery, pickup and online card payment belong to Regular. MenuForma takes no commission on Stripe payments, but Stripe processing fees still apply.
Can I hide a dish without deleting it?
Yes. Switch it to Unpublished and it disappears from the guest menu until you publish it again. For a dish that has run out for the day, Mark Sold Out keeps it visible but stops orders.
Do I need separate menus for lunch, dinner and drinks?
No. Food and drinks share one menu, organised by categories. On Regular, Selling hours on the Promotions page time individual dishes, such as a lunch-only special. A second venue is different: it needs Regular, which manages several restaurants.
Can the menu be in several languages?
Yes, with Regular, which translates the menu automatically and gives guests a language switcher. On Free Forever the menu has one language, so pick the one most of your guests read.
A good online menu is mostly careful content: clear categories, honest descriptions, the right sizes and allergens. Create your free account, import or type your menu and check it in the preview before you share the link.
When the menu is ready, the QR menu guide takes you through table codes, and the free QR menu generator page sums up what the free plan includes.