One-click web clipper with smart features - Saves pages as clean markdown to your Downloads folder, ready for Obsidian.
Unlike other web clippers that require complex OAuth setups or paid subscriptions, Quick Obsidian Clipper takes a simple, privacy-first approach:
- No API keys required - Works immediately after install
- No account needed - Your data stays local
- Offline-capable - Downloads to your filesystem, not to a cloud service
- Clean markdown output - YAML frontmatter, proper formatting, ready for Obsidian
- Smart duplicate detection - Alerts you if you've already clipped a page
- Custom download path - Configure where clips are saved
- One-click clipping - Click the icon or use
Cmd+Shift+S(Mac) /Ctrl+Shift+S(Win) - Selection clipping - Clip just the selected text with
Cmd+Shift+C - Bulk clip all tabs - Clip every tab in your window with
Cmd+Shift+A - Right-click context menu - Clip images, links, or selections
- Clipped Badge Indicator - Green checkmark shows when you've already clipped a page
- Duplicate Detection - Warns before re-clipping recently saved pages
- URL Normalization - Strips tracking parameters (UTM, fbclid, etc.) for accurate duplicate detection
- Custom Download Path - Configure exactly where clips are saved
- YouTube - Extracts video metadata, description, and transcript when available
- Twitter/X - Captures tweets with author info, engagement metrics, and replies
- Perplexity - Clips AI search results with sources
- Medium - Optional paywall bypass via Freedium integration
- Archive.ph - Route paywalled sites through archive.ph for full content
- YAML Frontmatter - Title, URL, date saved, author, tags, word count, reading time
- Clean Markdown - Proper headings, links, images, blockquotes
- Obsidian-ready - Tags, wiki-links format, ready to process
-
Download or clone this repository:
git clone https://github.com/MediaPublishing/quick-obsidian-clipper.git
Or click Code → Download ZIP on GitHub and unzip it.
-
Open your browser's extensions page:
- Chrome:
chrome://extensions - Brave:
brave://extensions - Arc:
arc://extensions - Edge:
edge://extensions
- Chrome:
-
Enable Developer mode
-
Click Load unpacked
-
Select the root folder of this repo,
quick-obsidian-clipper -
Pin the extension if you want one-click access from the toolbar
- Open the extension Options page
- Choose your download folder, or keep the default
Downloads/Obsidian-Clips/ - Clip any page to test that markdown files land where you expect
| Shortcut | Action |
|---|---|
Cmd+Shift+S / Ctrl+Shift+S |
Clip current page |
Cmd+Shift+C / Ctrl+Shift+C |
Clip selected text |
Cmd+Shift+A / Ctrl+Shift+A |
Bulk clip all tabs |
Right-click the extension icon and select Options to configure:
- Default: Saves to
Downloads/Obsidian-Clips/ - Custom Path: Specify your own path (e.g.,
/Users/you/Obsidian/Vault/Clippings)
Tip for Mac users: In Finder, navigate to your target folder, then press
Option+Cmd+Cto copy the full path.
- Clipped Badge - Show green checkmark on pages you've clipped
- Archive Mode - Route paywalled sites through archive.ph
- Medium Bypass - Use Freedium for Medium articles
When Archive Mode is enabled, you can manage which sites get routed through archive.ph:
- Default list includes: NYT, WSJ, Bloomberg, The Atlantic, Wired, and more
- Add/remove sites as needed
Each clip creates a markdown file with this structure:
---
title: "Article Title"
source: web-clip
url: "https://example.com/article"
date_saved: 2026-01-13
date_published: 2026-01-10
author: ["Author Name"]
type: article
word_count: 1234
reading_time: 6
tags:
- clipping/web
- to-process
---
# Article Title
**URL:** https://example.com/article
**Saved:** 1/13/2026, 10:30:00 AM
**Words:** 1234 (~6 min read)
---
[Article content in clean markdown]
---
## Notes
<!-- Add your thoughts here -->Configure your custom download path to point directly to a folder inside your Obsidian vault:
/Users/you/Documents/Obsidian/Vault/Clippings
If your vault is in a cloud-synced location (iCloud, Dropbox, Google Drive), clips will automatically sync.
Files are saved to Downloads/Obsidian-Clips/ - move them to your vault as needed.
The extension tracks all your clips:
- Total Clips - Lifetime count
- Success Rate - Percentage of successful clips
- Recent Clips - Today, this week, this month
- Search & Filter - Find clips by title, URL, status, or date
- Export - Download history as CSV
- Re-clip - Retry failed clips with one click
Access history via the Options page → View History button.
Automatically sync your X bookmarks:
- Enable Twitter Bookmark Sync in Options
- Set sync interval (15-60 minutes)
- Click "Sync Now" to start
- Bookmarked tweets are clipped as individual markdown files
| Permission | Purpose |
|---|---|
storage |
Save settings and clip history |
activeTab |
Access current tab for clipping |
tabs |
Tab management for bulk clip & badge |
scripting |
Inject content scripts for extraction |
notifications |
Show clip success/failure alerts |
downloads |
Save markdown files |
alarms |
Schedule automatic Twitter sync |
contextMenus |
Right-click context menu |
- Manifest V3 - Modern Chrome extension format
- Service Worker - Background script for clip processing
- Content Scripts - Site-specific handlers for YouTube, Twitter, etc.
- DOMPurify - HTML sanitization for security
- No data sent to servers - All processing is local
- No analytics - We don't track your usage
- No account required - Works completely offline
- Open source - Inspect the code yourself
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone the repo
git clone https://github.com/MediaPublishing/quick-obsidian-clipper.git
cd quick-obsidian-clipper
# Then open your browser's extensions page,
# enable Developer mode, and load this folder unpacked.- Added a toggle to treat homepages as bookmark-only clips
- Default behavior now keeps full-page content unless toggled
- Added auto-detected clip kinds (bookmark/news/repo/video) with tags
- Added homepage detection to save lightweight bookmark notes
- Added domain-based filename prefixes for faster scanning
- Fixed Twitter clipping output (single frontmatter, normalized handles, richer fields)
- Added login-gate detection to avoid empty tweet clips
- Added filename prefixes with per-domain rules (x/yt/gh/etc.)
- Added Perplexity fallback timer and safer clipboard handling
- Fixed Twitter extraction validation and K/M metric parsing
- Removed unused YouTube handler injection to avoid missing-file errors
- Added DOMPurify fallback when sanitization fails, returning clean text content
- Removed stray
textSVG nodes to avoid transform parsing errors on sites like neon.com
- Hardened handler injection with fallback paths (YouTube, Perplexity, Twitter bookmarks)
- Ensured general extraction still runs if a handler script is missing
- Removed SVG nodes before sanitization to avoid noisy transform errors
- Added clipped badge indicator (green checkmark on icon)
- Added custom download path configuration
- Added Perplexity AI search handler
- Improved duplicate detection
- Fixed YouTube transcript cleanup
- Improved Twitter/X extraction for 2025 layout
- Added bulk clip all tabs feature
- Added Twitter bookmark sync
- Added archive.ph integration
- Added Medium bypass via Freedium
- Complete rewrite for Manifest V3
- New options page UI
- History tracking and statistics
- DOMPurify - HTML sanitization
- Turndown - HTML to Markdown conversion
- Freedium - Medium paywall bypass service
- Obsidian community for inspiration
Made with care for the Obsidian community.
