tagdrop

tagdrop

Decode data URIs in QR codes

mofosyne Multimedia Navigation Reading

Screenshots

Screenshot of tagdrop Screenshot of tagdrop Screenshot of tagdrop Screenshot of tagdrop Screenshot of tagdrop Screenshot of tagdrop Screenshot of tagdrop

Description

TagDrop turns small files — text, HTML pages, images, audio, SVGs — into self-contained QR codes that work completely offline. Print one on a sticker or sheet of paper and leave it somewhere; anyone with the TagDrop app (or any QR scanner that follows tagdrop: links) can scan it and view the content immediately, with no internet connection, server, or account required. Think of it as a digital geocache: instead of a logbook in a box, the "cache" is the QR code itself. What you can do with it

  • Drop a single page — encode text, an HTML page, an SVG image, or JSON into one QR code, either in-app (Create Cache) or with the web generator.
  • Drop a whole "paper" — a printable sheet with a directory QR code (a paper manifest) plus one QR per file, built in-app (Create Paper) or with the web generator. Pages can link to each other with ordinary relative links, so a small static site survives being printed and scanned back in.
  • Spread large content across multiple codes — split a payload too big for one QR into multiple sector codes placed along a trail. The app collects sectors in any order, reassembles and verifies them, and can recover a single missing sector from an optional parity code.
  • Build trails, collections, and replies — link papers together with location hints, tag a loose set of stickers with a shared collection so they group into one card on the home screen and map, or mark a code as a reply to another to thread a conversation across drops.
  • Browse offline — scanned pages render in an in-app viewer, with search and #hashtag filtering, and a hex/CBOR inspector for the curious. The Collections, History, and Map tabs let you revisit, locate, and manage everything you've found, and a single file can back up or restore it all.
  • Tap instead of scan — write any TagDrop code to a blank or rewritable NFC tag, then read it back with a tap instead of the camera.
  • Sign your drops — post-quantum (ML-DSA-44) Verified Authorship signing lets anyone who scans your codes recognise them as genuinely yours after the first scan (trust-on-first-use), with a ✅/⚠️/🔏 badge shown on every signed item. Back up your signing identity to a passphrase-protected file to keep the same recognisable signer across devices.
How it works Every code carries a tagdrop: URI — a QDEF container of CBOR Records, Base41-encoded so it packs efficiently into a QR code's alphanumeric mode. Content can optionally be DEFLATE-compressed and split across multiple codes with parity recovery. IDs are content-addressed (SHA-256 based), so identical content always gets the same ID regardless of who created it. The full wire-format spec is browsable in-app, no internet connection required. Status V2.5 — QDEF-based wire container encoding with content split into codes plus optional parity recovery, post-quantum (ML-DSA-44) content signing with trust-on-first-use verification, paper manifests with multi-file directories and relative-link navigation, geographic trails via "related" hints, ad-hoc collections, reply threading, an in-app scanner with a live scan board, NFC tag read/write, search and #hashtag filtering, full backup/restore, a Map tab for located finds, and remote drop-source feeds that pre-populate the map with community drops before you scan them.

What’s new (2.6.2)

- Wire format: QDEF redefined Split's group_id as an opaque grouping token rather than a verified hash. This app adds its own payload_hash field to keep the same reassembly-integrity check (SPEC.md version 18). Multi-code QR/NFC drops (content or paper spanning more than one code) made before this update won't reassemble correctly, and vice versa — regenerate and reprint/rewrite any of those after updating. Single-code drops are unaffected.
- Security: a scanned file's declared name is now rejec

Versions

Version Date Size Requires Android Download
2.6.2 current
014590dd5e148d51…
2026-08-10 10 MB API 23
2.6.0
458bc15044484c02…
2026-08-02 10 MB API 23
2.5.1
3ab5324f94b8f25c…
2026-07-29 10 MB API 23

Permissions

What the app asks the system for. Android only grants sensitive access after you confirm it.

  • Internet accessSend and receive data over the internet.
  • CameraTake photos and videos.
  • Approximate locationDetermine the location via the network.
  • Precise locationDetermine the location via GPS.
  • NFCExchange data via near field communication.
  • tagdrop.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Comments