Skip to contentSkip to content

Restaurant menu embed · for your website

Your live menu.
On your own website.

Two lines of code embed your Crumb menu — dishes, prices, allergens — directly into your restaurant site. It inherits your fonts and colours, updates the moment you edit, and gives guests the same allergen clarity they get on the QR menu.

No PDF. No QR-only. No developer round-trip.

Built in Dublin for restaurants anywhere. Free tier includes the embed. Works on WordPress, Squarespace, Wix, Webflow, Framer, Shopify and hand-coded sites.

your-website.com — index.htmlPaste anywhere
<script src="https://crumb.menu/embed.js" defer></script>
<div data-crumb-venue="your-restaurant" data-crumb-menu="dinner"></div>

That's the whole install. From there, everything lives in Crumb.

Why restaurants pick it

A menu that reads like part of the website, not an add-on.

Looks like it belongs to your site

The embed inherits your fonts, colours, spacing and background. No branded widget, no visual seam — it reads like the page was designed around it.

Always the current menu

Edit in Crumb, the site updates on next load. No re-publishing, no PDF uploads, no calls to your developer to change a price.

Allergens on every dish

Dietary badges and Contains: notes for the 14 EU allergens render on every layout — the same clarity guests get on your QR menu.

Two lines of HTML

One script tag, one container div. Works in WordPress, Squarespace, Wix, Webflow, Framer, Shopify and hand-coded sites. Any developer, five minutes.

Fast and SEO-friendly

Server-rendered HTML — dishes, prices, allergens — that search engines read as real content. Deferred and lazy-loaded so page speed stays intact.

Five layouts

The same menu data, five ways to arrange it.

Colours, fonts and rhythm inherit from your site — only the arrangement changes. Pick the one that sits best in your page.

Single column

Palate & Co · Marais, Paris

Dinner

Seasonal, cooked over embers

To Start

Beetroot, ricotta, hazelnut

€11

Slow-roasted, aged sherry vinegar.

  • Vegetarian
  • Contains: Dairy, Nuts

Grilled sourdough, cultured butter

€6
  • Contains: Gluten, Dairy

Chilled tomato consommé

€9

Basil oil, sea herbs.

  • Vegan
  • Gluten-free

From The Pass

Confit duck leg, cherry, dandelion

€24

Cooked overnight in its own fat.

  • Contains: Sulphites

Cacio e pepe, aged pecorino

€19

Made to order.

  • Vegetarian
  • Contains: Gluten, Dairy, Eggs

Pan-seared cod, brown butter, capers

€26
  • Contains: Fish, Dairy

Classic

View style →

One centred column with generous rhythm. Reads like a printed carte and holds up on any width.

À la carte

Palate & Co · Marais, Paris

Dinner

Seasonal, cooked over embers

To Start

Beetroot, ricotta, hazelnut

€11

Slow-roasted, aged sherry vinegar.

  • Vegetarian
  • Contains: Dairy, Nuts

Grilled sourdough, cultured butter

€6
  • Contains: Gluten, Dairy

Chilled tomato consommé

€9

Basil oil, sea herbs.

  • Vegan
  • Gluten-free

From The Pass

Confit duck leg, cherry, dandelion

€24

Cooked overnight in its own fat.

  • Contains: Sulphites

Cacio e pepe, aged pecorino

€19

Made to order.

  • Vegetarian
  • Contains: Gluten, Dairy, Eggs

Pan-seared cod, brown butter, capers

€26
  • Contains: Fish, Dairy

Two-Column

View style →

Two columns on desktop with dot-leader rules between dish and price. Formal, restaurant-page feel.

Dense list

Palate & Co · Marais, Paris

Dinner

Seasonal, cooked over embers

To Start

Beetroot, ricotta, hazelnut

€11

Slow-roasted, aged sherry vinegar.

  • Vegetarian
  • Contains: Dairy, Nuts

Grilled sourdough, cultured butter

€6
  • Contains: Gluten, Dairy

Chilled tomato consommé

€9

Basil oil, sea herbs.

  • Vegan
  • Gluten-free

From The Pass

Confit duck leg, cherry, dandelion

€24

Cooked overnight in its own fat.

  • Contains: Sulphites

Cacio e pepe, aged pecorino

€19

Made to order.

  • Vegetarian
  • Contains: Gluten, Dairy, Eggs

Pan-seared cod, brown butter, capers

€26
  • Contains: Fish, Dairy

Compact

View style →

Tighter line-height, descriptions hidden until hover. Ideal for long menus that need to fit above the fold.

Bordered per dish

Palate & Co · Marais, Paris

