LLM-Friendly

LLM Friendly Logo

LLM Friendly Browser Extension

Convert PDF, DOCX, XLSX, PPTX, HTML, CSV, plain text, JSON and image files to Markdown directly inside AI‑chat websites.

Supported browsers: Chrome, Edge, Brave (Manifest V3) and Firefox (Manifest V2). Safari is not available yet.


About

LLM Friendly is a browser extension that helps Large Language Models process your documents more efficiently by converting PDFs, Word documents, Excel spreadsheets, PowerPoint presentations, HTML pages, CSV files, JSON data, plain text files, and images into structured Markdown or text directly inside AI chat platforms.

Many users regularly upload PDFs, images, spreadsheets, presentations, and other documents to Large Language Models for analysis, summarization, and question answering. However, these formats often contain complex layouts, formatting metadata, embedded objects, and structural overhead that consume additional tokens. By transforming documents into clean, AI-friendly Markdown, LLM Friendly removes unnecessary overhead and presents content in a format that LLMs can process more efficiently, allowing models to focus on the information that matters most while maximizing available context and reducing token consumption.

Features


Installation

Install from your browser’s extension store:

Chrome Web Store Firefox Add-ons

1. Chrome Web Store

Install the extension directly from the Chrome Web Store:

LLM Friendly on the Chrome Web Store

To pin the extension to your toolbar:

  1. Click the puzzle piece (Extensions) icon in the Chrome toolbar.
  2. Find LLM Friendly in the list.
  3. Click the pin 📌 icon next to it so it stays visible in your toolbar.

2. Firefox Add-ons

Install the extension from Mozilla Add-ons:

LLM Friendly on Firefox Add-ons

3. Manual (development / unpacked version)

git clone https://github.com/shibi1306/LLM-Friendly.git
cd LLM-Friendly
npm install

Chrome / Edge / Brave (Manifest V3)

npm run build:chrome
# Output: ./dist
# Zip for the Chrome Web Store:
npm run package:chrome   # → llm-friendly-chrome.zip

Load unpacked: open chrome://extensions (or edge://extensions) → enable Developer modeLoad unpacked → select ./dist.

Firefox (Manifest V2)

npm run build:firefox
# Output: ./dist-firefox
# Zip for Mozilla Add-ons:
npm run package:firefox  # → llm-friendly-firefox.zip

Load temporarily: about:debugging#/runtime/this-firefoxLoad Temporary Add-on…dist-firefox/manifest.json.

Development (watch mode)

npm run dev           # Chrome build, watches for changes
npm run dev:firefox   # Firefox build, watches for changes

Tests

Playwright covers converter unit tests and browser E2E flows (Chrome extension load + Firefox build checks).

npx playwright install chromium firefox   # once
npm run test:unit       # PDF, DOCX, XLSX, PPTX, HTML, CSV, JSON, OCR mock, ZIP, Markdown
npm run test:e2e:chrome # popup, Convert / Insert / Copy / Save, history, multi-file paste
npm run test:e2e:firefox
npm run test            # unit + e2e
npm run test:all        # build Chrome & Firefox, then run all tests

Fixture samples live under tests/fixtures/files/ (regenerate with npm run test:fixtures if needed).


How to Use

Document Conversion

  1. Open a supported chat site and attach a file via the paper‑clip, drag‑&‑drop, or paste (Ctrl + V).

Step 1 — Conversion prompt

  1. Click Convert (✓) to start conversion, or Skip (✕) to let the original file upload through. A spinner shows while the conversion runs.

Step 2 — Converting

  1. Once complete, choose what to do with the Markdown:
    • Copy (📋) — copy Markdown to clipboard.
    • Insert (✏️) — attach the .md file into the chat input.
    • Save (💾) — download as .md (saved to ~/Downloads/LLM Friendly/ by default).

Step 3 — Result

Extension Popup

Click the extension icon in the toolbar to open the popup. Here you can drag‑or‑select a file to convert without needing a file input on the page, and browse your local conversion history. Each history item lets you Copy, Insert, or Save the previously converted Markdown.

Extension popup

Settings

Open the extension Options (via the popup ⚙️ or right‑click → Options) to configure:

Settings — General

You can also manage your conversion history, set the maximum number of items to keep, and clear the history from the settings page.

Settings — History


Known Limitations

Issue Description Work‑around / Status
Safari No Safari web extension / App Store build yet. See Future Work below.
Firefox folder picker showDirectoryPicker() is Chrome-only. Type a Downloads subfolder name in settings.
Very large files Multi‑hundred‑MB PDFs/DOCX can take noticeable time. Split files or accept modest delay.
Complex layouts Multi‑column tables, merged cells, or intricate formatting may lose layout. Output focuses on readable text; manual tweaks may be needed.
ZIP depth Only one level of ZIP extraction is supported (nested ZIPs inside a ZIP are ignored). Extract nested archives manually before attaching.

Future Work


Acknowledgments


Privacy

LLM Friendly is designed with privacy in mind. All file processing happens locally in your browser-none of your data is ever transmitted to external servers. For full details, see the Privacy Policy.

License

LLM Friendly is licensed under the MIT License.

This project includes code derived from Microsoft’s MarkItDown project (MIT License) and uses Tesseract.js/Tesseract OCR (Apache License 2.0). See THIRD_PARTY_NOTICES.md for details.

Source Code

GitHub: https://github.com/shibi1306/LLM-Friendly