Clean Clipper Add to Chrome (free)

Under the hood

How it works, and where it stops

Nothing here is magic and nothing calls a server. The whole pipeline runs in the page you are looking at, in a few dozen milliseconds.

Finding the article

First the extension looks for the obvious containers an article usually lives in. When there is no such container – and on a lot of real sites there is not – it falls back to measuring text density: which block holds the most paragraph text that is not inside a link. The narrowest block that still holds almost all of that text wins.

A block whose text is mostly link labels is a menu or a feed, not an article, and it is rejected – unless it holds more than about 1200 characters of real text, because long articles legitimately contain many links.

Removing the furniture

Then the known non-content elements go: navigation, banners, share bars, cookie notices, paginators, “read next” feeds and logo strips. Repeated lines are removed, because navigation duplicated in every section is the single biggest source of noise in a clipped page.

what other clippers keep

[Skip to content](#main) [Log in](/login) [Sign up](/register)
[Home](/) [News](/news) [Sport](/sport) [Culture](/culture) [More](/more)

We use cookies and similar technologies to improve your experience.
[Accept all] [Manage preferences]

# The article you came for

Actual first paragraph of the text.

<div class="promo-inline">

## Read next
[Another headline](/a) [One more headline](/b) [And a third](/c)

what ends up in the note

# The article you came for

Actual first paragraph of the text.

Converting

Tables are serialised by the extension itself rather than a generic plugin, because generic converters break on a cell containing a list or a code block. Code fences take the language from the page’s own markup. Reference links are collected into Markdown footnotes before the sanitiser strips the ids they rely on – the order matters, and getting it wrong silently loses every footnote.

Where it stops

On a storefront, a feed or a search result there is no article. The extension checks the finished Markdown – if more than a quarter of it sits inside link labels, it reports “no article” rather than handing you three hundred links. That refusal is deliberate, and it is why the character counts here are lower than tools that always return something.

What it does not do

Questions

How long does a clip take?
Tens of milliseconds for an ordinary article; a very long page with hundreds of footnotes takes a few hundred. The timing is shown in the corner of the clip window.
Does it work on single-page applications?
Yes. It reads the DOM after rendering, so a documentation site built in JavaScript is captured as you see it.
What is the jsonld-articlebody extraction mode?
Some pages ship the article text in their structured data but never finish rendering it. When the structured data holds substantially more text than the DOM, the extension uses it and records that it did.