Image to Markdown: When the Shape of What You Photographed Matters
Some pictures are pictures. Others are documents that happen to be trapped in a picture — an invoice someone photographed and emailed, a slide you screenshotted out of a deck you'll never be given, a form filled in by hand, a page of a book on your desk, a whiteboard covered in a decision nobody wrote down anywhere else. The words in those images are the point, and so is the arrangement of them.
Upload one here and the text gets recognised and handed back to you as Markdown. Real optical character recognition, running on the pixels. A photographed invoice comes back with the invoice number, the company, the date, each line item and its amount, and the total — the actual content, not a description of it. JPG, JPEG, PNG, GIF, BMP, TIFF, TIF and WebP all work. Free, no sign-up, 50 MB per file, nothing kept after the conversion finishes.
What You Get Back, Precisely
The output is the recognised text and nothing else. No camera details, no file properties, no technical preamble to scroll past before the useful part starts. You upload a photo of a document, you get the document's words. If you were expecting a header block describing the image itself, that isn't what this does — it reads what's in the picture.
Recognition quality tracks the image quality, which is the honest way to put it. A crisp screenshot or a clean export reads very well. A hurried photo of a laptop screen at an angle, with a window reflected in it, is a harder problem and you may see the occasional wrong character. Handwriting, script and decorative typefaces, and text sitting on a busy background are all genuinely difficult. None of that makes the tool useless on a bad image — it just means you should read the output rather than assume it.
Markdown or Plain Text? The Real Difference
Here's something most converter pages won't tell you. On a simple image — a screenshot of a paragraph, a photo of a handwritten note, a sign — Markdown and plain text give you effectively the same result. Recognised text arrives as lines, and there's no structure in a block of prose for Markdown to represent that plain text loses. If you pick the "wrong" one for a simple image, you have lost nothing at all.
The choice starts to matter when the thing in the picture has a shape. A table, a form with labels and values, a receipt with columns of items and prices, a document page with headings and sections. That's where Markdown earns its place, because pipes and hashes can carry a grid or a hierarchy that a flat dump can only imply through spacing. If you're trying to convert a screenshot to a Markdown table, this is the page you want. If you just need the words for a search box, image to text is the sibling page and it's the simpler tool for a simpler job.
The format toggle at the top switches between the two and carries whichever file you've already selected across with it, so you can run the same image both ways and see for yourself rather than take my word for it.
The Things Worth Pointing a Camera At
- Invoices and receipts. The classic case. A supplier sends a photographed invoice instead of a file, and you need the line items somewhere countable. Convert, check the totals against the image, paste into a sheet or hand the Markdown to a model and ask it to itemise.
- Forms and applications. Printed forms with filled-in fields convert into label-and-value pairs you can actually work with. Typed entries read far better than handwritten ones — worth knowing before you scan two hundred of them.
- Slides you only have as images. A conference photo of a slide, or a screenshot from a recorded talk. If you have the original deck, use PowerPoint to Markdown instead — always prefer the source. When you don't, this is how you get the content out.
- Book and article pages. A photo of a page you want to quote, summarise, or argue with. Headings and paragraph breaks survive the trip in a way that makes the result readable rather than a wall.
- Whiteboards and flip charts. Straight-on, decent light, and legible writing gets you a usable record of a meeting. Wobbly marker handwriting at an angle gets you a partial one. Still faster than transcribing it yourself.
- Dashboards and reports as screenshots. Numbers in a grid become a table you can compare against last month's. If the underlying data exists as a file, Excel to Markdown or CSV to Markdown will beat any OCR pass, because nothing has to be guessed.
The Container Rule, and Why It Saves You a Failed Upload
This is the part worth internalising, because it explains three separate surprises at once. OCR here runs on the image file you upload. It does not run on images that are wrapped inside some other file. If the picture is a passenger in a bigger container, the container gets read and the picture gets skipped.
- Scanned PDFs come back empty. A PDF that's really a photograph of paper has no text inside it, and OCR doesn't reach in through the PDF wrapper. Run "recognise text" on it first — Acrobat, Preview on macOS, and most modern PDF readers all have it — which turns it into a searchable PDF, then use PDF to Markdown or PDF to text. That's a one-minute detour and it's the correct route for scanned documents.
- Images inside a ZIP aren't recognised. Archive conversion lists the image filename and moves on. ZIP to Markdown is excellent for a folder of documents and spreadsheets; for photos of documents, extract them and upload each image on its own.
- Images embedded in Word, PowerPoint, RTF, EPUB or email aren't recognised either. They arrive in the output as an image placeholder, not as text. So a DOCX built from screenshots converts with Word to Markdown into the surrounding prose plus a set of gaps. Pull the pictures out of the document and convert them here as image files.
One sentence version: if the words you want are inside a picture, the picture has to be the file you upload.
Getting a Better Read Out of a Difficult Image
- Screenshot instead of photographing a screen whenever you have the option. A screenshot has perfect contrast, no glare, no keystone distortion, and no hand shake. It is the single biggest quality difference available to you.
- Crop to the text. A table occupying a fifth of a wide photo has fewer pixels per character than the same table filling the frame, and it shows in the result.
- Keep the image upright and square-on. Shooting a page at an angle bends the lines of text, and bent lines are harder to segment into rows — which matters most for exactly the tables you came here for.
- Light it evenly. A hard shadow across the middle of a receipt, or a glare patch on a laminated form, will take out whatever it covers.
- Read the output before you rely on it. Numbers are where errors hurt most, so check totals and reference codes against the image. The token counter under the output tells you how much you're about to paste into a model, which is handy when you're stacking several pages into one prompt.
Frequently Asked Questions
How do I convert an image to Markdown?
Upload the picture above and the recognised text is returned with Markdown structure applied. Supports JPG, JPEG, PNG, GIF, BMP, TIFF, TIF and WebP, up to 50 MB, free and without an account. The output is .md you can paste into a README, a doc site, or a model prompt.
When is Markdown actually better than plain text for an image?
When the picture has a shape. A screenshot of a paragraph converts identically either way — there is no hidden structure in prose for Markdown to mark up. But a screenshot of a table, a form, a pricing grid or a page with headings has an arrangement worth keeping, and only Markdown can carry it. For flat prose, image to text is the simpler choice.
Does it recognise a table in a screenshot?
It attempts a pipe table, and the result tracks how clean the original is. Screenshots of real tables with visible gridlines and consistent column spacing usually reconstruct correctly. Tables where columns are separated only by generous whitespace, or where cells wrap onto two lines, are where column boundaries get guessed wrong — check the header row before trusting the numbers.
Can it handle a screenshot of code?
The characters come through, but treat the result as a draft. OCR has no concept of syntax, so it will not notice that it read 0 where the source had O, or dropped a level of indentation in a Python block. Fine for a stack trace you want to search. Not something to paste into a file and run.
Are the images themselves embedded in the Markdown?
No — the output is the text found inside the picture, not an  reference to the picture. Nothing is uploaded to a CDN and no image links are generated, so the Markdown is self-contained plain text with no external dependencies.
The Rest of the Toolkit
Images are one of thirteen formats handled here. File2Txt takes any of them if you'd rather not choose a page first. For code there's the GitHub repository to text converter and a local directory converter for a folder on your own machine, and the guide to preparing files for LLMs covers the general case in more depth.
Repo2Txt is built and maintained by v12hero, an independent developer building privacy-first native and web apps.