About this tool
Decode a supported Aadhaar QR code locally and show its signature status.
The Aadhaar Secure QR Verifier decodes the QR code printed on an Aadhaar letter or PVC card from an image you select, and tells you which of the two QR generations you are holding. It draws the image to a canvas, reads the code with a local QR decoder, then classifies the payload: a legacy PrintLetterBarcodeData XML block, or the newer binary Secure QR. It reports the payload size, the type and a 240-character preview — and it states plainly that the digital signature is not verified, rather than implying authenticity it cannot prove.
Open Aadhaar Secure QR Verifier on AltFTool — it loads instantly in your browser.
Pick the photo of the Aadhaar letter or PVC-card QR with the "Local file(s)" picker; if you select more than one, the page states that only the first file is processed.
Press "Run local workbench" (it reads "Inspecting…" while it works). The image is drawn to a canvas and read by the jsQR decoder in your browser, with nothing uploaded.
The "Verified result" panel lists Payload bytes, Payload type as Legacy XML or Binary / text, Signature status reported as unverified, and a 240-character Preview of the decoded payload.
Legacy XML payloads starting with PrintLetterBarcodeData are identified separately from the newer binary Secure QR format.
A preview of the decoded bytes lets you see what a scanner receives, which is what you need when debugging an integration.
Signature status is reported as unverified instead of being presented as a pass, so no false assurance is attached to the result.
No. It decodes the QR payload but does not validate the UIDAI digital signature attached to a Secure QR, so a successful decode says nothing about authenticity. Genuine verification requires UIDAI's own offline eKYC or authentication services, which check the signature against UIDAI's public certificate.
The older QR encodes a plain XML block (PrintLetterBarcodeData) with demographic fields and no signature, so anyone can rewrite it. Secure QR, introduced later, encodes a compressed, digitally signed binary payload that can additionally carry a photo, and it is the signature that makes it tamper-evident.
Usually resolution or contrast. A QR photographed at an angle, printed small, or compressed heavily loses the module edges the decoder needs. Rescan flat at a higher resolution, crop tightly to the QR, and avoid glare on laminated PVC cards.
No. The image is drawn to a canvas and decoded by JavaScript running in your browser; no file, pixel data or decoded payload is transmitted. Aadhaar data is still sensitive, so avoid leaving decoded output on a shared screen and close the tab when finished.