Skip to content

Notes and textComparison

8 min read

How to convert a web page to MarkdownMarkDownload vs. Obsidian Web Clipper vs. Jina Reader vs. Firecrawl vs. Page Scanner

A browser extension converts the tab you are looking at, signed in and all; a hosted service fetches the address on its own servers and is easier to call from code. Here is what each of five converters keeps, and where the page goes.

There are two ways to turn a web page into Markdown. A browser extension reads the tab in front of you, so it converts exactly the page you see, including one you had to sign in to, and nothing leaves your machine unless the extension sends it. A hosted service takes an address, loads the page on its own servers and hands back Markdown, which is what you want inside a script or an agent's pipeline, and it only sees what an anonymous visitor would unless you pass it your cookies. Both are fine for notes. For feeding a model, the question is mostly which pages you need and how many.

Five tools at a glance

MarkDownloadObsidian Web ClipperJina ReaderFirecrawlPage Scanner
What it isa browser extensiona browser extensiona hosted API: r.jina.ai/<url>a hosted API, open source to self-hosta browser extension, a command and an MCP server
Where the page is readyour tabyour tabJina's headless browserFirecrawl's servers, or yoursyour tab, in your own browser
A page you are signed in to✓✓cookies you pass in X-Set-Cookiecookies you pass in headers✓
Leaves out menus and footers✓ Readability✓ Defuddle✓ onlyMainContent, on by defaultoptional, with Chrome's on-device model
Tables✓ "some markdown table support"✓ pipe tables, a cell on one line
Pictureslinked, or downloaded beside the filelinked to the web; downloaded on requestcaptioned on requestinside the file (editor); left out (command, MCP)
Linksinline, referenced or strippeda footer of links on request✓
Only part of the page✓ a selection✓ a selection or highlights✓ a CSS selector✓ tags to include or exclude✓ the crop, or one element
From a script or an agent✗✗✓✓✓
Runs inFirefox and Safari; not ChromeChrome, Firefox, Safari, Edgean HTTP requestan HTTP requestChrome and Edge, a terminal, an agent
Pricefree; paid on Safarifree, open sourcefree without a key, rate-limited1,000 free credits a month, then paid plansfree

✓ yes, ✗ no. An empty cell is one the product's own pages do not answer.

MarkDownload

MarkDownload is "an extension to clip websites and download them into a readable markdown file". It runs the page through Mozilla's Readability, the library behind Firefox's Reader View, and converts what is left with Turndown, whose GitHub-flavored Markdown plugin it added for "some markdown table support". Its user guide is long because nearly everything is a setting: heading style, bullet marker, code fences, links inline or referenced or stripped, and images either linked to the original or downloaded beside the .md and embedded as Obsidian's ![[...]]. It can clip a selection, copy instead of download, and send a tab to Obsidian through the Advanced URI plugin. It runs in the browser; its README says "no other data is captured or sent online".

The catch is Chrome. The extension's manifest in its repository is Manifest V2, and Chrome's own timeline says that "With Chrome 138 all users on all channels of Chrome have now Manifest V2 extensions disabled", and that the remaining ones leave the Chrome Web Store as well. An open issue in the repository quotes the store's message that it "is no longer available". The maintainer wrote that he had "started re-writing the entire thing from scratch" for Manifest V3; the latest release in the repository is still Manifest V2. Firefox's add-ons site still lists it, and the Safari version is a paid download.

Verdict: the most configurable Markdown of the five, if you use Firefox or Safari.

Obsidian Web Clipper

Obsidian's own clipper is "a free browser extension that lets you highlight pages and save web content to your vault". It uses Defuddle to keep the main content, and Obsidian's troubleshooting page is candid that "sometimes it can be overly conservative"; a selection or your highlights override it. Templates decide the note's properties and body, and can apply themselves by site. Images are not saved: they "link to their web-based URL", and Obsidian's Download attachments for current file command fetches them later. The Interpreter lets you say in plain language what to capture, through a model provider you pick, including Ollama on your own machine. It is MIT licensed, runs in Chrome, Firefox, Safari (on iOS too) and Edge, and Obsidian says "Your data is not collected, and we do not gather any usage metrics."

Verdict: the one to use when the Markdown is going into an Obsidian vault. There is a longer comparison in how to save a web page into Obsidian.

Jina Reader

