I/Claude reverse-engineered Figma's binary WebSocket protocol
Details
- External ID
- 47607324
- Source
- HN
- Company
- —
- Product
- I/Claude reverse-engineered Figma's binary WebSocket protocol
- Website domain
- github.com
- Launched
- April 1, 2026
- Cohort
- —
- Upvotes
- 7
- Upvotes percentile
- 0.38817480719794345
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
Disclaimer: this is vibe-coded — (<- I lost you there) the README, most of the code, and the binary format reverse-engineering were done with Claude. But the tool works and I use it everyday for some days now. As Baudelaire said "qu'importe le flacon, pourvu qu'on ait l'ivresse."~I~ Claude built a tool that decodes Figma's internal binary protocol (Kiwi format over WebSocket) to extract the full scenegraph — every node, vector path, and style — without hitting the REST API.Why: Figma's REST API has aggressive rate limits. The official MCP server requires a paid Dev Mode plan. I needed to explore designs from my AI coding tools without constantly getting 429'd.It helps me to: 1. extract the svg in a clean way (even the SVG export from figma likes to write the path as 12.0000001, even though the protocol does have 12 in it) and images 2. Get mapping from what I see in figma <-> what i see in the exported html 3. It helps me help our designer to produce an actual "resizable" figma, so that they finally understand the pain of "ok it works when you click play on the iphone 17 frame you put, but what about an iphone12 ?" (I was always able to say that, but before I wasn't able to point out what was wrong, now I can) How it works: When you open a Figma file in the browser, the editor loads the entire scenegraph via WebSocket as Kiwi-encoded binary frames. This tool captures those frames via Chrome DevTools Protocol, decodes the binary data (including two undocumented vector formats), and gives you structured JSON.What Claude reverse-engineered: - The fig-wire frame format (schema delivery over WebSocket) - commandsBlob: Figma's pre-computed SVG path commands (MoveTo, LineTo, CubicBezier, ClosePath) - vectorNetworkBlob: the editable path data (vertices, segments with Bezier tangent handles, regions with loops) - All three are documented as Kaitai Struct specs (.ksy) so you can generate parsers in any language Ships as: JS lib (zero deps), CLI, MCP server (Cursor/Windsurf/VS Code), and Claude Code plugin.Binary format specs, sample fixtures, and everything else: https://github.com/allan-simon/figma-kiwi-protocolI'm not a lawyer but my understanding is this is an interoperability tool under EU Directive 2009/24/EC Article 6. No Figma code is included: it only decodes the wire format of data transmitted to your own browser.
Enrichment
- Theme
- Claude integrations and coding agents
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- reverse-engineered figma protocol implementation
- Manually corrected
- False
Could you build this?
Yes The author explicitly vibe-coded this project with Claude by feeding network traces to decode Figma's binary WebSocket schema and generate a client parser.
Discussion
3 comments analyzed.
Competitors
Other products that read as similar to this one — 51 launches clear the similarity bar, closest 8 shown.
Attention rank: #34 of 52 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 99 days after the earliest competitor.
- Peek · hn · 2026-06-14 · 6 upvotes · similarity 0.43
- Figma-use · hn · 2026-01-18 · 115 upvotes · similarity 0.42
- Open-agent-SDK · hn · 2026-04-02 · 7 upvotes · similarity 0.37
- Persistent memory for Claude Code with self-hosted Qdrant and Ollama · hn · 2026-02-17 · 8 upvotes · similarity 0.36
- Open-source Figma design to code · hn · 2026-01-24 · 50 upvotes · similarity 0.36
- Claude-File-Recovery, recover files from your ~/.claude sessions · hn · 2026-02-27 · 99 upvotes · similarity 0.35
- Sfsym · hn · 2026-04-18 · 29 upvotes · similarity 0.35
- I made a Mario Galaxy game with Claude Code and Three.js in 53 days · hn · 2026-04-01 · 7 upvotes · similarity 0.34
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.