May 22, 2026
Scan if you dare
Show HN: ShadowCat – file transfer through QR Codes in a Browser
This wild browser trick turns flashing QR squares into a phone-to-phone lifeline
TLDR: ShadowCat is a browser page that can move files between devices by showing a rapid series of QR codes, aimed at old phones with dead wireless features but working cameras. Commenters were split between calling it delightfully ingenious, asking for a live demo, and questioning whether phone cameras can handle the job reliably.
A Hacker News post about ShadowCat could have been a dry little demo about moving files with QR codes, but the comments instantly turned it into a survival story. The pitch is gloriously simple: if an old phone’s usual wireless features are dead, but the camera still works, this single browser page can blast a file as a stream of QR codes and let another device rebuild it. In plain English, it’s a way to move data by making one screen flash boxes while another phone films them. Weird? Yes. Useful? The crowd kind of loved it.
The biggest mood in the thread was “this is exactly the kind of ridiculous hack I’m here for.” One commenter summed it up with a tragicomic image of a phone that took “a swimming lesson in a coffee mug,” and suddenly the whole project got a backstory. Another person begged for a live demo because they weren’t at their computer, which is the most internet way possible to say, “Cool toy, prove it.” Others piled on with competing mad-scientist energy, including someone reminiscing about sending data through sound like a secret modem goblin.
But not everyone was ready to crown QR codes king. One skeptic raised the obvious question: can cameras actually keep up, or is this another clever idea that collapses in the real world? That sparked the underlying drama of the post: is ShadowCat a genuine rescue tool, or just a brilliantly cursed hack? Either way, the community was entertained, intrigued, and very ready to argue about whether this is genius, overkill, or both.
Key Points
- •ShadowCat is a fully offline, single-file HTML tool for transferring text or files between devices using browser-displayed QR codes and a camera.
- •Its file-transfer mode splits a file into chunks, transmits a header plus numbered data frames in a loop, and allows resending from a chosen frame or as a single static frame.
- •The receiver automatically detects the header, tracks received and missing chunks, ignores duplicates, verifies the file with CRC, and then enables download.
- •The protocol uses `QRX1|H|<total>|<filename>|<sizeBytes>|<crc32hex>` for headers and `QRX1|D|<idx>|<base64chunk>` for data frames.
- •The article provides deployment and tuning guidance, including HTTPS or localhost requirements for camera access, iOS Safari HTTPS constraints, throughput estimates, and adjustments for QR overflow or weak device decoding.