Första gången de flesta stöter på en QR-kod skannar de av den utan att tänka efter. Det fungerar. De går vidare. Men om du frågade dem hur - hur en telefonkamera kan titta på en kvadrat med svarta och vita prickar och inom millisekunder veta att den kodar en URL, ett Wi-Fi-lösenord eller en tågbiljett - skulle de flesta inte ha någon aning. Den klyftan mellan att använda en teknik och att förstå den är, tror jag, där alla intressanta säkerhetsrisker gömmer sig.
Den här guiden förklarar hela bilden: tekniken som gör att QR-koder fungerar, felkorrigeringssystemet som gör dem motståndskraftiga, säkerhetsriskerna som gör dem farliga när de missbrukas och de praktiska valen som gör skillnaden mellan en QR-kod som fungerar tillförlitligt och en som misslyckas i de värsta möjliga ögonblicken.
< id="what-is-a-qr-code">Vad en QR-kod faktiskt ärEn QR-kod (Quick Response-kod) är en tvådimensionell matrisstreckkod — ett rutnät av svarta och vita rutor som kodar data både horisontellt och vertikalt. Denna tvådimensionella struktur är det som ger QR-koder deras dramatiska lagringsfördel jämfört med traditionella endimensionella streckkoder, som endast kodar data längs en enda horisontell axel.
En endimensionell streckkod som UPC-A du hittar på en stormarknadsprodukt kodar cirka 12 siffror. En QR-kod av motsvarande fysisk storlek kan innehålla upp till 7 089 numeriska tecken, 4 296 alfanumeriska tecken eller 2 953 byte binär data. Det är ungefär 300 gånger lagringskapaciteten i samma fysiska fotavtryck.
Denso Wave, ett dotterbolag till Toyota, utvecklade QR-koder 1994 för att spåra fordonsdelar på löpande band. Namnet "Quick Response" hänvisade till skanningshastigheten - koderna kunde läsas mycket snabbare än befintliga streckkodssystem. Under det första decenniet av deras existens var QR-koder nästan uteslutande ett industriellt logistikverktyg. De smartphones som så småningom skulle göra dem allestädes närvarande fanns inte ännu.
De sex strukturella elementen i varje QR-kod
Varje QR-kod, oavsett storlek eller innehåll, har samma strukturella anatomi:
1. Finder Patterns
De tre stora rutorna i tre hörn av koden (inte det fjärde hörnet – det är avsiktligt). Dessa gör det möjligt för vilken skanner som helst att omedelbart identifiera närvaron, orienteringen och storleken på koden oavsett vilken vinkel den betraktas från. En QR-skanner identifierar dessa tre kvadrater först och beräknar sedan geometrin för resten av koden från deras positioner.
2. Justeringsmönster
Mindre rutor som visas i dataområdet för större QR-koder. De hjälper skannern att korrigera för bildförvrängning - särskilt användbart när en kod är fotograferad i en vinkel, tryckt på en krökt yta eller lätt veckad. Mindre QR-koder (versionerna 1–6) har inga inriktningsmönster; de behövs bara när nätet är tillräckligt stort för att förvrängning blir ett meningsfullt problem.
3. Tidsmönster
Omväxlande svart-vita rader och kolumner som förbinder hittamönstren. De ger skannern ett referensrutnät att arbeta utifrån, vilket hjälper den att korrekt kartlägga positionen för varje datamodul även när bilden är något skev eller med en upplösning där enskilda rutor inte är skarpt definierade.
4. Formatinformation
Kodad i band intill sökmönstren, formatinformation talar om för skannern vilken felkorrigeringsnivå som används och vilket datamaskmönster som tillämpades. Den lagras två gånger — en gång på varje sida av varje sökmönster — så en delvis skymd kod kan fortfarande avkodas korrekt.
5. Datamoduler
Det faktiska kodade innehållet, spritt över det återstående rutnätet i ett specifikt sicksackmönster. Data kodas i ett av fyra lägen - numerisk (det mest effektiva för siffror), alfanumeriskt (bokstäver, siffror och en liten uppsättning symboler), binär (valfri byte-data, inklusive webbadresser) eller kanji (japansk teckenkodning). De flesta QR-koder som används i vardagen använder binärt läge, vilket är anledningen till att de kan koda vilken URL som helst oavsett vilka tecken den innehåller.
6. Tyst zon
Den tomma vita ramen som omger hela koden. Det är inte dekorativt - det är strukturellt nödvändigt. Utan den kan en skanner inte avgöra var koden slutar och omgivande innehåll börjar. Det erforderliga minimum är fyra modulbredder på alla sidor. Många dåligt implementerade QR-koder – särskilt de som skrivs ut med otillräckliga marginaler – misslyckas eftersom den här tysta zonen inte respekteras.
Reed-Solomon Error Correction: Why Damaged QR Codes Still Work
Det här är den del av QR-kodteknik som jag tycker är riktigt imponerande. QR-koder använder Reed-Solomon felkorrigering – samma matematiska algoritm som NASA utvecklade för kommunikation i rymden, där en signal kan färdas miljarder kilometer och anlända skadad av kosmisk störning.
Det finns fyra felkorrigeringsnivåer:
- Nivå L (låg) — återställer upp till 7 % av kodorden. Producerar den minsta QR-koden för en given datanyttolast.
- Nivå M (Medium) — återhämtar sig upp till 15 %. Den förnuftiga standardinställningen för allmänna ändamål.
- Nivå Q (kvartil) — återhämtar sig upp till 25 %. Bättre för koder som kan vara delvis skymd vid användning.
- Nivå H (Hög) — återhämtar sig upp till 30 %. Standardvalet när du vill lägga över en logotyp på koden.
Den praktiska innebörden: du kan fysiskt förstöra eller täcka upp till 30 % av en QR-kod — med en logotyp, en fläck, en repa eller avsiktlig skada — och den kommer fortfarande att skannas korrekt. Detta är inte en funktion som lades till senare; den är inbakad i den ursprungliga standarden. Det är också därför varumärkesmärkta QR-koder fungerar. När ett företag bäddar in sin logotyp i mitten av en QR-kod "skadar" de medvetet koden och förlitar sig på nivå H felkorrigering för att rekonstruera den saknade informationen. Skannern ser logotypen som en korrupt region och fyller i den med hjälp av den redundanta data som lagras i de omgivande modulerna.
PHP_CTA_PLACEHOLDERHur en telefonkamera faktiskt läser en QR-kod
Skanningsprocessen som känns omedelbar, är en process som är omedelbar och i flera linjer som faktiskt körs i en bit av bilden. på en sekund:
- Bildtagning — Kameran tar kontinuerligt bildrutor. Skannermjukvaran analyserar varje bildruta och letar efter QR-kodstrukturer.
- Binarisering — Bilden konverteras till rent svartvitt med hjälp av adaptiv tröskelvärde. Detta eliminerar variationer i ljus, kontrast och skugga som annars skulle göra koden oläslig.
- Sökmönsteridentifiering — Algoritmen söker efter det karakteristiska 1:1:3:1:1-förhållandet av moduler för mörk:ljus:mörk:ljus:mörk som definierar ett sökmönster. Att hitta tre av dessa i det korrekta geometriska förhållandet bekräftar att en QR-kod finns.
- Perspektivkorrigering — Med hjälp av positionerna för hittamönstren (och justeringsmönster för större koder), beräknar programvaran en transformationsmatris för att platta ut den förvrängda bilden till ett kvadratiskt rutnät.
- Modulsampling — Varje rutnätsposition samplas för att avgöra om det är en mörk eller ljus modul, och bygger en binär matris av hela koden.
- Formatavkodning — Formatinformationsmodulerna läses för att fastställa felkorrigeringsnivå och datamask.
- Ta bort datamask – QR-koder tillämpar ett av åtta datamaskeringsmönster för att förhindra stora enhetliga områden (som är svårare att skanna på ett tillförlitligt sätt). Masken vänds före avkodning.
- Reed-Solomon-felkorrigering – Alla skadade kodord identifieras och korrigeras.
- Dataavkodning — Den korrigerade binära datan konverteras till den slutliga utdata: en URL, textsträng, kontaktkort eller vad koden nu innehåller.
På en modern smartphone med en anständig kamera och QR Scanner AI tar hela processen vanligtvis under 200 millisekunder. I dålig belysning eller med en skadad kod kör programvaran ytterligare pass – justera exponeringsparametrar, prova olika binariseringströsklar – vilket kan lägga till ytterligare en sekund eller två. En väldesignad skanner som qrscanner.akstool.com hanterar dessa kantfall automatiskt.
Säkerhetsproblemet som ingen talar om tillräckligt
Här är den obekväma sanningen om QR-koder och vektorer har inte blivit en utmärkt angrepp om QR-koder och vektorer. idé. Tekniken kallas "quishing" (QR code phishing), och den fungerar just för att QR-koder är ogenomskinliga — du kan inte läsa vad de kodar innan du skannar dem.
En skadlig QR-kod ser identisk ut med en legitim. En angripare kan skriva ut ett klistermärke med sin skadliga kod och placera den över en legitim QR-kod – på en parkeringsmätare, ett restaurangbord, en incheckningsaffisch på sjukhuset eller entrén till en konsertlokal. Offret skannar vad de tror är den officiella koden och omdirigeras till en nätfiskesida, nedladdning av skadlig programvara eller falsk betalningsportal.
Omfattningen av detta problem har ökat avsevärt sedan 2020, då QR-koder blev standardmekanismen för kontaktlös interaktion på ett stort antal platser. Enligt cybersäkerhetsforskare ökade QR phishing-attacker med över 400 % mellan 2021 och 2023.
Användningsfall för företag: Vad är QR-koder faktiskt bra på
Alla QR-koder är inte lika. Vissa är utmärkta. Vissa är missriktade. Efter år av att ha sett båda, här är min ärliga bedömning:
Genuint användbar:
- Wi-Fi-delning – En Wi-Fi QR-kod är verkligen bättre än ett lösenord i nästan alla situationer. Gästerna behöver inte skriva ett komplext lösenord, du behöver inte säga det högt i ett offentligt utrymme, och du kan återskapa koden om du ändrar lösenordet. Se hur du skapar en med QR Scanner AI.
- Kontaktkort (vCards) — Att generera en QR-kod som kodar din kontaktinformation är mycket mer tillförlitlig än att förvänta sig att någon ska transkribera ett telefonnummer korrekt från ett visitkort. En genomsökning sparar kontakten direkt på sin telefon.
- Incheckning för evenemang – QR-koder fungerar bra som identitetsbevis eller bokningsbekräftelse i situationer med hög genomströmning. En skanner läser koden; en backend validerar det. Snabbt, skalbart och med anständiga felfrekvenser.
- Produktinformation — Att länka en fysisk produkt till en detaljerad digital sida, användarmanual eller videohandledning är ett legitimt och användarvänligt användningsfall.
Ofta missriktad:
- QR-koder på skyltar — Att kräva att någon på ett säkert sätt drar fram sin telefon, låser upp den, öppnar en kamera och skannar en kod i 60 mph är ingen väldesignad användarupplevelse.
- QR-koder i e-post — Om någon läser din e-post på sin telefon kan de inte skanna en QR-kod med samma enhet. Och om de är på ett skrivbord är friktionen högre än en länk.
- QR-koder som ersättning för användbarhet — Att placera en QR-kod på något för att du inte har utrymme för information är inte detsamma som bra design.
Vad gör att en QR-kod faktiskt fungerar i tryckt format
Att generera en QR-kod är trivialt. Att skapa en som skannar på ett tillförlitligt sätt på ett visitkort, en produktetikett eller en storformatsaffisch – det kräver lite mer eftertanke.
- Använd SVG för digital, högupplöst PNG för utskrift. En 300 × 300 pixlar PNG kommer att se acceptabel ut på skärmen men kommer att vara pixlad och potentiellt omöjlig att skanna när den skrivs ut i 3 cm × 3 cm. Skaffa en SVG (vektorformat) för utskrift; den fjälls utan kvalitetsförlust.
- Minsta storlek är 2 cm × 2 cm. Under detta kämpar de flesta telefonkameror för att fånga tillräckligt med detaljer för tillförlitlig avkodning, särskilt i vanliga ljusförhållanden.
- Mörka moduler på en ljus bakgrund. Detta är standarden. Att invertera till vitt på mörkt kan fungera men minskar tillförlitligheten – vissa skannerimplementationer stöder det inte, och kontrastkraven är strängare.
- Behåll den tysta zonen. Fyra modulbredder av vitt utrymme runt alla fyra sidorna. Inte två. Inte en enda. Fyra.
- Testa innan du skriver ut. Skanna din QR-kod med tre olika appar på två olika telefoner innan du bestämmer dig för en stor upplaga. Det som fungerar på din telefon kanske inte fungerar på någon annans.
- Använd felkorrigeringsnivå H om du lägger till en logotyp. Om du vill sätta en logotyp i mitten (vilket kommer att blockera vissa moduler), ger nivå H dig maximalt 30 % datarekonstruktionstolerans.
QR-koder 2025: Where They Are Heading
QR-koder har stabiliserats som infrastruktur. De är inte längre en nyhet, och de försvinner inte. Några trender är värda att notera:
Dynamiska QR-koder – koder som kodar en omdirigeringsadress snarare än den slutliga destinationen, vilket gör att destinationen kan ändras utan att skriva ut koden igen – har blivit standardpraxis för marknadsföringsanvändning. Koden pekar alltid på samma korta URL; den URL:s destination kan uppdateras i realtid.
QR-koder i betalningar — redan dominerande i Kina (WeChat Pay, Alipay) och Indien (UPI), QR-baserade betalningar vinner gradvis mark i Storbritannien genom system som Barclays' Pingit och olika kontaktlösa POS-integrationer.
scrutiny där ökar, ökar trycket på skannerappar att implementera domänsäkerhetskontroller. Räkna med att detta blir en standardfunktionsförväntning snarare än en skillnad.
För de senaste råden om QR-kodsäkerhet, se vår guide om QR-kodsäkerhetsrisker som du bör känna till. För att skapa och skanna QR-koder på Android förblir QR Scanner AI vårt rekommenderade verktyg.
Utforska hela QR-koderkategorin för fler guider, eller bläddra för de senaste bloggartiklarna>.