A QR code shows up in a video call, on a slide, on somebody's back porch tour on Zillow, inside a PDF you can't print. You want to know what it points to. The wrong answer is to pull out your phone, point it at your monitor, and hope the reflection doesn't confuse the camera. The right answer is to screenshot the code and decode it in the browser.

Vzlyze's Scan Code button does exactly that. Capture the image, click one button, and you get the decoded text plus a Copy button and (for safe URIs) an Open link button. The whole thing runs locally in your Chrome tab: no upload, no network call, no credits used.

Where the button lives

1Capture the code

Use the extension's Full Page, Visible Area, or Select Area capture. Tight framing works best. If the code is one small square inside a big webpage, use Select Area and drag a box that includes only the code plus a small margin of quiet space around it. Cleaner input decodes faster and more reliably.

2Open the analysis panel

Scroll past the four AI mode cards to the utility section. You'll see three cards: Extract Text, Extract Handwriting, and Scan Code. On Free accounts they're locked with an upgrade hint. On Starter, Pro, and Business, they're active.

3Click Scan Code

The button runs the ZXing decoder against the image and drops the result into an output panel below. You'll see the decoded format tag (QR CODE, EAN 13, and so on) plus the payload text. If the payload looks like a URL, mailto, tel, or sms link, an Open button appears next to Copy. Otherwise you get Copy only.

What Scan Code can decode

Not all "square black-and-white patterns" are QR codes. Scan Code recognises eleven formats out of the box, covering QR, most 1D retail barcodes, and the denser 2D formats used on tickets and shipping labels:

QR Code2D, URLs, WiFi, vCards
EAN-13Retail, 13 digits
EAN-8Retail, 8 digits
UPC-AUS retail, 12 digits
UPC-EUS retail, compact
Code 128Logistics, alphanumeric
Code 39Inventory, 43 chars
ITFShipping, interleaved
Data Matrix2D, small labels
PDF4172D, boarding passes
Aztec2D, train tickets

A single Scan Code click tries all of these formats at once (with the ZXing TRY_HARDER hint enabled), so you don't need to know which format the code is. The decoder tells you.

Copy versus Open: the security choice

The result panel has two buttons: Copy and Open. Copy always shows up. Open shows up only for URIs Vzlyze can safely handle: http:, https:, mailto:, tel:, and sms:. Everything else (a WiFi credential in WIFI: format, a contact card in BEGIN:VCARD, geo coordinates in geo:, or a raw text payload) gets Copy only.

That's deliberate. QR codes are a favourite phishing vector because most humans can't read them, and clicking Open on an unknown scheme is exactly the kind of blind action attackers rely on. Copy-only for exotic schemes keeps you in the loop: you can paste it into your password manager, your notes app, or a URL preview tool of your choice, and see what you're dealing with before anything acts on it.

Read before you Open
Even for the schemes that get an Open button, glance at the decoded text first. A QR from a source you don't trust could point to a lookalike domain (vzlyze​.com vs vzIyze.com with a capital I). Vzlyze surfaces the URL; the decision to visit it is yours.

Where it falls short

Scan Code is fast and free to run, but a few honest gotchas:

Single decode per image. If a screenshot contains multiple codes (a bulletin board with several posters, a receipt strip with three barcodes), Scan Code returns the first one it finds and stops. This is a library-level limit in the vendored ZXing UMD build. Workaround: crop each code into its own capture with Select Area, then run Scan Code on each.

Damaged or heavily compressed codes. QR codes have built-in error correction and are surprisingly robust, but the source image quality matters. A code that's been screenshot, resized, and re-screenshot several times loses detail every hop. Try to work from the highest-resolution capture available.

Rotated or perspective-warped codes. ZXing handles moderate rotation but not extreme skew. A code shot at a sharp angle to the screen may fail. Capture head-on when you can.

Codes at the edge of the capture. Give the decoder a quiet border around the code. Codes touching the edge of the crop lose their finder patterns and become undecodable.

Availability and cost

Scan Code is available on Starter, Pro, and Business plans. It runs locally in your browser using a vendored ZXing library (about 336 KB), so there's no server round-trip and no credits deducted. You can scan as many codes as you want. On the Free plan the button is disabled with an inline upgrade hint.

Try Scan Code

Install Vzlyze, upgrade to any paid plan, and decode any QR code or barcode straight from a screenshot. No account signup for a phone app, no camera pointing, no upload.

Get VZLyze for Chrome