Jina Reader's whole interface is a prefix: "Convert a URL to LLM-friendly input by prepending r.jina.ai". Its default engine "renders the page in a headless browser so client-side JavaScript executes before extraction". Headers change the answer: x-respond-with picks the format, x-target-selector narrows it to an element, x-with-links-summary and x-with-images-summary append the links and images, and x-with-generated-alt has a vision model caption the pictures. For a signed-in page, "Pass your session cookies with the X-Set-Cookie header", and "Flows that require an interactive login, MFA, or a bearer token the page fetches itself are out of scope."

It is free without a key at 20 requests a minute, 500 with a free key, and "Every new API key comes with 10M free tokens". A repeat request for the same address "within 5 minutes" gets the cached copy. The code is Apache-2.0 with a Docker image to run it yourself; the hosted one sends the address, and any cookies you pass, to Jina.

Verdict: the fastest way to get Markdown into code, with nothing to install.

Firecrawl

Firecrawl calls itself "The web data API to search, scrape, and interact with the web at scale". A scrape returns Markdown, HTML, JSON against a schema, a screenshot and more, and onlyMainContent ("excluding headers, navs, footers, etc.") is on by default. headers "Can be used to send cookies", and actions click, type, press keys and wait before the page is read. It crawls whole sites as well.

The free plan is "1,000 credits / month", a scrape is one credit, and Hobby is "$16 /month" for 5,000, billed yearly. The code is AGPL-3.0 and can be self-hosted, but the self-hosting guide says Fire-engine is "not included", and the default stack lacks screenshots and page actions.

Verdict: the one to reach for when the job is thousands of pages in a pipeline.

Page Scanner

I build Page Scanner, so weigh this section accordingly. It captures the page in your own browser, and the editor's Output Format panel has Markdown and Word beside PDF, PNG and JPEG. The Markdown is read from the page's structure, not from a PDF: headings, paragraphs, lists, quotes, code blocks, GitHub pipe tables, images and rules, with links, bold and italics, and YAML front matter with the title, the address and the capture time. The crop decides what is in it, so cropping to the article, or picking one table with Pick an element, gives you just that. Images go into the file as PNG, so it stands alone, which makes a picture-heavy page's file large. Word writes the same blocks as a .docx with real heading styles.

Tidy is off by default (As on the page). Tidied by Chrome's model asks Chrome's on-device model which blocks are menus, share prompts, cookie notices and footers; the model only picks blocks, so every word left is still the page's. It needs a Chrome that has that model, or a model you serve on your own computer, and takes seconds per screenful.

The same Markdown is there for scripts and agents, from the command line:

page-scanner scan --url https://example.com/article --markdown only --out ./notes/

or markdown on the MCP server's scan_page, which can return it inline. That version is the whole page, has no pictures and is never tidied.

What it costs: Chrome or Edge with the extension, and for the command, Node.js, the @page-scanner/cli package and Connect turned on in the extension's settings. The scan runs over Chrome's debugger, so the "started debugging this browser" bar shows while it works. Text a page draws into a canvas is not in the Markdown, a table cell comes out on one line, and neither text format is offered while a blur, a redaction or an erase is on the capture. The capture and the file stay on your machine; the extension does send anonymous counts of which features are used, which the settings can switch off.

Verdict: the one to use when you want the page you are signed in to, cut to the part you need, as Markdown or Word, and the same text from an agent.

Which should you use?

Use MarkDownload if you are on Firefox or Safari and want to set every detail of the Markdown yourself.

Use Obsidian Web Clipper if the note is going into Obsidian, especially with highlights or a template per site.

Use Jina Reader if you want Markdown from a public URL in one line of code.

Use Firecrawl if you are feeding a pipeline many pages at a time, with clicks and waits before each one.

Use Page Scanner if the page needs your login, you want to crop it before converting, or you want a PDF of the same capture next to the Markdown. The difference between a clip and a capture is its own question, answered in web clipper or page capture?

Frequently asked questions

Which is best for giving a page to an LLM? For a public page from code, the two hosted APIs were built for it. For a page behind a login, an extension that reads your tab avoids handing your cookies to a service. Page Scanner's MCP server gives an agent the tab's Markdown directly; see let an AI agent capture a web page.

Why do the pictures disappear? Each tool treats them differently. Obsidian's clipper links them, MarkDownload can download them, Jina can describe them in words, and Page Scanner embeds them in the editor's file but leaves them out of an agent's, since a picture as text is a data URL as large as the image.

Can I convert text that is inside a chart or a map? Not to Markdown with Page Scanner: canvas text is a picture. Its PDF export can recognize that text on your computer and make it searchable.

Where this comes from

Keep reading