File to Markdown
Convert any file to clean, AI-ready Markdown. Paste a file URL or upload directly. Powered by Cloudflare Workers AI toMarkdown().
20+ file formats
URL or upload
No signup required
Supports:
.pdf .docx .xlsx .jpg .png .csv .json and more. Max 10 MB, 30s timeout.
Drop a file here or click to browse
Max 10 MB · PDF, DOCX, XLSX, images, CSV, JSON, TXT, XML & more
API Reference
No API key required. Convert files programmatically with simple HTTP requests.
GET
/:file-url
Pass a remote file URL in the path. Returns plain Markdown text.
curl -s 'https://markdown.new/\
https://example.com/report.pdf'
POST
/
Send a remote file URL as JSON. Returns JSON with metadata and tokens.
curl -s 'https://markdown.new/' \
-H 'Content-Type: application/json' \
-d '{"url": "https://example.com/report.pdf"}'
GET
/:file-url?format=json
Same as GET but returns JSON instead of plain Markdown.
curl -s 'https://markdown.new/\
https://example.com/data.xlsx?format=json'
POST
/convert
Upload a local file from disk. Use when you don’t have a public URL.
curl -s 'https://markdown.new/convert' \
-F 'file=@document.pdf'
500 requests/day per IP without an API key. POST /convert is only needed for local file uploads — for remote files, use POST / or GET /:url.
What You Get Back
Clean Markdown with metadata. URL-based and upload conversions return slightly different JSON shapes.
{
"success": true,
"url": "https://example.com/report.pdf",
"title": "Quarterly Report",
"content": "# Quarterly Report\n\n...",
"method": "Workers AI (file)",
"duration_ms": 1200,
"tokens": 850
}
{
"success": true,
"data": {
"title": "Q4 Report",
"content": "# Q4 Report\n\n...",
"filename": "report.xlsx",
"file_type": ".xlsx",
"tokens": 1250,
"processing_time_ms": 320
}
}
Supported Formats
Powered by Cloudflare Workers AI toMarkdown(). New formats added regularly.
Documents
.pdf .docx .odt
Spreadsheets
.xlsx .xls .xlsm .xlsb .et .ods .numbers
Images
.jpg .jpeg .png .webp .svg
Text & Data
.txt .md .csv .json .xml .html .htm
Images use AI models for object detection and summarization. .html/.htm uploads are converted via Workers AI; URL .html uses the web page pipeline.
Frequently Asked Questions
Everything you need to know about file conversion.
What file formats can I convert?
PDF, DOCX, XLSX, images (JPEG, PNG, WebP, SVG), HTML, XML, CSV, JSON, ODS, ODT, Apple Numbers, and plain text files. Over 20 formats supported via Cloudflare Workers AI
toMarkdown().Can I convert a file by URL without uploading?
Yes! Paste a direct file URL (e.g.
https://example.com/report.pdf) in the URL tab or use the API: curl https://markdown.new/https://example.com/report.pdf. The file is fetched and converted automatically.Do I need an API key?
No. All endpoints work without authentication, subject to IP-based rate limits (500 requests/day). API keys are optional and provide higher monthly limits. Pass via
Authorization: Bearer mk_... header or ?api_key=mk_... query parameter.What is the maximum file size?
Files up to 10 MB are supported for both upload and URL-based conversion. URL-based fetches have a 30-second timeout.
How does image conversion work?
Images are processed by Workers AI models that perform object detection and generate a text description of the visual content. The result is returned as Markdown text.
Are my files stored or shared?
No. Files are processed in memory on Cloudflare’s edge network and discarded immediately after conversion. Nothing is stored, cached, or logged. The conversion happens entirely within the Worker request lifecycle.
What does the token count mean?
The
tokens field is an estimated count of tokens in the converted Markdown, useful for LLM context window budgeting. It’s also returned in the x-markdown-tokens response header.