SiteVerdict — Office Docs to Markdown for AI (DOCX, PPTX, XLSX) avatar

SiteVerdict — Office Docs to Markdown for AI (DOCX, PPTX, XLSX)

Pricing

Pay per event

Go to Apify Store
SiteVerdict — Office Docs to Markdown for AI (DOCX, PPTX, XLSX)

SiteVerdict — Office Docs to Markdown for AI (DOCX, PPTX, XLSX)

Convert DOCX, PPTX, XLSX/XLS/CSV, ODT/ODS/ODP, EPUB and HTML files (URLs or key-value store) into clean Markdown with headings and tables kept, plus RAG chunks, sheet JSON, speaker notes and metadata. Zip-bomb safe, no LLM needed.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Aman Thakran

Aman Thakran

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Turn Word, PowerPoint, Excel, OpenDocument, EPUB and HTML files into clean, LLM-ready Markdown — with headings, lists and tables intact — plus ready-to-embed RAG chunks. Deterministic, no AI guessing, no data sent to an LLM.

Most "document to Markdown" tools flatten tables into a wall of text, lose slide order, ignore speaker notes or choke on spreadsheets. This Actor converts each format with a purpose-built parser:

FormatWhat you get
DOCX (Word)headings (H1–H6 from Word styles), lists, bold/italic, links, real Markdown tables, footnotes, image alt text; title/author from document properties
PPTX (PowerPoint)## Slide N: Title in presentation order, bullets with indent levels, tables, picture descriptions, speaker notes
XLSX / XLS / ODS / CSVone Markdown table per sheet (formatted values, dates), hidden sheets skipped, optional rows as JSON keyed by header
ODT / ODP (LibreOffice)headings, lists, tables, footnotes, links; slides + notes
EPUBchapters in reading (spine) order, title/author/language, tables, image alt text
HTMLmain content only (menus, footers, cookie banners removed)
Markdown / textpassed through and chunked

Every document also gets word count, token estimate, SHA-256 hash, heading outline, heading-aware RAG chunks and an optional .md file in the key-value store.

Who it is for

  • RAG and AI-agent builders loading policy documents, decks and spreadsheets into a knowledge base.
  • Ops and compliance teams who need searchable Markdown copies of Word/Excel templates and policies.
  • Developers who want a "file in, Markdown out" API without running LibreOffice or Pandoc.

Three typical jobs

  1. Policy library → knowledge base: 300 DOCX policies → Markdown + 512-token chunks → feed SiteVerdict Vector DB Loader (dataset mode).
  2. Sales decks → searchable notes: PPTX with speaker notes → one Markdown file per deck, slide by slide.
  3. Excel → JSON: includeSheetJson: true gives each sheet's rows as JSON objects keyed by the header row.

Quick start

{
"documentUrls": [
{ "url": "https://assets.publishing.service.gov.uk/media/6644c166b7249a4c6e9d3558/School_music_development_plan_summary_template.docx" },
{ "url": "https://assets.publishing.service.gov.uk/media/5fb41673d3bf7f63da090f11/Discount_Factors.xlsx" }
]
}

Files you uploaded yourself: put them in a key-value store and pass keyValueStoreId + keyValueStoreKeys.

Before / after

PowerPoint slide (title "Fares", a 2×2 table, a picture with alt text, speaker notes) becomes:

## Slide 2: Fares
| Route | Fare |
| --- | --- |
| LHR-SYD | £2,100 |
[Image: Map of routes]
> **Speaker notes:** Mention the Sydney launch.

Output (one dataset item per document)

