Skip to content

PDF to Markdown converter

PDF to Markdown uses our document extractor when a text layer exists, then switches to Deep Read only when the PDF appears to have no selectable text.

  • Converted with Document extractor · input deleted within 24 h
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Text layer Kept

    Selectable text is extracted in reading order when the PDF text layer is coherent.

  • Scanned text Changed

    PDFs without a text layer can use Deep Read; OCR may need review on faint scans and handwriting.

  • Headings Changed

    Our document extractor infers Markdown headings from font-size heuristics, so small caps or styled labels may become plain text.

  • Tables Changed

    Many PDF tables flatten to aligned lines or tab-separated-looking text instead of valid GFM tables.

  • Images Lost

    Images and diagrams are dropped in the document extractor path; Deep Read may describe or transcribe visible text but does not embed image files.

  • Footnotes Changed

    Footnote text is extracted near the page where it appears, not linked as Markdown footnotes.

  • Page headers Changed

    Running headers and footers can appear repeatedly because they are real text in the PDF layer.

Sample conversions

Analyst PDF with tables

Input
14-page digital analyst report with selectable text, two columns, five small tables, chart captions, and page footers.
Output
Markdown kept the report text and most headings. Tables became line groups rather than pipe tables, chart images were absent, and the footer appeared after several pages.

Scanned meeting packet

Input
7-page scanned agenda packet with centered headings, handwritten ticks, and a printed attendance table.
Output
Auto detection routed it to Deep Read. Headings and paragraphs were usable Markdown, ticks were ignored, and the attendance table needed manual pipe alignment.

Software whitepaper

Input
10-page PDF whitepaper with code snippets, sidebars, numbered sections, and inline screenshots.
Output
Main text and section numbers were extracted. Code indentation was partly preserved, sidebars interrupted the reading order, and screenshots were dropped.

A real PDF → Markdown run

We converted our PDF sample (21 KB) with Document extractor on 2026-09-11. It took 64 ms and produced a 426 B Markdown file, 98% smaller than the input. The engine raised no warnings.

Input · sample.pdf · 21 KB

PDF 1.7, 2 pages, selectable text (LibertinusSerif-Bold-Identity-H, LibertinusSerif-Bold, LibertinusSerif-Regular-Identity-H, LibertinusSerif-Regular), 0 image objects

Version
1.7
Pages
2
Fonts
LibertinusSerif-Bold-Identity-H, LibertinusSerif-Bold, LibertinusSerif-Regular-Identity-H, LibertinusSerif-Regular
Images
0
Text layer
yes

Output · sample.md · 426 B

0 headings, 0 tables, 2 list items, 0 code blocks, 0 image references

Headings
0
Tables
0
List items
2
Code blocks
0
Images
0
Lines
18

First lines of the output

md
Feedback Atlas — Q3 activity trail
Prepared for: Board of Directors · 12 Sep 2026

Headline numbers

Metric

ARR

Q2

Q3

$4.1M $4.9M

Net revenue retention

108%
…

Is your file a scan?

A scanned PDF usually fails text selection, has image-heavy file size per page, and our detector flags no text layer. Deep Read costs 1 credit/page. Clean 300 dpi scans are very readable; faded, skewed, handwritten, or low-contrast pages are less reliable, and dense tables should be reviewed against the original.

Options and when to change them

language
Set when Deep Read is needed for a scan in a known language; our document extractor text-layer extraction does not need OCR language hints.
layout
Use flow for readable Markdown paragraphs; use keep when line position matters for forms or tables.

Do it yourself

MarkItDown

bash
markitdown file.pdf > file.md

This matches the text-layer path and does not OCR scanned pages.

pdftotext

bash
pdftotext -layout in.pdf out.txt

Produces layout-oriented plain text, not Markdown headings or lists.

ocrmypdf + MarkItDown

bash
ocrmypdf in.pdf searchable.pdf
markitdown searchable.pdf > file.md

OCR adds a text layer, but table structure still depends on extraction heuristics.

PDF to Markdown by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Document extractor); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=pdf&to=md.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.pdf" -F "from=pdf" -F "to=md" \
  --output output.md
API reference

When this is the wrong conversion

  • If you need editable Word formatting, use PDF to DOCX instead of Markdown.
  • If the target is archival reading, keep the PDF; Markdown will not preserve page layout.
  • If your main goal is table extraction, use an extract-table-from-pdf workflow and review the table output.

PDF to Markdown questions

Does PDF to Markdown OCR scans automatically?

It uses our document extractor for PDFs with a text layer and can switch to Deep Read when the detector finds no text layer.

Why are my tables not pipe tables?

PDF tables are positioned text, not table objects. Our document extractor often emits the visible lines rather than reconstructing Markdown table syntax.

Will images be saved next to the Markdown?

No. The document extractor PDF path drops images. Use DOCX or HTML if image placement matters.

Why do headers repeat in the Markdown?

Running headers and footers are part of the PDF text layer, so extraction sees them on each page unless they are filtered later.