Built for frontend developers · macOS menu bar

Copy SVG. Paste clean React.

SVG-Snap turns messy Figma exports into production-ready code—on your clipboard in under 150ms. Press ⌘⇧V. No browser tabs. No uploads. Runs locally on your Mac.

Free to join. We'll notify you when the beta is ready. macOS 13+.
See how it works
Figma export
Clean React
▲ figma export 4,247 bytes
<!-- Generator: Figma -->
<svg xmlns="http://www.w3.org/2000/svg" width="24"
     height="24" viewBox="0 0 24 24" fill="none">
  <defs><clipPath id="clip0_12">...
  <g clip-path="url(#clip0_12)">
    <path d="M12 2l3.09..." fill="#1A1A1A"
          transform="matrix(1 0 0 1 0 0)"/>
● production-ready jsx 812 B · −81%
export const Icon = (props) => (
  <svg viewBox="0 0 24 24" fill="currentColor" {...props}>
    <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 
             1.18 6.88L12 17.77l-6.18 3.25L7 14.14" />
  </svg>
);
Strips Figma metadata Removes duplicate IDs Flattens transforms Exports React components currentColor by default Under 150ms No telemetry Hotkey-only, no background reads Strips Figma metadata Removes duplicate IDs Flattens transforms Exports React components currentColor by default Under 150ms No telemetry Hotkey-only, no background reads

Figma SVGs are valid.
They're not ready for your codebase.

Every export ships with metadata, bloated defs, colliding IDs, hardcoded fills, and transforms you don't need. You either clean it by hand—or open another browser tab and lose your flow.

30–90s
wasted per icon, every time
Most frontend devs touch 5–30 SVGs a week. That's hours of find-and-replace, SVGO playgrounds, and context switching—time you could spend shipping.
  • Figma cruft in every file

    Generator comments, editor metadata, and hidden layers end up in your repo unless you strip them manually.

  • IDs that collide

    Paste two Figma SVGs on the same page and watch clip paths and gradients break each other.

  • Hardcoded colors

    Exports use fixed fill values. Dark mode and theming mean rewriting to currentColor—again, by hand.

  • Browser tab fatigue

    Online optimizers work, but they pull you out of Figma, your editor, and your rhythm—dozens of times a day.

Copy. Press ⌘⇧V. Paste clean code.
Under 150ms. Entirely on your Mac.

No cloud. No uploads. No clipboard monitoring. Your SVG stays on your machine until you trigger the hotkey.

01 / COPY

Copy from Figma

Copy SVG markup from Figma, your design file, or anywhere else—it lands on your clipboard as usual.

📋 instant
02 / TRIGGER

Press ⌘⇧V

One global hotkey. Not SVG? Nothing happens—no popups, no noise.

⚡️ < 5ms
03 / OPTIMIZE

Optimize locally

SVGO and SVGR run inside Apple's JavaScriptCore—fast, native, no bundled Node runtime.

⚙️ ~80ms
04 / PASTE

Paste into your project

Clean SVG or React component—ready to drop into your codebase. macOS shows how much you saved.

🚀 < 150ms total

Everything in v1.0—and what's
coming next.

P0 Must-Have P1 Next Up P2 Planned
Feature Description Priority Release Target
Global hotkey Press ⌘⇧V anywhere. Your clipboard gets clean code—only when you ask. No background monitoring. P0 MVP
SVGO optimization Strips Figma metadata, unused IDs, comments, and bloat. Smaller files, cleaner diffs. P0 MVP
React output mode Switch in the menu bar: optimized SVG or a ready-to-paste React component. P0 MVP
Size notification macOS notification shows exactly how many bytes you saved—every conversion. P0 MVP
Menu bar app Lives in your menu bar. Stays out of the Dock. Always one hotkey away. P0 MVP
SVG validation Clipboard isn't SVG? SVG-Snap does nothing—silent, no alerts, no interruption. P0 MVP
History panel Last 10 conversions saved. Copy any previous result in one click. P1 v1.1
More frameworks Export to Vue, Svelte, and React Native—not just React. P1 v1.1
Tailwind mode Output tuned for utility classes and currentColor—works with your design system. P1 v1.2
TypeScript props Generated components include typed props for className, size, and color. P1 v1.2
Custom SVGO config Your rules, your plugins. Full control over the optimization preset. P2 v2.0
Batch processing Drop a folder on the menu bar icon. Optimize every SVG inside at once. P2 v2.0