{
"source": "https://assets.publishing.service.gov.uk/.../Discount_Factors.xlsx",
"status": "ok",
"format": "xlsx",
"title": null,
"markdown": "## Sheet: Cover\n\n| Green Book Supplementary Guidance |\n| --- |\n| Discount Factors |\n...\n\n## Sheet: Standard Discount Factors\n\n| ... | Year | Discount <br>Rate | Discount <br>Factor |\n...",
"wordCount": 815,
"tokenEstimate": 2006,
"headings": [{ "level": 2, "text": "Sheet: Cover" }, { "level": 2, "text": "Sheet: Standard Discount Factors" }],
"stats": { "tables": 3, "sheets": 3 },
"sheets": [{ "name": "Cover", "rowCount": 11, "columnCount": 1, "truncated": false }],
"chunkCount": 7,
"chunks": [{ "chunkIndex": 0, "headingPath": ["Sheet: Cover"], "text": "Sheet: Cover\n\n## Sheet: Cover\n\n| Green Book Supplementary Guidance | ..." }],
"markdownFileKey": "doc-0002-Discount_Factors.md",
"warnings": [],
"charged": "document-converted"
}

Other statuses (never charged): skipped_budget (your maximum total charge for the run did not cover this document; every unprocessed document still gets a row, and smaller documents are still tried after a large one that does not fit), unsupported (PDF, legacy .doc/.ppt, unknown), empty (no text — e.g. scanned images, use SiteVerdict Scanned Doc OCR), rejected (zip bomb / malformed archive), blocked (robots.txt, private address, 401/403), paywalled, error.

Pricing (pay per event)

EventPriceWhen
document-converted$0.003a document converted to non-empty Markdown
large-document-converted$0.01instead of the above when the output exceeds ~50,000 tokens (books, huge workbooks)

Examples: 100 Word/PowerPoint files ≈ $0.30; 1,000 mixed office files ≈ $3; a 400-page EPUB ≈ $0.01. Failed, unsupported and empty files are free.

FAQ

Is any content sent to an AI model? No. Conversion is deterministic and local to the run.

PDFs? Not in this Actor. Text PDFs need a PDF extractor; scanned PDFs need OCR (SiteVerdict Scanned Doc OCR).

Formulas in Excel? You get the cell's displayed (formatted) value, not the formula.

Merged cells / complex layouts? A merged value is kept once, in its first (top-left) cell, and the cells it covers (across or down) become empty cells, so every column stays under its own header; DOCX results with merged cells or nested tables (output as text) say so in warnings; text boxes and SmartArt in Word are converted as text where the file stores it as text.

Can my agent call this? Yes — MCP tool convert_document_to_markdown (see MCP-TOOL.md).

Limits

  • Max file size 50 MB by default (up to 200 MB), 1,000 documents per run, 100,000 rows per sheet, 20 million Markdown characters per document.
  • Zip-bomb guards: max 20,000 archive entries, 400 MB uncompressed, suspicious compression ratios refused.
  • Not supported: PDF, legacy binary .doc/.ppt, password-protected files, embedded OLE objects, charts (chart titles may appear as text), images (alt text only).
  • Word lists are converted when the document uses Word numbering; manually typed bullets stay as typed.

Sources & compliance

  • Your files: processed only for this run; nothing is kept beyond your run's storage. Documents fetched from URLs are downloaded with an honest User-Agent (SiteVerdict/doc-to-markdown (+hello@webrevenuescan.com)), robots.txt respected, SSRF guard on every redirect, size and time limits.
  • Example documents in the prefill are Crown copyright, published on GOV.UK under the Open Government Licence v3.0 (https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ , checked 2026-10-11).
  • Libraries (permissive only): mammoth (BSD-2-Clause), SheetJS Community Edition 0.20.3 (Apache-2.0, from cdn.sheetjs.com), JSZip (MIT option of its MIT/GPL dual licence), linkedom (ISC), turndown (MIT), @mozilla/readability (Apache-2.0).
  • Personal data / UK GDPR: documents can contain personal data. You decide what you upload and remain the controller; the Actor does not search for or extract personal data specifically. Not legal advice.

Built by SiteVerdict (BharatFare Travel and Technologies Ltd, UK). Contact: hello@webrevenuescan.com.