Convert any webpage into clean, well-formatted, LLM-ready Markdown instantly.
📥 Download Pre-built Extension (dot-md.zip)
License • Privacy Policy • Security Policy
dot-md is a developer-first Chrome Extension (built with Manifest V3, React, and TypeScript) designed to instantly scrape and convert cluttered webpages into clean, structured Markdown.
Whether you are preparing article content for LLMs (ChatGPT, Claude, Gemini), archiving research, or formatting technical documentation, dot-md removes cookie banners, advertisements, navigation bars, and footers, delivering only the core text and images you need.
Important
100% Privacy-First & Offline: All HTML scraping, readability processing, and Markdown generation occur entirely in your local browser environment. No telemetry, no external trackers, and no server roundtrips.
- Full Page Extraction: One-click conversion of articles, blogs, and documentation pages, using Mozilla's
@mozilla/readabilityto isolate the core content. - Custom Selection Mode: Focus on specific page segments. Click any page element with an interactive DOM inspector overlay to extract only that section.
- Immersive Reader Mode: Read distraction-free in a beautiful fullscreen modal isolated inside a browser Shadow DOM. Toggle between Light, Sepia, and Dark themes, and scale typography dynamically.
- AI-Optimized Exporter: Instantly copy formatted templates ready for LLM prompt context, complete with page metadata (Title, Source URL, and Content).
- Token & Word Calculator: Live calculations of words and LLM tokens. Displays warning overlays when context length exceeds 15,000 tokens to help manage prompt budgets.
- Local Session History: A slide-out History panel storing your last 10 processed pages for fast offline reuse, retrieval, and re-export.
- Premium UI/UX: Sleek glassmorphic panel design, responsive micro-animations, customizable dark theme, and fluid transitions.
Follow these steps to download, build, and load the extension in your Google Chrome browser:
- Download the Extension: Click the 📥 Download Pre-built dot-md.zip link at the top of this page (or navigate to the Releases tab on the right side of GitHub and download the
dot-md.zipfile under the latest release assets). - Extract the ZIP Archive: Locate the downloaded
dot-md.zipfile on your computer and extract (unzip) its contents into a folder (e.g., name the folderdot-md). - Load into Google Chrome: Proceed to the Loading into Google Chrome instructions below.
- Clone the Repository: Open your terminal and run:
git clone https://github.com/fahimahammed/dot-md.git cd dot-md - Install Dependencies & Build: Compile the React components and packaging bundles by running:
This compiles the extension assets and creates the
npm install npm run build
distdirectory in your project root. - Load into Google Chrome: Proceed to the Loading into Google Chrome instructions below and load the compiled
distfolder.
Once you have prepared the folder (either from extracting the zip or building from source), follow these steps to load it into Chrome:
- Open the Extensions Page: Launch Google Chrome and navigate to
chrome://extensions/by typing it directly in the URL address bar. - Enable Developer Mode: Turn on the Developer mode toggle switch located in the top-right corner of the page.
- Load the Unpacked Folder: Click the Load unpacked button in the top-left corner.
- Select the Folder: Browse your computer and select the extracted folder (from Option 1) or the compiled
distfolder (from Option 2). Make sure to select the folder containing themanifest.jsonfile directly. - Pin and Use: The dot-md extension icon will now appear in your browser toolbar. Click the puzzle icon (Extensions menu), find dot-md, and click the Pin icon for quick access. Open any article or webpage and launch the extension to begin converting!
Follow these steps to set up the project locally for development or customization.
- Node.js (v22.0.0 or higher recommended)
- npm (v9.0.0 or higher)
git clone https://github.com/fahimahammed/dot-md.git
cd dot-md
npm installRun these commands from the root directory of the project:
| Command | Description |
|---|---|
npm run dev |
Runs the Vite dev server locally for interface/popup prototyping. |
npm run build |
Compiles files, bundles assets into dist/, and archives the output as dot-md.zip. |
npm run tsc |
Validates TypeScript configuration and checks for type safety compile issues. |
Running npm run build triggers node build.js. This custom build script:
- Compiles the React UI popup, content scripts, and background service workers via Vite.
- Copies extension icons, configuration manifests, and assets to the output
/distfolder. - Compresses the contents of the
/distdirectory intodot-md.zipin the repository root directory. This ZIP archive is ready for upload to the Chrome Web Store Developer Console.
To verify everything operates correctly:
- Full Extraction: Open an article or document on dev.to or Wikipedia, click the extension icon, and verify the Markdown preview matches the content.
- Selection Mode: Click the selector cursor icon in the popup. Move your cursor on the host webpage to see dashed hover highlights, select a container, and click Load Selected inside the popup's top banner alert.
- Reader Mode: Open the reading viewer (book icon). Change text themes and sizes, then verify it closes gracefully.
- LLM Copying: Click the Export dropdown and copy to Claude/ChatGPT format. Verify page metadata is included.
dot-md/
├── src/
│ ├── background/ # Chrome background service workers
│ ├── content/ # Page DOM selectors, highlighter overlay & reader mode component
│ ├── popup/ # React popup panel, Markdown previews, export utilities & history
│ ├── utils/ # Scrapers, readability parsing & turndown conversion logic
│ └── manifest.json # Chrome Extension Manifest V3 configuration
├── public/ # Static icons and image assets
├── build.js # Automated compilation and ZIP packaging script
├── vite.config.ts # Vite configuration file
└── tsconfig.json # TypeScript configuration filedot-md respect user privacy.
- No Remote Calls: No remote APIs, analytics endpoints, or database endpoints are queried.
- 100% Offline: Conversion and processing functions are completely offline.
- Data Persistence: Settings preferences and conversion histories are saved exclusively in Chrome's local storage (
chrome.storage.local) and never leave your machine.
This project is licensed under the terms of the MIT License. You are free to modify, distribute, and build upon this project for both personal and commercial applications. For full terms, refer to the LICENSE file.
