Free tier · no account needed

Any element on any site, as React + Tailwind

Click a card, a nav, a whole pricing section. TailSnap hands back a component with responsive breakpoints, hover states, dark mode and Framer Motion — not a wall of raw CSS.

https://someone-elses-beautiful-site.com/pricing Picking

Growth

For teams shipping several client projects every month.

Choose Growth
PricingCard.tsx
export default function PricingCard() {
  return (
    <motion.article
      className="p-6 bg-white rounded-xl border
        border-slate-200 shadow md:p-8
        hover:shadow-xl dark:bg-slate-900"
      whileHover={{ scale: 1.02 }}
    >
      <h3 className="text-xl font-bold lg:text-2xl">
        {item.title}
      </h3>
      /* ... */
    </motion.article>
  );
}

Every other inspector reads one frozen frame

getComputedStyle gives a single snapshot: current viewport, resting state. It cannot know what happens on hover, at the md: breakpoint, or in dark mode. TailSnap reads the page's actual stylesheet rules too — which is where those answers live.

Can it give you… CSS Peeper VisBug DevTools TailSnap
Tailwind classes, not raw CSS NoNoNo Yes
Responsive md: / lg: variants NoNoNo Yes
hover: and focus: states NoNoBy hand Yes
Dark mode variants NoNoNo Yes
Framer Motion animation NoNoNo Yes
A React / Vue / Svelte component NoNoNo Yes

Built by someone who got tired of rebuilding cards

Every feature here exists because the naive version of it produced code nobody would ship.

Mobile-first

Real breakpoints, not a desktop freeze

Capture on a 1440px screen and every min-width rule is already applied, so naive tools bake the desktop values in as the base. TailSnap replays the un-mediated cascade to recover p-6 md:p-8 exactly as it was authored.

Deep Scan

Reads stylesheets the page hides

Cross-origin stylesheets throw when a script touches them, so their hover and responsive rules are invisible. Deep Scan fetches and parses them anyway — with the browser's own parser, not a homemade one.

Repeats

Eight identical cards become one

Structurally identical siblings collapse into a data array and a .map(), with the varying text lifted into named fields. A pricing grid arrives as a template, not as copy-paste.

shadcn/ui

Components, not utility soup

In a shadcn project a captured button should be <Button variant="outline">, with the imports written for you — not forty classes that quietly stop following your theme.

Motion

Animation that survives the trip

CSS keyframes and hover transforms become Framer Motion props. Grab an element mid-animation and it will not arrive as opacity-0 — the motion layer owns those properties, so the component is still visible.

Honest

Tells you what it approximated

Colours that had no exact palette match, stylesheets it could not read, limits it hit — all listed in a fidelity report. Silent wrong answers are worse than flagged ones.

Export

Straight into your project

Copy, download, a zip with the assets and tailwind.config.js, layered SVG for Figma, or write the file directly into your repo through the local bridge.

Private

No account, nothing uploaded

Captures, settings and your library live on your machine. Nothing leaves the device unless you explicitly use AI cleanup or cloud sync.


Free forever for the occasional grab

Pro pays for itself the first time it saves you an afternoon. Cancel any time; the licence keeps working offline for a week if your connection drops.

Free

$0

No account, no card.

Add to Chrome
  • Unlimited picking and inspecting
  • HTML + Tailwind export
  • 5 captures a day
  • 3 saved components
Pro — lifetime

$199 once

One payment. Nothing renews.

Get Pro
  • Everything in Pro, permanently
  • This major version and every update to it
  • No subscription to remember or cancel
Pro — monthly

$12/mo

Everything in Pro. Cancel any time.

Get Pro
  • Same features, no commitment
  • 3 devices per licence
  • Works offline for 7 days

Before you install

Is copying someone else's design legal?

TailSnap reads styles the browser already exposes, the same way DevTools does — that part is entirely ordinary. What it does not do is grant you rights to someone else's design, brand, copy or images. Use it to understand how a layout works and to rebuild it in your own stack, not to clone a site wholesale. That distinction matters legally and it is the only way we would build this.

What permissions does it ask for?

At install: none of the scary ones. TailSnap uses activeTab, which means it can only read the page you explicitly invoke it on, by clicking the icon or pressing the shortcut. Broader access is optional and requested only if you turn on Deep Scan or bundle export.

Does the generated code actually compile?

Yes — it is plain JSX or SFC markup with standard Tailwind classes, sorted the way prettier-plugin-tailwindcss sorts them. Anything that could not be expressed as a utility falls back to an arbitrary value like p-[13px] rather than a class that does not exist.

What can't it do?

Anything painted to <canvas> — Flutter web apps, some chart libraries — has no DOM to read, and TailSnap says so instead of emitting garbage. Very large sections hit a node limit, which the report tells you about. And it captures a design, not behaviour: state, data fetching and event handlers are yours to write.

How do I get my licence after paying?

You do not. TailSnap collects it for you — the panel flips to Pro on its own within a few seconds of the payment clearing. There is no key to copy out of an email and no code to paste. If you bought on a different machine, paste the transaction id from your receipt into Settings and it restores there too.

Which Tailwind version?

Both. v3 exports a tailwind.config.js; v4 exports an @theme block. The switch is in Settings.

Add to Chrome — free