Shipping in focused releases—not years of vapor.

Small, useful updates. Each version ships something you can actually use the same week.

v1.0 — Core app

Weeks 1–6 In development
  • Menu bar app, onboarding, global hotkey, and clipboard integration.
  • SVGO + SVGR via JavaScriptCore—no Node.js bundled in the app.
  • Two outputs: optimized SVG and React JSX.
  • License checks, preferences, and native macOS notifications.
  • Notarized build, code signing, and launch.

v1.1 — More outputs

Weeks 7–10 Next
  • History panel—revisit your last 10 conversions.
  • Vue, Svelte, and React Native export.
  • Mac App Store submission.

v1.2 — Design system ready

Weeks 11–14 Planned
  • Tailwind-friendly output with currentColor.
  • TypeScript props on generated components.
  • Setapp distribution.

v2.0 — Power user tools

6+ months Later
  • Custom SVGO presets in settings.
  • Batch optimize—drop a folder, get clean files.
  • Windows version if demand is there.

Native macOS. No Electron. No Node bundled.

A ~9 MB app that stays out of your way. Built the way Mac utilities should be—light, fast, and private.

Swift + SwiftUI

Real macOS APIs: NSPasteboard for clipboard, UserNotifications for save alerts, and KeyboardShortcuts for your global hotkey. No web view. No Chromium.

Privacy by design

Your clipboard is read only when you press the hotkey—never in the background. No telemetry by default. No file scanning. What you copy stays on your Mac until you choose to optimize it.

Public targets for the first 90 days.

We ship in the open. If we miss three of these after launch, we'll reassess—not hide behind vague roadmaps.

500
Paying customers
Lemon Squeezy
<150ms
p95 hotkey latency
Opt-in diagnostics
>40%
Week-one retention
Anonymous usage
>8%
Trial → purchase
License activations
<4%
Refund rate
Lemon Squeezy

$9 once. Yours forever.
Three Macs per license.

developer license
$9
one-time · use on up to 3 Macs
  • Full v1.0 access—no subscription, no expiration.
  • Free updates through v1.1 and v1.2 (Vue, Svelte, Tailwind, TypeScript).
  • v2.0 included if you buy within the first year.
  • No auto-renew. No surprise charges.
  • 7-day free trial. No credit card to start.
  • Built for developers who ship clean code—not pay monthly for a hotkey.
Join the waitlist
macOS 13+ · Intel & Apple Silicon · Notarized · ~9 MB

Why $9—not $9/month?

A clipboard utility shouldn't cost more than your coffee subscription. Charging monthly for something that runs in 80ms feels wrong—and we'd rather earn trust with a fair one-time price.

Same model as CleanShot X, Bartender, and Soulver: buy once, use daily. v2 will be a paid upgrade (~$12) with a free upgrade for early buyers.

Team licenses · $7/seat
For teams of 5+. Invoice billing—email team@svgsnap.app.

Questions developers actually ask.

Does it read my clipboard in the background?

No. SVG-Snap only touches your clipboard when you press ⌘⇧V. No passive monitoring, no polling, no tracking what you copy. On macOS Sequoia+, you may see Apple's standard clipboard permission prompt the first time—that's the OS, not us spying.

Does it work offline?

Yes. Optimization runs entirely on your Mac via JavaScriptCore. No uploads, no API calls. The only network use is optional: checking for app updates through Sparkle.

What if my clipboard isn't SVG?

Nothing happens. No error dialog, no flash, no beep. Press the hotkey by accident while coding? Your clipboard stays untouched.

Why only React at launch?

We'd rather ship one excellent output than three mediocre ones. React is v1.0; Vue, Svelte, and React Native land in v1.1.

Does it work on macOS Sequoia?

Yes. Sequoia may ask for clipboard permission the first time you use a cross-app hotkey—that's normal. Our onboarding walks you through it before your first conversion.

Will there be a Windows version?

Not yet. SVG-Snap is macOS-only for now. If enough people buy and use it, we'll look at Windows for v2.

Can I customize the SVGO preset?

v1.0 uses a tuned default that handles 95% of Figma exports well. Custom presets are planned for v2.0.

Is it open source?

The app is proprietary. SVGO and SVGR—the engines inside—are open source (MIT). We contribute fixes upstream when we find edge cases.

Your clipboard, cleaned instantly.

Save minutes every day. Built for frontend developers who care about clean code. $9 once when we launch. Join the waitlist to get notified.