PDF to Markdown with Page Numbers – Tables, RAG Chunks
Pricing
$0.50 / 1,000 page converteds
PDF to Markdown with Page Numbers – Tables, RAG Chunks
Convert PDF URLs to clean Markdown with page numbers for citations. Headings, lists, real Markdown tables, 2-column reading order, metadata and RAG chunks that keep their page range. Scanned pages are flagged "needs OCR" and never charged. $0.50 per 1,000 pages.
Pricing
$0.50 / 1,000 page converteds
Rating
0.0
(0)
Developer
Ryu Moon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
PDF to Markdown with Page Numbers – Tables, RAG Chunks
Turn PDF links into clean Markdown that an LLM, a RAG pipeline or Obsidian can use straight away, and that you can cite back to the exact page.
- 📄 Page numbers everywhere. Every page starts with
<!-- page 3 -->in the Markdown, per-page rows carrypage, and every RAG chunk carriespageStart,pageEndand a ready-madecitation("Annual Report 2024, pp. 12-13"). - 📊 Real Markdown tables. Ruled tables and aligned number columns (financial statements, statistics tables) come out as
| a | b |tables, not jumbled lines. - 📰 Two-column papers read in the right order. Left column first, then right, with the title block and full-width figures kept in place.
- 🧱 Structure kept. Headings from font size and numbering (
#,##,###), bullet and numbered lists, paragraphs re-joined across line breaks, hyphenated words repaired, running headers, footers and page numbers removed. - 🧩 RAG chunks built in. Choose chunk size and overlap; chunks break at headings, paragraphs and sentences, tables are split by rows with the header repeated.
- 🔍 Honest about scans. Image-only (scanned) pages are flagged
needs_ocrwith their page numbers. We never invent text, and those pages are free. - 💸 Pay per page converted, nothing else. No start fee, no per-PDF fee. Failed downloads, scanned pages and blank pages cost nothing.
What you get
| Output format | One row per | Key fields |
|---|---|---|
document (default) | markdown (with page markers), metadata (title, author, subject, keywords, creator, producer, dates), pageCount, textPages, needsOcrPages, tables, markdownFileUrl (.md download), optional pages array and plain text | |
pages | page | page, status (text / needs_ocr / empty / unreadable_text), markdown, headings, tables, citation |
chunks | chunk | text, pageStart, pageEnd, pages, headings (section path), tokenEstimate, citation, chunkIndex |
Example chunk (from a real run on the BERT paper, shortened):
{"citation": "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, p. 1","pageStart": 1, "pageEnd": 1,"headings": ["BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding", "1 Introduction"],"tokenEstimate": 351,"text": "## 1 Introduction\n\nLanguage model pre-training has been shown to be effective for improving many natural language processing tasks ..."}
Example table (from a real run on Apple's 2023 Form 10-K, page 31, shortened):
<!-- page 31 -->## CONSOLIDATED STATEMENTS OF OPERATIONS| | 2023 | 2022 | 2021 ||---|---|---|---|| Net sales: | | | || Products | $298,085 | $316,199 | $297,392 || Services | 85,200 | 78,129 | 68,425 || Total net sales | 383,285 | 394,328 | 365,817 |
How to use it
- Paste direct PDF links into PDF URLs (arXiv
/abs/pages, Google Drive file links and Dropbox share links are converted automatically). - Pick an Output format: whole document, one row per page, or RAG chunks.
- Optional: a Page range like
1-5, 8, 12-to convert (and pay for) only those pages. - Run, then download JSON, CSV or Excel, or call it from the API, Make, Zapier, n8n, LangChain or LlamaIndex.
Pricing
$0.50 per 1,000 pages converted (page event, $0.0005 each). A 15-page paper costs $0.0075, a 100-page report $0.05. No start fee and no per-PDF fee. Pages flagged needs_ocr, blank pages, pages outside your page range and PDFs that fail to download or open are never charged. Set a maximum cost per run in Apify and the Actor stops cleanly when it is reached; Max pages per PDF (default 20) also caps what one document can cost.
Limits (please read)
- No OCR. Scanned or image-only pages are reported as
needs_ocrwith their page numbers and are not charged. Run those through an OCR tool. - Layout is detected heuristically (PDFs carry no real structure): headings come from font sizes and numbering, tables from ruling lines and aligned columns. Dense multi-level tables, maths, chart labels and very designed layouts can come out flatter. Pages with three or more columns are read as one column. Rotated or upside-down text (e.g. labels in figures) is skipped and counted in
rotatedCharsSkipped. - Size and time: 100 MB per file and 20 pages per PDF by default (raise up to 500 MB / 5,000 pages), 300 s per PDF. 1 GB handled every test PDF (largest peak about 420 MB); keep Parallel PDFs at 1 on 1 GB.
- Links must point at the PDF file itself, not a web page that shows it. You get a clear
NOT_A_PDFrow if not. - Use it on documents you're allowed to process: public or your own business documents. It doesn't bypass logins, paywalls or DRM. Password-protected PDFs work only if you supply the password.
Errors are rows, not crashes
Every PDF that can't be converted still gets a row with status: "failed", an errorCode (HTTP_404, NOT_A_PDF, TOO_LARGE, ENCRYPTED, TIMEOUT, PARSE_ERROR, BAD_PAGE_RANGE, OUT_OF_MEMORY) and a plain-English error. Fully scanned PDFs get status: "needs_ocr".
FAQ
Why page markers as HTML comments? They're invisible when the Markdown is rendered but easy to find with code or by an LLM, so answers can quote "page 12".
How big are chunks? chunkSize is in characters (about 4 characters per token, so the default 1,500 is roughly 375 tokens). Overlap repeats whole sentences from the end of the previous chunk, never across a new section heading.
Can it read tables from annual reports? Yes for most statement-style tables (labels on the left, numbers in columns) and any ruled table. Very wide multi-level tables may merge some header cells.
Related tools by Ryu Moon
- Website to Markdown for AI, LLM & RAG: the same clean Markdown for web pages.
- RSS Feed Converter: RSS, Atom and podcast feeds to JSON and Markdown.