Skip to content
AI Tools
Runs on your deviceNothing you type here is sent anywhere — the whole tool is JavaScript in this tab.

Docs to LLM Converter

100% private
No upload
Cut tokens
Drag & drop DOCX, PPTX, XLSX, Markdown, or HTML files. Get clean, token-efficient Markdown ready to paste into ChatGPT, Claude, or Gemini — tables preserved, speaker notes kept, formulas resolved to values. Everything runs in your browser; nothing is uploaded.

Documents

Drop DOCX, PPTX, XLSX, MD, HTML here or click to browse

Multiple files at once — each converts on its own

DOCXPPTXXLSXMDHTML

GFM tables, not a flat CSV-style dump.

PowerPoint only — appended as a blockquote under each slide.

Excel only — off converts just the first sheet.

No embedded base64 images — a short placeholder line instead.

Hidden Word text, hidden slides/rows/sheets, and page nav/ads on HTML.

Collapses repeated blank lines and spaces outside code blocks.

Sample result

Sample result — a one-page marketing report, table converted to Markdown. Drop your own files to replace it.

Original

0 KB

on disk

Cleaned

0 KB

markdown

Saved

0%

$0.00 · ₹0.00

00 tokens · estimate, ~4 chars per token

Cost breakdown by model— show
ModelBeforeAfterSaved
Claude Opus 5$0.00₹0.00$0.00₹0.00$0.00₹0.00
GPT-4o$0.00₹0.00$0.00₹0.00$0.00₹0.00
GPT-5.6 Luna$0.00₹0.00$0.00₹0.00$0.00₹0.00

Input-token pricing per run, from the same model table the Token Counter uses. Approximate — verified against each provider's official pricing page as of August 31, 2026. Providers change prices without notice; check their page before a billing decision.

What is Docs to LLM conversion, and why do you need it?

Large language models read and bill by tokens, not by pages. A DOCX, PPTX, or XLSX file is not a stream of tokens — it is XML: style definitions, slide masters, cell formatting, revision metadata, and the actual words all tangled together. Paste a Word document straight into ChatGPT (via a naive extractor) and you often pay for headers, footers, and formatting noise on top of the content you actually wanted. Worse, tables held together by inconsistent spacing or extractor guesswork can make a model misread which value belongs to which column — a real source of hallucinated numbers, not just wasted tokens.

Docs to LLM converts each format into the same target: clean, structured Markdown, the format every current LLM was trained on the most of. Headings become ##, tables become GitHub-Flavored Markdown pipe tables, and the noise — hidden text, watermark footers, slide-master boilerplate — is stripped before you ever paste it.

How we convert each format

FormatWhat we extractHow we preserve it for LLMs
DOCXHeadings, tables, lists, bold/italic, images, hidden textHeadings → ##, tables → Markdown tables, images → *[Image: …]*
PPTXSlide titles, bullets, tables, speaker notes, hidden slidesSlide N: Title → ## Slide N, notes → > Note:
XLSXAll sheets, header row, data, formula resultsEach sheet → ## SheetName + Markdown table
HTMLArticle content, via Readability — nav/ads/footer strippedHeadings and tables kept, boilerplate removed
MDExisting MarkdownHeader spacing fixed, whitespace optimized

Docs-to-LLM workflow

  1. STEP 1DropRead in your browser, never uploaded
  2. STEP 2CleanStrip headers, footers, hidden content, whitespace
  3. STEP 3CopyPaste as Markdown or a ready ChatGPT prompt