Dinner

Seasonal, cooked over embers

To Start

Beetroot, ricotta, hazelnut

€11

Slow-roasted, aged sherry vinegar.

  • Vegetarian
  • Contains: Dairy, Nuts

Grilled sourdough, cultured butter

€6
  • Contains: Gluten, Dairy

Chilled tomato consommé

€9

Basil oil, sea herbs.

  • Vegan
  • Gluten-free

From The Pass

Confit duck leg, cherry, dandelion

€24

Cooked overnight in its own fat.

  • Contains: Sulphites

Cacio e pepe, aged pecorino

€19

Made to order.

  • Vegetarian
  • Contains: Gluten, Dairy, Eggs

Pan-seared cod, brown butter, capers

€26
  • Contains: Fish, Dairy

Cards

View style →

Each dish sits in its own bordered card. Reads clearly against a busy background photo or hero.

Magazine scale

Palate & Co · Marais, Paris

Dinner

Seasonal, cooked over embers

To Start

Beetroot, ricotta, hazelnut

€11

Slow-roasted, aged sherry vinegar.

  • Vegetarian
  • Contains: Dairy, Nuts

Grilled sourdough, cultured butter

€6
  • Contains: Gluten, Dairy

Chilled tomato consommé

€9

Basil oil, sea herbs.

  • Vegan
  • Gluten-free

From The Pass

Confit duck leg, cherry, dandelion

€24

Cooked overnight in its own fat.

  • Contains: Sulphites

Cacio e pepe, aged pecorino

€19

Made to order.

  • Vegetarian
  • Contains: Gluten, Dairy, Eggs

Pan-seared cod, brown butter, capers

€26
  • Contains: Fish, Dairy

Editorial

View style →

Oversized title, wide side margins, section names as small-cap eyebrows. Reads like a food magazine.

How it works

Three steps. No developer round-trip.

  1. 01

    Build your menu in Crumb

    Add dishes, prices, allergens and modifications once. The same menu powers your QR code, kitchen sheets, and the website embed.

  2. 02

    Pick a layout, copy the snippet

    Open the Embed panel next to any published menu. Preview all five layouts against your real dishes, choose one, copy two lines.

  3. 03

    Paste and forget

    Drop the snippet into any page. From then on, every edit in Crumb appears on the site — no re-publishing, no code changes.

EU 1169/2011 allergen labelling on every dish, every layout.

Server-rendered HTML — indexed by Google, readable by screen readers.

Deferred and lazy-loaded — designed to leave your Core Web Vitals alone.

What we don't pretend it does

  • It isn't a website builder. The embed renders the menu; your site still needs a home for it. If you don't have one yet, most restaurateurs pair Crumb with a simple Squarespace or Framer page.
  • Strict CSP setups need one allowlist entry. Sites that block external scripts by default will need script-src https://crumb.menu added, or the server-side fragment endpoint instead.
  • Ordering and checkout are out of scope. This is a menu, not a POS. It links out to your booking or delivery flow — it doesn't try to replace either.

Common questions.

Yes. The embed inherits your site's typography, colours, spacing and background — we only supply structure. Drop it into any page and it reads like it was built for that site, not bolted on.

Always. Every dish shows its dietary badges and a Contains: line for the 14 EU regulated allergens, on every layout. Guests get the same clarity on your site as on the QR menu — no separate PDF, no missing information.

The embed re-renders from the same live menu you edit in Crumb. Change a price, 86 a dish, add an allergen note — the site updates the next time a visitor loads the page. There is nothing to re-publish and no code to touch.

Two lines of HTML: a script tag and a container div. Any web developer, agency or DIY builder (WordPress, Squarespace, Wix, Webflow, Framer, Shopify, custom) can paste it in five minutes. You copy them from the Publish panel next to each menu.

The menu is delivered as server-rendered HTML — dish names, descriptions, prices and allergens — so search engines read it as real page content, not an image or an iframe. That means your dish and cuisine terms count toward your site's ranking, not ours.

The script is small, deferred, and lazy-loaded so it doesn't block your page render. On typical restaurant sites we see no measurable Core Web Vitals impact, but you can test it in your own environment before shipping.

Yes. Switch between the five layouts from the Embed panel in Crumb — the snippet on your website stays the same. No developer required.

Some strict CSP setups block external scripts by default. In that case, add https://crumb.menu to your script-src allowlist, or use the server-side fragment endpoint instead — we can walk you through either on request.

Ready when you are

Put your real menu on your real website.

Start free — the embed is included on every plan, including the free tier. Publish a menu, copy two lines, and your site is current for good.