
How to Decode A Lightning Invoice
Rizful's Lightning Invoice Decoder makes Lightning Network invoices human-readable — especially for developers and node operators who need to quickly verify invoice details without squinting at hex strings.
Paste a BOLT11 invoice (it starts with lnbc) and the decoder shows what it asks for, whether it can still be paid, and anything about it that's likely to make a payment fail.
Step by Step
1. Paste the invoice
Open the Lightning Invoice Decoder and paste the invoice into the box. Here we decode a fresh 1,000-sat invoice from rizful@rizful.com.

2. Click "Decode Invoice"
The decoder only reads the invoice: it never pays it.

3. Check the expiry
The banner counts down the time left to pay. It turns amber in the last 2 minutes and red once the invoice has expired.

4. Read the checks
Each check is in plain language. This one notes that the description is stored as a hash, which is normal for invoices from a Lightning Address.

5. See who you're paying
The payee card shows the node's alias, whether it's a public node, keysend support and the route hints.

What the Decoder Shows
A Live Expiry Countdown
Every invoice has an expiry, often an hour, and an expired invoice can't be paid. The decoder counts down in a banner: green "Valid for …" while there's time, amber in the last 2 minutes, and red once it has expired, with the advice to ask the recipient for a new one.
Plain-Language Checks
The decoder flags the things that commonly stop a payment:
- The network. A mainnet invoice starts with
lnbc. An invoice for testnet, signet or regtest can't be paid by a normal wallet. - No amount. The payer chooses how much to send. That's allowed, but some wallets and exchanges can't pay these invoices, so check the amount with the recipient.
- Created in the future. The invoice's creation time is ahead of your clock, so the recipient's device clock (or yours) is probably wrong, and some wallets may refuse it.
- A very short expiry. Pay it straight away, or ask for a new one if it runs out.
- No payment secret. Modern Lightning wallets require one, so many of them will refuse to pay the invoice.
- A description hash. Normal for invoices from a Lightning Address or LNURL: the invoice carries a hash of the description instead of the text. How to test a Lightning Address explains how wallets check that hash.
The Payee Node
A card shows the node being paid: its alias, whether it's a public node in the Lightning graph, whether it supports keysend, and how many route hints the invoice carries.
A private node reached through route hints is normal for mobile and custodial wallets: the node isn't announced, and the hints tell the payer's wallet which public nodes it's connected to. A private node with no route hints is flagged, because most wallets won't find a route to it.
Pasted the Wrong Thing?
If what you paste isn't an invoice, the decoder points you to the right tool: a Lightning Address to the Lightning Address Tester, a Bitcoin address to the Bitcoin Address Checker, and a 64-character transaction ID to the Unconfirmed Transaction Checker.
What Makes This Decoder Different?
Node Aliases
Ever tried to figure out which node you're paying by staring at a 66-character public key? Rizful's decoder shows you the human-readable alias for destination nodes and route hint nodes. Much easier on the eyes.
Clear Route Hints
Private invoices include routing hints that tell your wallet how to reach the payee. Rizful's decoder displays these with node names, fee rates, and channel IDs in an understandable format.
Privacy First
Your invoice data is processed securely and never stored. The decoder only reads the invoice: it never pays it, never contacts the payee, and doesn't probe a route, so it can't promise that a payment will succeed.