Best practices for LLM-ready docs

  1. Tables: always preserve as Markdown tables, not a CSV dump — LLMs parse the grid structure of a pipe table more reliably than comma-separated rows.
  2. Remove: headers, footers, page numbers, and watermarks — repeated boilerplate that can waste a meaningful share of tokens on a long document.
  3. Chunking: for RAG, chunk by around 1,000 tokens with ~100-token overlap, and split on heading boundaries rather than mid-sentence — the Chunked tab above does exactly this.
  4. Images: don't embed base64 — convert to an alt-text description instead. A data-URI image can be tens of thousands of tokens for content a text model can't see anyway.
  5. Speaker notes: include them. They often carry the actual talking points a slide's three bullet points only gesture at.
  6. Excel: convert formulas to their computed values, and keep the header row as a proper Markdown table header, not a second data row.

Token cost: DOCX vs PPTX vs XLSX

DocumentRaw extractCleaned Markdown
10-page DOCX report~5,000 tokens~3,200 tokens (36% saved)
30-slide PPTX deck~7,800 tokens~4,900 tokens (37% saved)
12-sheet XLSX workbook~11,200 tokens (CSV dump)~6,600 tokens (41% saved)

Illustrative figures — your actual savings depend on how much formatting noise, whitespace, and hidden content the source file carries. Drop your own file above to see the real number.

Where this can't help

A password-protected DOCX, PPTX, or XLSX can't be opened without the password — the browser has no way to decrypt Office's encryption, so those files show a clear error instead of a silent failure. Charts, diagrams, and photographs are described only as far as their alt text or a name attribute goes; if the answer depends on reading a chart visually, keep the original file alongside the Markdown.

Related tools

Frequently asked questions

How do I convert a DOCX to Markdown for ChatGPT?

Drop the .docx file onto this tool. It runs mammoth.js in your browser to pull out headings, tables, lists, and bold/italic text as clean HTML, then Turndown converts that HTML to GitHub-Flavored Markdown — headings become ##, tables become pipe tables, images become a short alt-text line instead of embedded base64. Copy the result or click "Copy for ChatGPT" to wrap it in a ready-to-paste prompt.

How do I feed a PPTX to Claude?

Drop the .pptx file. The tool unzips the PowerPoint file (it is a ZIP of XML under the hood) and reads each slide's XML directly — titles and bullet text from <a:t> runs, tables from <a:tbl>, and speaker notes from the linked notesSlide part. Each slide becomes a ## Slide N heading with its bullets and tables underneath, and notes appear as "> Note:" blockquotes you can toggle off. That Markdown pastes into Claude, ChatGPT, or Gemini as plain context.

How do I convert Excel to something an LLM can use?

Drop the .xlsx file. SheetJS reads every sheet client-side; each becomes its own ## SheetName section with the header row preserved and the data rows as a Markdown table — not a raw CSV dump, which models parse less reliably. Formulas convert to their last-computed values, not the formula text, and you can toggle "Include all sheets" off to keep just the first one.

Does it preserve tables from Word and Excel?

Yes, by default. Word and PowerPoint tables go through Turndown's GitHub-Flavored-Markdown table rule; Excel sheets are built into the same pipe-table syntax directly from the header row and data rows. Turning "Preserve tables as Markdown" off falls back to a flatter, comma-joined dump — useful for comparing, not recommended for actual LLM use per the guidance below.

Is my document private?

Yes. Every format — DOCX via mammoth.js, PPTX via a custom XML reader over JSZip, XLSX via SheetJS, HTML via Readability.js — runs as JavaScript inside your browser tab. There is no upload, no server round trip, and no account. Open your browser's Network tab while using the tool, or disconnect from the internet after the page loads, to confirm nothing leaves your device.

Can it handle a large PPTX with 100 slides?

Yes. Slides are read and converted one at a time from the presentation's own slide order (not filename order, which breaks past slide 9), so a 100-slide deck works the same way a 5-slide one does — just with a slightly longer conversion pass. Files over 20MB still convert; they may simply take longer since everything runs on your device's CPU rather than a server's.

Does it work offline?

Yes, after the page and its libraries have loaded once. Every conversion step — mammoth.js, the PPTX/XLSX readers, Turndown, the tiktoken-based token counter — runs from code already in your browser, with no network call for the actual conversion.