For the technically curious.
The rest of the site is about what Menu Author does for your restaurant. This page is for the people who want to know how it works: how menus are rendered, published, exported for print, optimized, and kept safe. Every capability here is live in the product today.
The editor and layout engine
The editor is a full design surface that runs in the browser. The layout engine runs locally, so reflowing a menu, switching themes, or repacking columns happens instantly without a round trip to a server. Elements snap to each other and to the page with live alignment guides. You get rulers, grids, column guides, and print safe-zones, precise position, rotation, and opacity values, layer ordering, and customizable drop shadows. A generous undo history covers deletions and theme changes. If any single element ever fails to render, the editor contains the problem rather than dropping you out of your work. Any element can be marked "print only" so it appears in PDF exports but not on the public web menu.
Themes, typography, and backgrounds
A theme is a complete visual system: palette, typography, page geometry, item styling, section styling, and background, all coordinated. Six item designs and four section designs are swappable independently, and a dedicated overrides panel exposes five palette tokens, independent heading and body fonts, margins, column count, gutter, content density, and font-size bounds, each with a one click reset.
The font library is over 40 curated typefaces (Inter, Playfair Display, Lora, Merriweather, EB Garamond, Cormorant Garamond, Abril Fatface, Cinzel, DM Serif Display, Montserrat, Poppins, Oswald, Bebas Neue, IBM Plex Sans, Lobster, and more) plus system staples for guaranteed fallback. Fonts load on demand so published menus stay fast. Backgrounds support solid colors, over 50 tileable patterns across geometric, texture, botanical, and dark categories with editable foreground and background colors, curated imagery, or any image from your asset library. Patterns are emitted as inline vectors in exports so printed output stays sharp at any size.
AI workflows
Four separate workflows: Refine (plain language theme tuning), Generate (build a structured menu from a source), Polish (sharper wording on items you already have), and Translate (per menu translations with line by line approval). Refinement output is constrained to a strict theme schema, so the AI can never produce a broken or unrenderable theme. Generation retries automatically if an attempt fails or produces an unrenderable page. Translation suggestions are stored only as suggestions until you approve them, so unreviewed AI output is never rendered on a public page. Menu content is sent to managed AI providers under their data terms and is not used to train any models. AI features are included with your plan with no per prompt billing, and nothing the AI produces is published without your explicit action.
Import
Import from pasted text, PDF, Excel/XLSX, or CSV. The CSV path has smart column detection, a downloadable template, and a first-class page-break column that splits a long spreadsheet into multiple menu pages in one step. You can also paste directly from Excel or Google Sheets, and the dialog detects whether the pasted block has headers. Common dietary tag aliases (v, vg, veg, gf) are recognized on import, and imported items land in the active theme's item and section designs.
Publishing and SEO
Every menu publishes to a permanent public URL with a draft-and-publish workflow and preview-before-publish. Published pages emit schema.org structured data as JSON-LD (items, sections, prices, dietary tags, and opening hours via openingHoursSpecification) so search engines can show rich results, the menu title renders as a real H1, and Open Graph and Twitter card tags make shared links render with the right title, description, and image. You can override the SEO title and meta description per menu. Pages are lightweight and load quickly on mobile.
Menu translations
A published menu can serve up to 27 languages, each at its own URL: the menu's public address with a language code appended, like /el or /pt-br. Variants are rendered to static HTML when you approve changes and are served exactly like the base menu, with no rendering per request and no text swapping in the browser; the language bar on published pages is plain links rendered on the server, so switching works even with JavaScript disabled. Each variant sets its own lang attribute and all versions cross reference each other with hreflang alternate links, so search engines index every language correctly. Approved strings render translated and everything else falls back to the source text, which is what lets a partially translated language go live safely. If source text changes after approval, the affected strings are flagged as stale by comparing against a snapshot taken at approval time, and the previously approved wording stays live until you act. Approving, activating, or removing a language purges the CDN cache for exactly the pages that changed. PDF and image exports, QR codes, embeds, social sharing, and TV displays all work per language.
Print exports
Print export is server-side rendered for consistent, high-fidelity output regardless of the browser you use. Six profiles set the right combination of bleed, crop marks, and resolution for where the file is going. You can export a single page or batch every page of a multi-page menu, and the app remembers your last profile.
| Profile | Bleed | DPI | Use |
|---|---|---|---|
| Website download | 0 mm | 150 | Smallest file, for download links and email. |
| Home / office printer | 0 mm | 300 | Crisp on a desk printer that trims at the edge. |
| Digital press (standard) | 3 mm | 300 | The default for most online print shops. |
| Digital press (premium card) | 3 mm | 450 | Higher resolution for thick cards and fine type. |
| Offset press | 5 mm | 300 | Matches the spec most offset shops ask for. |
| Large format poster | 5 mm | 150 | Tuned for posters viewed from a distance. |
The print guide explains bleed, crop marks, and DPI in plain terms and helps you pick a profile.
QR, embeds, and signage
Generate a QR code for any published menu with custom fill color, background color, and error-correction level, at any size, downloadable as an image. Embed a full menu or a single section by slug on any website, and republishing refreshes every embed automatically. Any browser-capable screen becomes a menu board at the menu's public URL with /display appended, rotating through pages on a configurable interval from 5 to 90 seconds.
Assets and image handling
Images are optimized before upload: oversized photos are resized and recompressed in the browser, then run through WebAssembly MozJPEG and oxipng encoders to squeeze another 15 to 40 percent out of each file without visible quality loss (the original is kept if the optimized version somehow ends up larger). HEIC and HEIF uploads from iPhone are converted automatically. Uploaded SVGs are sanitized on the server before storage so vector logos are safe to embed on public pages. Uploads go directly to secure cloud storage through short-lived signed URLs, so files do not pass through our application servers.
Reliability and your data
The app detects when your connection drops, shows a clear banner, and retries in the background, distinguishing a browser outage from a server one. Every publish saves a full snapshot of the menu; Professional plans keep the last 10 and Ultimate keeps the last 30, each previewable and restorable in one click. Edit locks with heartbeat detection prevent two people from silently overwriting each other and release automatically when a tab closes. Databases are backed up on a managed schedule with point-in-time recovery, and stored assets carry built-in cloud redundancy.
Security
Sign-in is handled by a managed identity provider and is fully passwordless: you sign in with Google or with a one-time link sent to your email, so there is no password to store, leak, or reuse. Sessions use short-lived tokens validated on every request. Data is encrypted in transit with TLS and at rest on both the database and object storage. Published HTML and uploaded SVGs are sanitized, permissions are role-based, and sign-up, sign-in, and invitation acceptance are protected by managed anti-bot services. Billing runs through Stripe, which is PCI-DSS Level 1 certified; we store your subscription tier and status, not full card details.
Accounts and teams
One login can manage multiple restaurants, each with its own menus, assets, and branding, and one person can belong to multiple accounts and switch between them. Two roles (Admin and Staff) separate billing and team management from menu design. An owner only activity log records who created, updated, deleted, and published what, rendered in your account's timezone.