Skip to content

Free · no account · photo never stored

Scan your menu to digital, free

Photograph your menu. Watch it come back as data.

This is the scanner from inside the product, with the signup wall taken off. Point a phone at your menu and every dish, price and section heading comes back structured, in about half a minute — then we throw the photo away. Like the read? Keep it: a free account within 7 days imports every dish and puts them on a live QR menu.

No account, no email. The photo is read once and discarded — it is never written to a database or a file store. The dishes and prices it returns are kept for 7 days under a private link so a free account can import them; nothing else is stored. 3 scans an hour, 10 a day per address, because each one is a real model call we pay for.

What happens to your photo

A menu is a public document, but the person uploading it usually wants to know exactly where it goes before they find out. So, in order:

  1. 1

    Checked

    Size and file type are verified against the file's own bytes, not the label your browser put on it. Anything that isn't a real PNG, JPG or WebP is rejected here.

  2. 2

    Read

    The image goes to a vision model, which returns dishes, prices, sections and its own confidence in the read. This is the same call the paid product makes.

  3. 3

    Dropped

    The request ends and the photo's bytes go with it. No blob storage, no log line with your menu in it. Your address and device aren't recorded either.

  4. 4

    Kept 7 days

    The read — dishes, prices, sections, the confidence score — is stored under a random link so a free account can import it. Unclaimed after 7 days, it is deleted.

What a photo can tell you, and where it stops

What the scan genuinely knows

  • Every dish name, description and section heading in frame.
  • The printed price against each one.
  • Dietary marks the menu itself carries — V, VG, GF, DF, spicy.
  • How well it read the photo, scored by the model and shown to you rather than hidden.
  • The ingredient budget each price allows at a food cost target you choose. That is arithmetic on your number.

What it cannot know

  • What any of those dishes cost you to make.
  • Which ones are quietly below your target margin.
  • What your suppliers have done to those costs since the menu was printed.
  • Which price move would recover the most money a week.

All four need invoices. That is the paid half of Marji, and the reason the scan exists is that it gets you to the starting line without typing forty dishes into a form.

Questions

Do I need an account?

No. There is no signup, no email box and no card. Upload a photo and you get the result on the same page. If you want to keep it, the result carries a private link that is good for 7 days: open it, create a free account, and the dishes are imported into your menu automatically. Let it lapse and the read is deleted.

Do you keep my photo or my menu?

The photo, no. It is held in memory for the length of one request, sent to the vision model, and dropped — never written to a database, a file store or a log. The read, yes, briefly: the dishes, prices and section headings it returned, the model's confidence score, and a random token, kept for 7 days so that "Keep this menu" can import them into a free account. Nothing that identifies you is stored with it — no address, no device, no email. After 7 days an unclaimed read is deleted by a daily job.

How many scans do I get?

3 an hour and 10 a day per address. Every scan is a paid call to a vision model, and an unauthenticated endpoint that spends money per request needs a ceiling. A free account scans your own menu without bumping into this.

What does the "ingredient budget" column mean?

It is your printed price multiplied by the target food cost you pick — the most a plate's ingredients can cost before that dish misses the target. It is a ceiling derived from your own number, not a measurement. We do not know what your dishes cost, and no photograph of a menu contains that information.

So this doesn't tell me which dishes are losing money?

Not from a photo, and anything that claimed to would be guessing. Margin is menu price minus plate cost, and plate cost comes from what you actually paid your suppliers at the yield you actually get. That is the half you get by forwarding invoices to an account — the scan is what saves you typing forty dishes in by hand first.

What if it reads something wrong?

The model scores its own read of each photo, and that score is shown on the result exactly as it is inside the product — flagged, with a warning band when the read was poor. A blurry, angled or glare-hit photo scores low and you should treat every line as a draft. Dishes imported through the keep link are editable inside the app like any other, and a dish the scan could not read a price for is left out rather than published at $0.

What can I upload?

A PNG, JPG or WebP photo, one page per shot. Your browser shrinks it before it is sent. PDFs and multi-page menus work in the product but not here — a PDF is a much bigger request and a much better abuse tool, and this endpoint has no account behind it.

How do I get a good read?

Shoot straight-on rather than at an angle, in even light, with no glare on laminate, and make sure the prices are inside the frame. One page per photo beats a wide shot of a folded menu every time.

Liked the read? Keeping it is step one of the free QR menu, which publishes those dishes as a hosted menu page with a QR code. Or see what the same menu looks like with invoice costs attached.