Docs to Markdown for AI (Word, Excel, PowerPoint, PDF) avatar

Docs to Markdown for AI (Word, Excel, PowerPoint, PDF)

Pricing

from $4.00 / 1,000 document converteds

Go to Apify Store
Docs to Markdown for AI (Word, Excel, PowerPoint, PDF)

Docs to Markdown for AI (Word, Excel, PowerPoint, PDF)

Convert DOCX, XLSX, PPTX, PDF, HTML and CSV to clean Markdown for LLMs, RAG and knowledge bases. Keeps headings, lists and tables; optional chunking with heading paths. Pay per document.

Pricing

from $4.00 / 1,000 document converteds

Rating

0.0

(0)

Developer

K09 Tools

K09 Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Docs to Markdown for AI: DOCX, XLSX, PPTX & PDF to Markdown

A document to Markdown converter built for LLMs: Word to Markdown (DOCX), Excel to Markdown (XLSX), PowerPoint to Markdown (PPTX), PDF to Markdown, HTML and CSV. Use it to prepare documents for RAG pipelines, vector databases, LangChain or LlamaIndex, ChatGPT or Claude knowledge bases, and chatbots, or simply to get clean text out of Office files. No setup or libraries to install: pay per document, with built-in chunking.

Converting a single Word file by hand? Use the free browser version: K09 Word to Markdown. This Actor handles all formats in bulk, with chunking and API access.

Supported formats

FormatWhat you get
Word (.docx)Headings, paragraphs, bold/italic, lists, links and tables. Images are replaced by their alt text.
Excel (.xlsx)One ## section per visible sheet, each as a Markdown table. Formula results, dates as ISO (2026-09-01), empty columns removed.
PowerPoint (.pptx)One ## Slide N: Title section per slide in presentation order, with nested bullets, tables and speaker notes.
PDFText in reading order, tables as Markdown tables, <!-- page N --> markers.
HTMLMain content as Markdown. Scripts, styles, navigation and footers are removed.
CSV / TSVA Markdown table (delimiter detected automatically).
Markdown / TXTPassed through, cleaned up.

The format is detected from the file itself, so misnamed files still work.

RAG-ready chunking

Set Chunk size (for example 2000) to also get each document split into chunks of at most that many characters. Chunks are cut at headings first, then paragraphs, and each one carries its heading path (Guide > Setup > Step 2) so your embeddings keep their context. Chunks appear in the dataset's Chunks (RAG) view.

How to use

  1. Upload a file, or paste one or more links to documents you have the right to use.
  2. Optional: set a chunk size.
  3. Run it. Leave the input empty to try it free on a built-in sample.

Output

One dataset row per document:

{
"fileName": "review.pptx",
"format": "pptx",
"title": "Quarterly Review",
"markdown": "## Slide 1: Quarterly Review\n\nQ3 2026\n\n## Slide 2: Highlights\n\n- Revenue up 12%\n - Driven by new customers ...",
"wordCount": 41,
"pageCount": 3,
"pagesConverted": 3,
"markdownUrl": "https://api.apify.com/v2/key-value-stores/.../records/doc1.md",
"chunks": [{ "index": 0, "headings": "Slide 1: Quarterly Review", "text": "..." }]
}

Each document is also saved as a .md file you can download.

Pricing

  • Document converted: one charge per file, which includes up to 20 pages (PDF) or slides (PPTX).
  • Extra page: each PDF page or slide beyond the first 20.

Failed files (broken links, unsupported types) are free. If you set a maximum cost for the run, the Actor converts as many pages as it covers and marks the document truncated.

Limitations

  • Old binary formats (.doc, .xls, .ppt) aren't supported. Save them as .docx/.xlsx/.pptx first.
  • No OCR. Scanned PDFs and text inside images aren't extracted.
  • Charts, SmartArt and embedded images are skipped. Their alt text is kept where available.
  • Maximum file size: 50 MB.

Privacy

Files are processed only inside your own run, and the output stays in your run's storage.

Use it from code or AI agents

Every run can be started from the API, and results come back as JSON, CSV or Excel. Replace YOUR_APIFY_TOKEN with the token from Apify Console → Settings → API & Integrations.

cURL (runs the Actor and returns the results in one call):

curl -X POST "https://api.apify.com/v2/acts/k09~docs-to-markdown/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fileUrls":["https://example.com/handbook.docx"],"chunkMaxChars":2000}'

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("k09/docs-to-markdown").call(run_input={
"fileUrls": [
"https://example.com/handbook.docx"
],
"chunkMaxChars": 2000
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('k09/docs-to-markdown').call({
"fileUrls": [
"https://example.com/handbook.docx"
],
"chunkMaxChars": 2000
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

No-code and AI agents: the Actor works with Apify's Zapier, Make and n8n integrations, can run on a schedule from the Console, and can be used as a tool by AI agents through Apify's MCP server (see Apify's MCP documentation).