A single-page tool that converts an eSIM activation code (LPA:1$<SM-DP+>$<token>)
into a scannable QR code that complies with the GSMA SGP.22 LPA format.
Forked from lpa.seiko.li and tweaked for self-hosting on Cloudflare Workers static assets.
- Auto-assemble
LPA:1$...from SM-DP+ address and Matching ID / Activation Token - Paste a full LPA string and it parses back into the two fields
- Live QR rendering (200×200, error correction level Q for better scan reliability)
- Download PNG with a forced 20px white quiet zone, named after the SM-DP+ and token
- Shareable permanent link:
?lpa=...populates the fields on load - 100% client-side, no backend, no tracking
.
├── public/
│ └── index.html # the entire app
├── wrangler.toml # Cloudflare Workers static assets config
├── package.json
├── LICENSE # MIT
└── README.md
Requires Node.js 18+ and a Cloudflare account.
npm install
npx wrangler login # one-time browser auth
npx wrangler deployThe Worker name is lpa, so it will publish to https://lpa.<your-subdomain>.workers.dev/.
You can bind a custom domain via the Cloudflare dashboard → Workers & Pages → lpa → Settings → Domains & Routes.
npm install
npx wrangler devOpen the printed URL.
All conversion happens in your browser. The activation code is never sent anywhere. The optional permalink encodes the LPA string into the URL, so think twice before sharing it — eSIM activation codes are usually one-time credentials.