✓ Verified
💻 Development
✓ Enhanced Data
File To Markdown
Convert files into **clean, structured, AI-ready Markdown** using the `markdown.new` API powered by
- Rating
- 4.5 (63 reviews)
- Downloads
- 604 downloads
- Version
- 1.0.0
Overview
Convert files into **clean, structured, AI-ready Markdown** using the `markdown.new` API powered by **Cloudflare.
Complete Documentation
View Source →File to Markdown — Skill
Overview
Convert files into clean, structured, AI-ready Markdown using themarkdown.new API powered by Cloudflare Workers AI toMarkdown().
Supports 20+ formats including documents, spreadsheets, images, and structured data.
No authentication required (500 requests/day per IP).
When to Use This Skill
Use this skill whenever you need to:- Extract text from files for LLM processing
- Convert PDFs or Office files into Markdown
- Normalize data into structured text
- Process uploaded user files
- Scrape webpage content into Markdown
- Convert images into AI-generated descriptions + content
- RAG ingestion pipelines
- Knowledge base creation
- Document summarization
- Dataset extraction
- Spreadsheet analysis
- OCR-like extraction from images
Supported Formats
Documents
.pdf
.docx
.odt
Spreadsheets
.xlsx
.xls
.xlsm
.xlsb
.et
.ods
.numbers
Images
.jpg
.jpeg
.png
.webp
.svg
Text & Structured Data
.txt
.md
.csv
.json
.xml
.html
.htm
- Image conversion uses AI object detection + summarization.
- HTML URL conversion uses a web page pipeline.
- Uploaded HTML uses Workers AI conversion.
API Base URL
``
https://markdown.new
`
Endpoints
1️⃣ Convert Remote File (Simple GET)
Returns plain Markdown text.
`
GET /:file-url
`
Example:
`bash
curl -s "https://markdown.new/https://example.com/report.pdf"
`
2️⃣ Convert Remote File (JSON Response)
Returns metadata + Markdown.
`
GET /:file-url?format=json
`
Example:
`bash
curl -s "https://markdown.new/https://example.com/report.pdf?format=json"
`
3️⃣ Convert Remote File via POST
Use when you want structured JSON response.
`
POST /
Content-Type: application/json
`
Body:
`json
{
"url": "https://example.com/report.pdf"
}
`
Example:
`bash
curl -s https://markdown.new/ \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/report.pdf"}'
`
4️⃣ Upload Local File
Use when file is not publicly accessible.
`
POST /convert
multipart/form-data
`
Example:
`bash
curl -s https://markdown.new/convert \
-F "[email protected]"
`
Response Formats
URL Conversion Response
`json
{
"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
}
`
Upload Conversion Response
`json
{
"success": true,
"data": {
"title": "Q4 Report",
"content": "# Q4 Report\n\n...",
"filename": "report.xlsx",
"file_type": ".xlsx",
"tokens": 1250,
"processing_time_ms": 320
}
}
`
Best Practices for AI Agents
Prefer GET for Simple Workflows
Use:
`
GET /:url
`
When:
- You only need Markdown text
- Speed is important
- No metadata required
Prefer POST for Structured Pipelines
Use POST when:
- Metadata is needed
- Token counts are required
- Monitoring or logging is implemented
- Building automation workflows
File Upload Strategy
Use /convert only if:
- File is local
- File is private
- File requires authentication to access
Otherwise always prefer URL conversion.
Error Handling Strategy
Agents should:
- Check
"success": true
- Retry once if network failure
- Validate content length > 0
- Fallback to alternate extraction if needed
Rate Limits
- 500 requests/day per IP without API key
- No signup required
Agents should:
- Cache results when possible
- Avoid duplicate conversions
Integration Examples
JavaScript (Node.js)
`js
const res = await fetch("https://markdown.new/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
url: "https://example.com/file.pdf"
})
});
const data = await res.json();
console.log(data.content);
`
Python
`python
import requests
res = requests.post(
"https://markdown.new/",
json={"url": "https://example.com/file.pdf"}
)
data = res.json()
print(data["content"])
``
Agent Decision Tree
If user provides: | Input Type | Action | | --------------- | ---------------------- | | Public file URL | Use GET or POST | | Local file | Use POST /convert | | Image | Convert then summarize | | Spreadsheet | Convert then analyze | | Webpage | Convert URL HTML |Output Expectations
The Markdown should be:- Clean
- Structured
- AI-friendly
- Minimal noise
- Ready for LLM ingestion
Limitations
- Complex PDF layouts may lose formatting
- Large spreadsheets may be truncated
- Images rely on AI interpretation accuracy
- Token limits may apply
Summary
This skill provides a universal file-to-Markdown conversion layer for AI systems with:- No authentication
- Simple HTTP interface
- Multi-format support
- Structured output
- Fast processing
Installation
Terminal bash
openclaw install file-to-markdown
Copied!
Tags
#devops_and-cloud
#api
Quick Info
Category Development
Model Claude 3.5
Complexity One-Click
Author alaminrifat
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
Ready to Install?
Get started with this skill in seconds
openclaw install file-to-markdown
Related Skills
✓ Verified
💻 Development
4claw
4claw — a moderated imageboard for AI agents.
🧠 Claude-Ready
)}
★ 4.4 (118)
↓ 4,990
v1.0.0
✓ Verified
💻 Development
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
🧠 Claude-Ready
)}
★ 4.3 (89)
↓ 4,621
v1.0.0
✓ Verified
💻 Development
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
⚡ GPT-Optimized
)}
★ 3.8 (274)
↓ 17,648
v1.0.0
✓ Verified
💻 Development
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
🧠 Claude-Ready
)}
★ 4.7 (88)
↓ 1,625
v1.0.0