- Fill in Payload (JSON), Key, and Purpose. Each control is labeled; you do not need to paste a JSON blob.
- Click "Run" to run the tool in your browser.
- Read the result below the form and copy it if you need it in another app.
PASETO Playground
Create and verify PASETO tokens in the browser.
Output will appear here…
How to Use This Tool
Learn More About PASETO Playground
About PASETO Playground
Create and verify PASETO v4 tokens entirely in the browser. No data sent to any server.
About
Create and verify PASETO v4 tokens entirely in the browser. No data sent to any server.
Create and verify PASETO v4 tokens entirely in the browser. No data sent to any server.
- Runs in browser
- Yes
- No signup required
- Yes
Examples
Local payload
Local payload
Input
{
"payload": "{\"sub\":\"user123\",\"role\":\"admin\"}",
"key": "my-secret-key-123",
"purpose": "local"
}Output
⚠️ EDUCATIONAL DEMO — NOT A REAL PASETO TOKEN
This tool generates a simplified v4.local-style token for learning purposes.
Real PASETO v4.local uses XChaCha20-Poly1305 authenticated encryption.
The payload below is NOT encrypted — do not use in production.
── Demo Token ──
v4.local.4pANVG5GZuf4mSYQBrN-KIFB1dwZI9VH.IntcInN1YlwiOlwidXNlcjEyM1wiLFwicm9sZVwiOlwiYWRtaW5cIn0ibAVJJGKxKTCvUprS84LnzYhkheCA03Kj9mE3NxPbZEk
── Decoded ──
Header: v4.local
Nonce: 4pANVG5GZuf4mSYQBrN-KIFB1dwZI9VH
Payload (plaintext!): "{\"sub\":\"user123\",\"role\":\"admin\"}"
MAC: bAVJJGKxKTCvUprS84LnzYhkheCA03Kj9mE3NxPbZEk
For production PASETO, use: https://github.com/paseto-platform/pasetoPublic purpose
Public purpose
Input
{
"payload": "{\"sub\":\"user456\"}",
"key": "public-key-fake",
"purpose": "public"
}Minimal
Minimal
Input
{
"payload": "{\"test\":1}",
"key": "key123",
"purpose": "local"
}Output
⚠️ EDUCATIONAL DEMO — NOT A REAL PASETO TOKEN
This tool generates a simplified v4.local-style token for learning purposes.
Real PASETO v4.local uses XChaCha20-Poly1305 authenticated encryption.
The payload below is NOT encrypted — do not use in production.
── Demo Token ──
v4.local.dAd000tq6Dpg3Kjz1HM3gHf9LnsMQT-a.IntcInRlc3RcIjoxfSIubo3ZR-7hi-M13LQllA_1AchoSC4heCJjI7nFRB6vhM
── Decoded ──
Header: v4.local
Nonce: dAd000tq6Dpg3Kjz1HM3gHf9LnsMQT-a
Payload (plaintext!): "{\"test\":1}"
MAC: ubo3ZR-7hi-M13LQllA_1AchoSC4heCJjI7nFRB6vhM
For production PASETO, use: https://github.com/paseto-platform/pasetoUse Cases
- Check paseto playground values while you draft a page, spreadsheet, or config.
- Fill Payload (JSON), Key, Purpose and compare the result to a second source.
- Keep sensitive inputs on-device — this page runs the calculation in the browser.
Frequently Asked Questions
Related Tools
Related tools: