Free Tools
StoreKit JWS Decoder
Paste a signed JWS from StoreKit 2 or the App Store Server API — a signed transaction, renewal info, or an App Store Server Notification v2 — and read its header and payload as JSON. Nested signed payloads are decoded too, and timestamps are converted to readable dates. Everything runs in your browser; nothing is uploaded.
Paste a signed JWS to see its decoded header and payload. Try .
What a StoreKit JWS is
Since StoreKit 2 and the App Store Server API, Apple delivers purchase data as JSON Web Signatures (JWS) — a compact header.payload.signature string. Signed transactions, subscription renewal info, and App Store Server Notifications v2 all arrive this way. When you're debugging a webhook or a receipt, you usually just want to read what's inside — this tool base64url-decodes the header and payload so you can inspect the productId, expiresDate, environment, and notificationType at a glance.
Good to know
- Paste a raw JWS or a whole
{ "signedPayload": … }body - Nested
signedTransactionInfo/signedRenewalInfoare decoded too - Millisecond timestamps are converted to readable UTC
- Decode only — always verify the signature server-side
Shipping in-app purchases?
Subscriptions are one of the most common App Store rejection areas. AcceptMyApp checks your metadata, paywall, and privacy setup against Apple's guidelines before you submit.