ZIP to Markdown: Convert a Whole Archive in One Upload
If you've exported a Notion workspace, a folder of reports, or a batch of scanned contracts, what you're holding is usually a single .zip file with a dozen different formats mixed together inside it. Unzipping it, sorting the files by type, and converting each one separately is the kind of busywork that eats an afternoon. file2markdown skips that step: drop the ZIP straight onto the converter and it extracts, converts, and reassembles every supported file inside into one Markdown document.
Quick Answer
- Don't unzip anything. Go to the converter and upload the
.zipfile directly, the same way you'd upload a single PDF. - file2markdown opens the archive internally, converts each supported file it finds, and skips the ones it can't handle.
- You get back one Markdown document, with each converted file under its own
## File: <name>heading, in the order the archive stored them.
No separate downloads to collect, no manual matching of filenames to converters.
What Happens Inside the ZIP
Every file inside the archive is converted using the same engine as its standalone converter page: a .pdf goes through the PDF converter, a .docx goes through the DOCX converter, a .csv becomes a Markdown table, and so on for every format file2markdown accepts: PDF, DOCX, PPTX, XLSX/XLS, CSV, JSON, XML, HTML/HTM, EPUB, JPG/PNG, WAV/MP3, MSG/EML, and .ipynb. Plain .txt and .md files inside the archive pass through unchanged.
Anything else, an .exe, a .psd, a stray .ds_store, is silently skipped rather than causing the whole conversion to fail. Folders inside the ZIP are walked too, so you don't need to flatten the structure first.
Three details worth knowing before you upload:
- Nested ZIPs work, up to three levels deep. If your export contains a ZIP inside a ZIP (common with some backup tools), file2markdown unpacks each layer.
- Password-protected ZIPs are rejected. The converter can't open an encrypted archive, so remove the password before uploading.
- The usual per-format rules still apply inside the archive. A scanned PDF inside your ZIP still needs Pro for OCR, and the archive still counts against your plan's file-size limit (25MB free, 100MB Pro) as a single upload.
Real Workflows This Solves
A Notion export. Notion's workspace export produces a ZIP of HTML pages (plus CSV for any databases). Upload the ZIP as-is and get one Markdown document back instead of converting each exported page by hand. See our full Notion to Markdown guide if you want the export settings that give you the cleanest source files first.
An Evernote export. Evernote's HTML export also comes zipped. Our Evernote to Markdown guide walks through unzipping it to find the .html files; if the archive only contains HTML (no unsupported formats like .enex), you can skip that step and upload the ZIP directly.
A folder of research PDFs or reports. If a colleague zips up a shared drive folder before sending it over, you can hand the whole ZIP to file2markdown rather than downloading and converting each PDF individually.
A set of Jupyter notebooks. If you're preparing several .ipynb files for an LLM, as covered in our Jupyter Notebook to Markdown guide, zipping them up first is the fastest way to convert the whole set in one pass.
Bulk documents for a RAG pipeline. Once you have one combined Markdown document, it's ready for semantic chunking. Our guide on chunking Markdown for vector databases covers how to split the per-file sections into retrieval-friendly chunks.
Automating It
If you want this as part of a script instead of a manual upload, the MCP server accepts a ZIP the same way it accepts any other file: base64-encode it and call convert_base64 with a filename ending in .zip, or point convert_url at a hosted ZIP file. A ZIP counts as one file, so this works even on the free anonymous tier (5 conversions/day, 10MB base64 limit); it isn't the same as the 10-files-at-once batch upload in the Pro web app, which MCP doesn't support. There's no REST API or SDK: MCP is the only programmatic surface, and it works directly inside Claude, Cursor, or any other MCP client.
Frequently Asked Questions
Does the ZIP have to contain only one type of file?
No. A single archive can mix PDFs, spreadsheets, HTML pages, and images, and file2markdown converts each one with the matching engine. Everything comes back combined into one Markdown document, in the order the archive lists the files.
What happens to files the converter can't handle?
They're left out of the result without stopping the rest of the conversion. If your ZIP is mostly unsupported formats (.psd design files, .exe installers, and so on), check the accepted list on the converter page before uploading, since none of those will appear in the output.
Is there a limit on how many files can be in the ZIP?
Yes: up to 1,000 files per archive, nested at most three levels deep. These caps exist to stop a maliciously compressed file (a "ZIP bomb") from expanding to an unreasonable size; ordinary exports and project folders stay well under them.
Can scanned PDFs or photos inside the ZIP be OCR'd?
Yes, the same rules as standalone files apply: scanned PDFs and image files get OCR on Pro; on the free plan they convert but skip OCR. The ZIP itself still has to fit your plan's file-size limit (25MB free, 100MB Pro).
The Markdown Memo
A fortnightly note for lawyers, researchers, accountants, and anyone else drowning in PDFs, scans, and decks. No spam.