PDF to Markdown converter
Convert a PDF text layer into editable Markdown on your device. Frisqoo infers headings, lists, paragraphs, code blocks, and simple tables, then lets you review the result before copying or downloading it. Processing runs locally in your browser. Frisqoo does not upload the source file for processing.
100% private. Your files are processed entirely in your browser and never uploaded.
Why convert PDF to Markdown with frisqoo
Local processing
The PDF is read on your device. Frisqoo does not upload the source file for this conversion.
Structured output
Font size, weight, spacing, and position help identify headings, paragraphs, lists, code, and simple tables.
Editable Markdown
Review and edit the generated Markdown before copying it or saving the .md file.
Column handling
Two-column text pages are read by column when the layout can be identified from consistent coordinates.
Batch conversion
Convert up to 20 PDFs and download each Markdown file or one ZIP containing the successful results.
Bounded work
Each file is limited to 50 MB and 300 pages, and pages are processed in sequence to control memory use.
How to convert PDF to Markdown
- Add one PDF for an editable preview, or choose several PDFs for batch conversion.
- Keep Structured for inferred Markdown, or choose Plain for lightly processed lines.
- Review the Markdown, then use Copy Markdown or Download .md.
A file with selectable text works best. Run image-only scans through OCR PDF first.
What becomes Markdown
A PDF describes where marks are drawn on a page. It does not normally contain the same document outline that a Markdown file needs. Frisqoo rebuilds a useful outline from the text layer instead of treating every line as an unrelated string.
- Paragraphs joined from nearby lines in the same reading flow
- Headings inferred from larger or heavier text
- Bullet lists and numbered lists found at the start of a line
- Fenced code blocks when the PDF identifies a monospaced font
- Simple tables with repeated, aligned columns
- Exact page design, fonts, colours, backgrounds, and decorative shapes
- Pictures, chart artwork, handwritten notes, and words stored only inside images
- Guaranteed reading order for every magazine, brochure, or nested layout
Choose structured or plain output
Structured is the default. It adds Markdown syntax when the page gives enough evidence to identify a heading, list, code block, or table. It also joins nearby prose lines into paragraphs and repairs words split with a hyphen at a line break when the next line starts with a lowercase letter.
Plain keeps the detected reading order but does not add inferred structure. It is useful for unusual reports, forms, and heavily designed files where you would rather format the result yourself. Switching the mode updates the result in the workspace without reading the PDF again.
How repeated page furniture is handled
Reports often repeat a short document name, date, page number, or confidentiality label on every page. With Remove repeating headers and footers enabled, Frisqoo looks only near the outer page edges and removes short matching lines that occur across at least three pages. This conservative rule avoids treating a one-off title as page furniture.
Turn the option off when a repeated line carries information you need. You can also enable Add page comments. The comments mark boundaries without appearing as visible prose in most Markdown viewers.
Reading order and tables
Ordinary single-column documents follow top-to-bottom reading order. When a page contains two consistent text columns, the converter reads the left column before moving to the right. Full-width titles above the columns stay first. This avoids alternating between two unrelated sentences on the same horizontal line.
Simple tables are identified from repeated column starts across at least three rows. The first row becomes the Markdown header. A two-column block must also look like structured values before it becomes a table, which reduces the chance of turning normal prose columns into rows and cells. Merged cells, nested tables, and complex financial layouts can still need manual correction.
Review the result before publishing it
The Markdown box is editable because conversion is an informed reconstruction, not a source-format guarantee. Check heading levels, list boundaries, table headers, hyphenated words, and the order of sidebars or callouts before using the file in documentation, a knowledge base, or an automated workflow.
Pay particular attention to documents that mix portrait and landscape pages, place captions far from their pictures, use several small columns, or draw tables without regular alignment. Mathematical notation, footnote links, page references, and text positioned inside diagrams may need manual markup. The original PDF stays visible beside the result so you can compare the two without reopening the file elsewhere.
If a conversion will feed a search index, retrieval system, or language model, review a representative sample before processing a large batch. Confirm that section names, lists, and tables mean the same thing after conversion. Markdown makes the structure easier to process, but it cannot restore meaning that the PDF never encoded.
Local processing and active content
The tool accepts files chosen from your device. It does not accept a PDF URL, fetch linked resources, follow document links, open attachments, or run document actions. PDF.js reads the supplied bytes with dynamic evaluation disabled, and the Markdown preview is an editable text box rather than rendered document HTML.
Links written as text remain text in this release. Embedded files, JavaScript actions, videos, and interactive widgets are not copied into the Markdown output. This reduces the active-content surface and keeps the result predictable. It does not prove that every PDF is harmless, so the parser and its dependencies still need routine security updates and regression tests.
Performance on desktop and mobile
PDF.js loads only when you start the tool. Text is then read one page at a time, and finished page objects are cleaned up instead of keeping every rendered page in memory. Changing the output options reuses the extracted page data, so switching between structured and plain output does not parse the PDF again.
Small text PDFs usually finish quickly. Image-heavy files, complex fonts, long tables, and large page counts take more work, even when the images themselves are not exported. The 50 MB, 300 page, and 20 file limits prevent unbounded jobs, but available memory and speed still vary by browser and device. Keep the tab open until a batch finishes.
Scans, damaged files, and dynamic forms
An image-only scan contains pixels rather than characters. If the file has no usable text layer, Frisqoo stops and offers OCR PDF as the next step. It does not invent Markdown from an empty extraction.
Dynamic XFA forms are also refused. Their visible fields are assembled by Adobe software and may not exist as normal page text. A damaged PDF that PDF.js cannot parse returns an error rather than a partial download. If the file is repairable, try Repair PDF before converting it.
Batch output and filenames
A single PDF opens in the editor with its pages on the left and editable Markdown on the right. A file named report.pdf downloads as report.md. For a batch, each successful PDF keeps its base filename, and Download all as ZIP saves the set as frisqoo_pdf-to-markdown.zip.
Files are processed in sequence rather than rendering the whole batch at once. Up to 20 PDFs can be selected, with a 50 MB and 300 page limit for each file. Those limits make failures predictable and reduce memory pressure, but actual speed still depends on the document and the available device memory.
FAQs about PDF to Markdown converter
How do I convert a PDF to Markdown?
Add a PDF above. Frisqoo reads its existing text layer and creates Markdown in your browser. Review the result, then use Copy Markdown or Download .md.
Does Frisqoo upload my PDF?
No. Processing runs locally in your browser. Frisqoo does not upload the source file for processing. The tool accepts a file from your device rather than a document URL.
What does structured output preserve?
Structured output infers paragraphs, headings, bullet and numbered lists, fenced code blocks, and simple tables from the PDF text layer. It does not promise an exact copy of the page design.
What is plain output?
Plain output keeps the readable lines without adding inferred Markdown headings, lists, tables, or code fences. Use it when the PDF has an unusual layout or you want to format the result yourself.
Can it convert a scanned PDF?
Not until the scan has a text layer. Run the file through OCR PDF first, then bring the searchable result back here.
Can it remove page headers and footers?
Yes. Remove repeating headers and footers is on by default. It removes short lines repeated near the top or bottom of at least three pages. Turn it off if those lines matter.
Can it mark page boundaries?
Yes. Turn on Add page comments to add an HTML comment such as <!-- Page 2 --> before each page. Markdown viewers hide the comment, while editors can still find it.
Can I convert several PDFs at once?
Yes. Add up to 20 PDFs. Each successful conversion becomes its own .md file, and the set can be downloaded as frisqoo_pdf-to-markdown.zip.
What are the file limits?
Each PDF can be up to 50 MB and 300 pages, with up to 20 files in one batch. The limits keep memory use bounded on current desktop and mobile browsers.
Does it preserve images and charts?
No. This release converts the readable text structure. Words inside images need OCR, and pictures, chart artwork, page backgrounds, and exact visual placement are not written into the Markdown file.
Does it work with password-protected PDFs?
If the PDF needs an open password, Frisqoo asks for it and unlocks the file locally before conversion. It cannot recover an unknown strong password. Dynamic XFA forms are refused because their visible fields are not stored as a normal page text layer.
Why can columns or tables need edits?
A PDF stores positioned drawing instructions rather than a document outline. Frisqoo uses coordinates, font sizes, and spacing to infer reading order and simple tables, but a complex magazine layout or nested table may still need a quick edit.