Сканирование QR-кодов из изображения или камеры
Сканирование QR-кодов из изображения или камеры
Tool guide
A QR code on a receipt, a poster or a sticker is just a text string in disguise — usually a URL, sometimes payment details or a Wi-Fi credential. This reader gets that string out two ways: from an image you already have (a screenshot, a photo, a saved picture) or from the live feed of your rear camera. Decoding runs through the jsQR library on the page itself, so the picture is never uploaded. The most useful part is seeing the destination before you visit it — fake stickers pasted over real codes on parking meters and café tables are now a routine phishing trick. See also: make your own QR code with a logo, decode the percent-escapes in the link, crop the photo down to the code itself.
That is what the «Picture» mode is for. Save the picture or take a screenshot, press «Choose a file» and select it — decoding works on the file's pixels and no camera is involved. It solves the common case where the code arrived in a chat and cannot be scanned by the very phone displaying it.
No page gets a video stream without it; that gate belongs to the browser, not to us. Frames are processed by a script on the page, nothing is transmitted and nothing is recorded. The permission lasts until you close the tab, and «Stop» releases the camera sooner — the indicator light next to the lens goes out with it.
Three things usually get in the way: glare from a flash or ceiling light, a code too small in the frame, and a clipped corner. Shoot it straight on, not at an angle, with the code and its white margin filling most of the frame. Badly damaged codes recover only so far — QR redundancy tolerates roughly 30% loss, not more.
No, QR codes only. jsQR looks for the three square finder patterns in the corners, and a linear retail barcode or a Data Matrix square is built on a completely different structure. Product labelling formats need their own decoder and will not be recognised here.
Nowhere. The file is read locally by the browser and camera frames are parsed in the tab's memory. Neither the picture nor the decoded string is uploaded or stored. Close the tab and the «Result» box empties; reopening the page starts you from blank.
It is the standard network-join QR format: S is the SSID, T the encryption type (WPA, WEP, or nopass for an open network), P the password and H a hidden-network flag. Because the reader shows the raw string, you can simply read the guest password off the screen and type it into a device that cannot scan codes at all.
Read it first. The reader deliberately prints the address as text instead of following it, because a printed code gives you no way to see the domain in advance. Treat link shorteners, a domain that does not match the business name, and a non-HTTPS page asking for card details as reasons to stop.
Before: Phone photo of the sticker (JPG)
After: http://parking-oplata-service.xyz/pay?id=88 — the domain does not match the parking operator, so this one is not worth paying
Before: Screenshot of the card
After: WIFI:S:CafeGuest;T:WPA;P:latte2026;; — SSID CafeGuest, WPA encryption, password latte2026
Before: Photo of the badge
After: BEGIN:VCARD VERSION:3.0 FN:Anna Petrova TEL:+7 999 000-11-22 EMAIL:[email protected] END:VCARD
Your rating and feedback help decide what to improve next.