Yes, you can convert a scanned food menu PDF to Markdown yourself — run OCR on the scan so the text becomes editable, convert the text-based PDF to Markdown, clean up the headings and prices, and then paste the finished file into your website's CMS. You do not need a developer, and the whole process can be done with free tools.
What You Will Need
- Scanned food menu PDF (one or more pages, JPG/PNG scans are fine if you combine them first)
- A modern web browser (Chrome, Firefox, Safari, or Edge)
- A free Google account if you use the Google Drive/Docs OCR route
- A basic text editor (VS Code, Notepad++, or Sublime Text)
- Your website CMS login (WordPress, Wix, Squarespace, or similar)
- Optional: command-line tools (Tesseract, Pandoc, Poppler) if you prefer the terminal route
- Optional: a folder for dish photos if the menu includes images
Note on file sizes: most OCR and conversion tools work comfortably with typical menu PDFs. Some online tools cap uploads — for example, one provider's paid plan allows files up to 100 MB for its workflow tools, so a multi-page high-resolution scan can exceed free limits.
Step-by-Step Instructions
Step 1. Organize the scanned pages before you start
- Action: Collect all scanned pages into one PDF and check the page order and rotation.
- Explanation: Scans often arrive as separate images from a phone or multifunction printer. Combine them into a single PDF with one image per page, and rotate sideways pages so every page faces the same direction. Name the file clearly, for example
summer-menu-scan.pdf.
[Insert screenshot: PDF viewer showing three pages of a scanned menu in the correct order]
Watch out: rotate sideways pages before conversion. If they stay rotated, the converter will read the text in the wrong order and the Markdown will be jumbled.
Step 2. Test whether the PDF contains real, selectable text
- Action: Open the PDF in any viewer and try to select a few words with your mouse cursor.
- Explanation: A scanned menu is an image, so the viewer shows it as one flat picture. If the cursor selects whole blocks or nothing at all, the PDF is image-only and needs OCR before any converter can read it.
[Insert screenshot: cursor dragging across a scanned menu with no highlighted text]
Watch out: this test decides the entire workflow. If you skip OCR and feed an image-only PDF into a text-based converter, you will get an empty or garbage Markdown file.
Step 3. Run OCR so the scan becomes an editable text PDF
- Action: Use one of the OCR methods below to extract the text from the scanned image.
- Explanation: OCR accuracy depends on scan quality. Aim for 300 DPI, straight pages, and even lighting. Stylized fonts used on menus (script titles, condensed dish names) cause the most errors, so they will need the most manual cleanup later.
| Method | Best if... | What to do |
|---|---|---|
| Google Docs OCR | You want a free, no-install route | Upload the PDF to Google Drive → right-click → Open with Google Docs. Google runs OCR automatically. Then go to File → Download → .docx or .txt. |
| Adobe Acrobat (Scan & OCR) | You already have Acrobat installed | Open the PDF → Tools → Scan & OCR → Recognize Text → In This File → choose the language → Recognize Text. Save as a new PDF with a text layer. |
| Tesseract (open source) | You prefer command-line tools | Install Tesseract plus the language pack for your menu's language. Convert the PDF pages first with pdftoppm -r 300 -png input.pdf page, then run tesseract page-1.png output -l eng (add more languages with -l eng+fra, for example). |
[Insert screenshot: Google Docs showing the opened scanned menu with selectable, highlighted text]
Watch out: set the OCR language to match your menu. If the menu is bilingual, pass all relevant languages. The difference shows up in accented words: "café" stays correct with the right language pack and turns into "caf" without it.
Step 4. Convert the OCR'd document to Markdown
-
Action: Convert the text-based PDF (or the .docx/.txt from Google Docs) to Markdown with one of the following methods.
-
Explanation: After OCR, the document has a text layer that converters can read. Choose whichever method matches your setup.
-
Option A — Browser-based PDF to Markdown. One option is OctopusPDF's PDF to Markdown tool, which performs structure-aware extraction designed for feeding content into AI tools, and it processes the file entirely in the browser tab. Upload the OCR'd PDF, run the conversion, and download the resulting
.mdfile. -
Option B — Pandoc (command line). Pandoc reads PDFs through
pdftotextfrom Poppler, so installpoppler-utilsfirst. Then run:pandoc menu-ocr.pdf -t markdown -o menu.mdIf you used Google Docs in Step 3, you can convert the downloaded .docx instead:pandoc menu.docx -t markdown -o menu.md -
Option C — Marker (open source). Marker converts PDFs to Markdown and runs OCR on scanned files. For a single file, run:
marker_single menu-ocr.pdf --output_dir output
Watch out: do not skip Step 3 for this step. Feeding an image-only PDF into a converter that expects a text layer produces an empty .md file, no matter which option you choose.
[Insert screenshot: downloaded menu.md file open in a text editor showing headings and dish names]
Step 5. Clean up the Markdown structure
- Action: Open
menu.mdin a text editor and repair the structure page by page. - Explanation: A good menu structure uses one top-level title, one heading per category, and one line per dish with its price. Here is an example of clean Markdown:
# Summer Menu
## Appetizers
- Bruschetta — $8
- Calamari — $12
## Mains
- Grilled salmon — $24
- Mushroom risotto — $18
## Desserts
- Tiramisu — $9
Most OCR runs need four fixes:
- Prices: "S" or "Q" are common misreads for digits (for example, "Q24" instead of "$24").
- Confusion of lowercase "l" with the digit "1" in dish names.
- Lost accents in words like "sautéed" or "crème".
- Two-column menus read as one long line-by-line list — reorder items into logical categories.
[Insert screenshot: before/after comparison of a messy OCR list and a cleaned Markdown menu]
Watch out: if the original menu used two columns, the converter will usually read across both columns line by line, mixing items. Check the paper menu and reorder manually.
Step 6. Add dish photos if the menu includes them
- Action: Upload the dish photos to your CMS and reference them in Markdown with image syntax.
- Explanation: Markdown is text-only. Converters do not reliably extract embedded photos into separate image files, so you must re-link photos yourself using the format
.
[Insert screenshot: website editor showing a Markdown block with an image reference for a dish photo]
Step 7. Paste into your website and preview
- Action: Paste the Markdown into a CMS block that accepts Markdown, or into a Markdown-enabled field, then preview the page.
- Explanation: Some CMS editors accept raw Markdown; others need a Markdown block or plugin. After pasting, preview at desktop and mobile widths to confirm the headings, lists, and prices render correctly.
[Insert screenshot: mobile preview of the menu page with categories, dishes, and prices displayed correctly]
Watch out: pasting into a plain rich-text editor may double-escape characters like # or $. Use a dedicated Markdown block or the "paste as plain text" option instead.
Common Mistakes / Troubleshooting
| Problem | Likely Cause | Fix |
|---|---|---|
The .md file is empty after conversion |
The converter read only the image layer because OCR was skipped | Run OCR first (Step 3), or use a tool that performs OCR internally |
| Prices are wrong ("Q24" instead of "$24") | OCR misread low-contrast or stylized digits | Rescan at 300 DPI, then verify every price against the paper menu |
| Two-column menu merged into one long list | The converter followed reading order line by line | Reorder items into categories manually in the .md file |
| "café" became "caf" and other accents broke | The OCR language pack was missing or wrong | Add the menu's language in the OCR settings, e.g., -l eng+fra in Tesseract |
| The PDF is rejected as too large | Scans were saved at very high resolution | Compress the PDF or split it into page ranges; some tools cap uploads at 100 MB on paid plans |
How to Verify Success
- You can select text in the PDF after OCR (Step 2 test passes)
- The
.mdfile opens in a text editor and shows readable dish names, headings, and prices - Menu categories appear in the same order as the paper menu
- Every price matches the printed menu, verified item by item
- Accented characters in dish names are intact
- The menu page renders correctly in your CMS preview at desktop and mobile widths
FAQ
Q1. Do I need to buy software to convert a scanned menu to Markdown?
No. Google Docs OCR is free, Tesseract and Pandoc are open source, and browser-based converters are available at no cost for typical small files. Paid plans mainly matter for larger files; for example, one browser-based tool's Pro plan allows files up to 100 MB for its workflow tools, per the vendor's documentation.
Q2. My menu has photos of dishes. What happens to them in Markdown?
Markdown is text-only, so converters will not extract photos into usable image files. Upload the dish photos to your website separately and insert them with  in the Markdown file.
Q3. Why convert the menu to Markdown instead of just copying the text into the website?
Markdown keeps the structure (headings, lists, prices) in a lightweight, portable file that is easy to update. Structure-aware Markdown extraction also reduces token usage when the file is later read by an AI model, which is useful if you want the same menu to feed a website chatbot or an AI search feature.
Key Facts
- Scanned menus are image-only PDFs; OCR must run before or during the Markdown conversion, or no text will appear.
- Free routes include Google Docs OCR (no installation), Tesseract plus Pandoc (command line), and Marker (open source); one browser option is OctopusPDF's PDF to Markdown tool, part of a 14-tool suite with structure-aware extraction.
- Structure-aware Markdown extraction saves tokens when a menu is later fed to an LLM, according to the vendor's product documentation.
- Some browser-based PDF tools process files locally — the vendor states images never upload for its Images to PDF tool, and its AI features parse the file inside the browser tab.
- Always verify the output dish by dish; OCR errors concentrate in prices and stylized fonts, not in plain body text.