Mi az a QR kód olvasó?
A QR kód egy kétdimenziós mátrix vonalkód, amelyet az ISO/IEC 18004 szabvány határoz meg. Szöveget, URL-eket, névjegykártyákat, Wi-Fi hitelesítő adatokat és más rövid adatokat kódol fekete-fehér négyzetmodulok rácsaként, Reed-Solomon hibajavító adatokkal együtt, így a szimbólum részleges sérülés vagy logó átfedés után is dekódolható. A QR kód olvasó ennek az inverzét végzi: egy QR szimbólum képéből visszanyeri az eredeti adatokat. Ez az olvasó a dekódolási folyamatot közvetlenül a böngésződben futtatja a nyílt forráskódú jsQR könyvtár segítségével. A kép, amit bedobsz, beillesztesz vagy a kamerával beolvasol, soha nem hagyja el a lapot.
Hogyan működik a QR dekódolás?
A dekódolás teljes egészében a gépeden fut. Minden kép egy rögzített folyamaton megy keresztül, mielőtt a kinyert szöveg visszakerül:
- A képfájl (PNG, JPG, WebP vagy kamera képkocka) egy képernyőn kívüli HTML
<canvas>-ra rajzolódik. A canvas API nyers pixeladatokat ad vissza RGBA bájttömbként. - A jsQR könyvtár a pixel tömböt szürkeárnyalatos bitképpé alakítja, és megkeresi a QR szimbólum sarkaiban lévő három jellegzetes keresőmintát.
- A kereső minták megtalálása után a dekódoló kiszámítja a perspektíva transzformációt, és kinyeri a teljes modulrácsot, minden cellát bináris 0 vagy 1 értékként olvasva.
- A modulrács elemzésre kerül a QR specifikáció szerint: először a formátum és verzió információk kerülnek beolvasásra, majd az adatmodulok szétbontásra kerülnek, és a Reed-Solomon hibajavítás alkalmazásra kerül.
- A javított adat kódszavak dekódolásra kerülnek a szegmens mód szerint (numerikus, alfanumerikus, byte vagy kanji), visszaadva az eredeti adatokat.
- Ez az eszköz ezután felismeri a kinyert szöveget egy kis reguláris kifejezés készlettel azonosítva a tartalom típusát (URL, Wi-Fi hitelesítő adat, vCard stb.), és megjeleníti az eredményt a megfelelő akció gombbal.
Miért használj böngészőalapú QR olvasót?
- A kép bájtjai soha nem hagyják el az eszközödet. Illessz be egy QR-t, ami Wi-Fi jelszót, belső teszt URL-t vagy vCard-ot rejt, és az adat a laptopodon marad. Más QR olvasók a dekódolást távoli szerveren futtatják, és előbb feltöltetik veled a képet — ez az eszköz nem.
- Miután az oldal betöltődött, a dekódolás offline is működik. A jsQR könyvtár a lapodon él. Kikapcsolhatod a Wi-Fi-t, bedobhatsz egy QR képet az oldalra, és még mindig megkapod a kinyert szöveget — hasznos repülőkön, pincékben és bárhol, ahol a vállalati hálózat blokkolja a harmadik féltől származó beolvasókat.
- Ha az asztali gépednek vagy laptopodnak webkamerája van, rámutathatsz egy nyomtatott QR kódra, és elolvashatod anélkül, hogy alkalmazást kellene telepítened vagy telefont feloldanod. A kamera adatfolyam a böngészőben marad, és a sikeres dekódolás pillanatában leáll.
- Az olvasó felismeri az URL-eket, Wi-Fi csatlakozási karakterláncokat, vCard, MeCard, mailto, SMS és GPS adatokat, és megjeleníti a megfelelő akció gombot. Nyiss meg egy URL-t, másold ki a Wi-Fi jelszót, mentsd el a névjegykártyát — amit a QR tényleg tartalmaz.
A QR kód olvasó gyakori felhasználásai
Bármikor, amikor látnod kell, mit mond egy QR kód anélkül, hogy telefont irányítanál rá:
- Hibakeresés az imént generált kódokon. Illeszd be a QR-t, amit az alkalmazásod készített (vagy készíts egy képernyőképet a QR kód generátorból), és erősítsd meg, hogy a kódolt URL vagy adat megegyezik azzal, amit szántál, mielőtt nyomtatásba, csomagolásra vagy poszterre küldöd.
- Wi-Fi hitelesítő adatok visszanyerése. Olvasd be a Wi-Fi QR-t egy router konfigurációs oldaláról, szállodai üdvözlőkártyáról vagy AirBnB lista fotójáról, és az olvasó visszaadja az SSID-t, biztonsági típust és jelszót egyszerű szövegként, amit átmásolhatsz egy másik eszközre.
- Naplózás és akadálymentesség. Dekódolj QR kódokat beszkennelt dokumentumokon, termékcímkéken, konferencia kitűzőkön vagy közösségi média képernyőképeken, hogy kivonatold a tartalmukat táblázatba, megfelelőségi naplóba vagy segítő szoftverbe.
Hogy néz ki egy valós QR kód dekódolása?
Vegyünk egy Wi-Fi QR kódot, ami egy kávézó ablakára van nyomtatva. A szimbólum mögött a nyers adat a WIFI: URI séma szerint épül fel: WIFI:S:CafeGuest;T:WPA;P:espresso2026;H:false;;. Fotózd le a szimbólumot, dobd be a képet a feltöltési zónába, és a folyamat elindul: a canvas beolvassa a pixeleket, a jsQR megtalálja a három sarok keresőmintát, a perspektíva transzformáció kiegyenesíti a rácsot, a Reed-Solomon kijavítja a tükröződés vagy tömörítés okozta sérüléseket, és a byte-mód szegmens visszaadja az URI sztringet. Az olvasó ezután felismeri a WIFI: előtagot, és Wi-Fi típusúnak jelöli, kinyeri a hálózat nevét CafeGuest-ként, a biztonsági típust WPA-ként és a jelszót espresso2026-ként. Egy Másolás gomb a vágólapra helyezi a jelszót. Egy egyszerű URL QR esetén ugyanez a folyamat visszaadja az URL típusú jelvényt és egy Megnyitás gombot, amely új lapon nyitja meg a célt. Akárhogy is, az egyetlen dolog, ami a hálózaton történt, az oldal betöltése volt — a dekódolás helyi.
Ez a QR kód olvasó egyetlen feladatra épült: mutassa meg pontosan, mit kódol egy QR kód, a böngésződben, szerver közbeiktatása nélkül. Dobj be egy képet, illessz be a vágólapról, vagy indítsd el a webkamerát, és a dekódolt tartalom a típusával együtt a képernyőn landol egy másodpercen belül. A kép bájtjai nem töltődnek fel. A kamera képkockái nem kerülnek rögzítésre. A dekódolt adat nem megy keresztül senki más naplóján. Párosítsd a QR kód generátorral, ha oda-vissza megerősítést szeretnél, hogy amit kódoltál, azt látja majd más is.
Feltöltődik a kép egy szerverre?
Nem. A kép egy memóriabeli HTML vászonra rajzolódik, és teljes egészében kliensoldali JavaScript dekódolja a lapodon. A képed egyetlen pixelét sem küldjük szerverre, nem naplózzuk és nem tároljuk. Ellenőrizheted a DevTools megnyitásával és a Hálózat lap figyelésével: nincs XHR, nincs fetch, nincs analitikai jeladó a fájl tartalmához kötve.
Hogyan működik a kamera beolvasás?
Amikor bekapcsolod a kamera módot, a böngésző engedélyt kér a kamera eléréséhez a szabványos getUserMedia API-n keresztül. A videó képkockák egy képernyőn kívüli vászonra kerülnek rögzítésre maximum 640x480 felbontásban, és a jsQR-hez kerülnek dekódolásra. Minden képkocka eldobásra kerül, amint a következő megérkezik, és a kamera adatfolyam leáll az első sikeres dekódoláskor. Egyetlen képkocka sem kerül rögzítésre vagy továbbításra, és az engedélykérés csak akkor jelenik meg, amikor bekapcsolod a kapcsolót — nem az oldal betöltésekor.
Miért ismer fel néhány QR tartalom automatikusan Wi-Fi vagy vCard típusúként?
A Wi-Fi hitelesítő adatok QR kódjai a WIFI:S:ssid;T:type;P:password;; formátumot követik, a vCard-ok pedig a BEGIN:VCARD-dal kezdődnek. Ez az olvasó felismeri ezeket a mintákat más szabványos előtagokkal (mailto:, geo:, smsto:, MECARD:, https://) együtt, és automatikusan felcímkézi a tartalom típusát, hogy az akció gomb megegyezzen azzal, amit tényleg tenni szeretnél a kinyert adattal.
Miért nem olvasódott be a QR kódom?
Gyakori okok: a kép túl kicsi vagy alacsony felbontású (~100x100 px az alsó határ, 300x300+ megbízhatóan beolvas), a szimbólum súlyosan sérült vagy részben el van takarva egy logó által elégtelen hibajavítás mellett, a csendes zóna (a modulok körüli üres szegély) hiányzik vagy le van vágva, vagy a sötét és világos modulok közötti kontraszt túl alacsony. Kamera módban javíts a megvilágításon, vagy vidd közelebb a kódot a lencséhez — a jsQR-nek tisztán kell feloldania az egyes modulokat, hogy rá tudjon tapadni a kereső mintákra.