UPI ID Validator
Check whether a UPI ID (VPA) is correctly formed and see which app and bank issued its handle. Catches the typos that silently swallow payments — before you print them on a QR or send them to a customer. Free, instant, and nothing leaves your browser.
Check a UPI ID
Checks the format of a UPI ID against the NPCI convention and identifies which app or bank issued its handle. Runs entirely in your browser — the UPI ID is never sent anywhere.
Enter a UPI ID above to check it.
What this tool cannot do: confirm that a UPI ID actually exists or belongs to who you think. That requires a bank/NPCI lookup, which no in-browser tool can perform — and any free tool claiming to “verify” a UPI ID is either sending it to a server or guessing. A well-formed ID with a typo in it is still a well-formed ID, and it will silently swallow a payment. Before you print a QR or invoice a customer, send ₹1 to it. That is the only real verification.
UPI handles we recognise
The handle is the part after the @. It tells you which app or bank issued the ID — not who owns it.
| Handle | App / PSP | Bank |
|---|---|---|
| @okhdfcbank | Google Pay | HDFC Bank |
| @okicici | Google Pay | ICICI Bank |
| @oksbi | Google Pay | State Bank of India |
| @okaxis | Google Pay | Axis Bank |
| @ybl | PhonePe | Yes Bank |
| @ibl | PhonePe | ICICI Bank |
| @axl | PhonePe | Axis Bank |
| @paytm | Paytm | — |
| @ptyes | Paytm | Yes Bank |
| @ptsbi | Paytm | State Bank of India |
| @ptaxis | Paytm | Axis Bank |
| @pthdfc | Paytm | HDFC Bank |
| @upi | BHIM | NPCI |
| @apl | Amazon Pay | Axis Bank |
| @yapl | Amazon Pay | Yes Bank |
| @rapl | Amazon Pay | RBL Bank |
| @waaxis | WhatsApp Pay | Axis Bank |
| @wahdfcbank | WhatsApp Pay | HDFC Bank |
| @waicici | WhatsApp Pay | ICICI Bank |
| @wasbi | WhatsApp Pay | State Bank of India |
| @freecharge | Freecharge | — |
| @airtel | Airtel Payments Bank | — |
| @ikwik | MobiKwik | — |
| @naviaxis | Navi | Axis Bank |
| @jupiteraxis | Jupiter | Axis Bank |
| @sbi | SBI Pay | State Bank of India |
| @icici | iMobile | ICICI Bank |
| @hdfcbank | HDFC Bank MobileBanking | HDFC Bank |
| @axisbank | Axis Mobile | Axis Bank |
| @kotak | Kotak 811 | Kotak Mahindra Bank |
| @yesbank | Yes Bank | Yes Bank |
| @pnb | PNB One | Punjab National Bank |
| @unionbank | Union Bank | Union Bank of India |
| @cnrb | Canara Bank | Canara Bank |
| @barodampay | BOB World | Bank of Baroda |
| @idfcbank | IDFC FIRST | IDFC FIRST Bank |
| @indus | IndusInd | IndusInd Bank |
| @fbl | Federal Bank | Federal Bank |
Curated, not exhaustive. A handle missing from this table is not a bad handle.
What a UPI ID is made of
A UPI ID — properly a Virtual Payment Address, or VPA — has two parts either side of an @:
| Part | Example | What it is |
|---|---|---|
| Identifier | yourshop | Chosen by the account holder. Letters, digits, and . _ - |
| PSP handle | @okhdfcbank | Assigned by the app/bank. Always starts with a letter |
The handle is the useful signal: it tells you the ID came from Google Pay on HDFC (@okhdfcbank), or PhonePe on Yes Bank (@ybl), and so on. It tells you nothing about who owns the ID — which is the crux of the next section.
Why “valid” is not the same as “correct”
This is the failure mode that actually costs Indian merchants money, and it is worth being blunt about. A UPI ID with a single typo can still be a perfectly valid, existing ID — one that belongs to a total stranger. UPI transfers are instant and irreversible. So a mistyped ID on a printed QR or an invoice does not bounce: it quietly routes your customers' money to someone else, while the customer holds a successful payment receipt.
A format checker like this one is a first line of defence. It catches the malformed IDs — missing @, a numeric handle, a stray space. It cannot catch the dangerous case, because the dangerous case is well-formed. The only thing that catches that is sending ₹1 and watching where it lands. Do it every time, before anything goes to print.
Once the ID is right
Turn it into something a customer can actually pay: a UPI payment link to send over WhatsApp, or a UPI QR code to print for your counter. Both are free, both are built from the same NPCI upi://pay payload, and neither needs a sign-up.
And when hand-matching payments to orders stops scaling — typically somewhere around a few dozen orders a day — that is a reconciliation problem, not a link problem. WatEase issues a payment request per order inside WhatsApp commerce and confirms payment back into the same chat automatically; see WhatsApp payments.
Frequently asked questions
How do I check if a UPI ID is valid?
Paste it into the checker above. It confirms the ID follows the NPCI format — an identifier, an @, and a PSP handle (for example yourshop@okhdfcbank) — and tells you which app or bank issued that handle. Important: this is a format check. The only way to confirm a UPI ID actually exists and reaches the right person is to send ₹1 to it and see it land.
Can any tool truly verify that a UPI ID exists?
Not from a browser. Confirming a VPA resolves requires a bank or NPCI lookup through a licensed channel — a payment gateway, a PSP integration, or the UPI app itself, which shows you the registered name when you enter an ID. A free web tool that claims to "verify" a UPI ID is either transmitting it to a server you know nothing about, or simply pattern-matching and calling it verification. We do the pattern match and say so.
What does the part after the @ mean in a UPI ID?
That is the PSP handle — it identifies the payment service provider or bank that issued the ID, not the person who owns it. @okhdfcbank, @okicici, @oksbi and @okaxis are Google Pay (on HDFC, ICICI, SBI and Axis respectively). @ybl, @ibl and @axl are PhonePe. @paytm is Paytm. @upi is BHIM. The full table of handles we recognise is on this page.
My UPI ID says "handle not in our list" — is it broken?
Almost certainly not. NPCI onboards new PSP handles regularly and our table is curated rather than exhaustive, so a perfectly good UPI ID can have a handle we have not listed. We deliberately show that as "not recognised" rather than "invalid" — telling you your working UPI ID is fake would be a much worse error than admitting we do not know it. Confirm with a ₹1 payment.
Is it safe to enter a UPI ID into this tool?
Yes, on two counts. First, this page is entirely client-side: the ID you type never leaves your browser and is never logged. Second, a UPI ID is not a secret — it is safe in the way an email address is safe. It lets people send money TO you and can never be used to pull money FROM you; that always requires the account holder to approve a debit with their UPI PIN.
Why do typo'd UPI IDs lose money?
Because a UPI ID with a typo can still be a valid, existing ID belonging to a complete stranger — and UPI transfers are instant and irreversible. If you print a QR or send an invoice with one wrong character, payments quietly go somewhere else and the customer has proof they paid. That is precisely why the ₹1 test matters, and why a format checker is a first line of defence, never the last.