Black Friday-uker: alle abonnementer 40 % billigere! 40 % rabatt på alle betalte abonnementer · gyldig til 30.11.2026 Se priser →
Logo

Hvordan fungerer en QR-kode egentlig? Teknikken bak pikselmosaikken

29.08.2026 8 min Lesetid
Hvordan fungerer en QR-kode egentlig? Teknikken bak pikselmosaikken

En rask skanning med mobilkameraet er alt som skal til – og et nettsted åpnes, wifien kobles til eller et vCard lagres i adresseboken. Det som i hverdagen virker som magi, er i virkeligheten en svært raffinert kombinasjon av informatikk, matematikk og optikk.

Men hvordan blir en lang nettadresse eller en tekst egentlig til dette karakteristiske svart-hvite mønsteret? Hvor er dataene gjemt i koden, og hvorfor gjenkjenner kameraet innholdet selv når QR-koden er skrå eller litt skadet?

I denne artikkelen forklarer vi trinn for trinn hvordan Quick Response-koden (QR) fungerer.

1. Grunnprinsippet er enkelt: Tegn gjøres om til nuller og enere.

Datamaskiner snakker binærspråk, det vil si at de bare forstår 0 og 1. Før informasjon kan vises som mønster i QR-koden, må den derfor først gjøres om til biter. For å spare lagringsplass bruker QR-programvaren ulike kodingsmoduser:

  1. Numerisk modus: Bare for tall (0–9). Svært effektiv, fordi tre sifre slås sammen til ti biter.
  2. Alfanumerisk modus: For sifre, store bokstaver og utvalgte spesialtegn.
  3. Byte-modus: For vanlig tekst, små bokstaver, særtegn som æ, ø og å (UTF-8) og URL-er.
  4. Kanji-modus: Spesielt komprimert for japanske tegn.

En titt bak kulissene viser hvordan «QR» blir til binærkode.

For å forstå hvor plassbesparende en QR-kode er, ser vi på den alfanumeriske modusen. Her får hvert tegn en fast tallverdi (A = 10, B = 11, ..., Q = 26, R = 27).

For å slippe å lagre hver bokstav for seg, slår algoritmen alltid sammen to tegn.

  1. Verdiene for Q (26) og R (27) regnes ut: $26 \times 45 + 27 = 1197$.
  2. Tallet 1197 skrives som et 11-biters binærtall: 10010101101.

De to bokstavene QR gir altså nøyaktig 11 biter med nuller og enere. Blir det én bokstav til overs på slutten av en tegnrekke, kodes den med 6 biter (f.eks. $Q \rightarrow 26 \rightarrow 011010$).

2. Veien fra binærkode til ferdig bildemønster

Når teksten din er oversatt til en rekke nuller og enere, går den gjennom flere tekniske behandlingstrinn:

[ Det du legger inn ] (f.eks. «https://qrown.io»)
│
▼
[ Modusanalyse & binærkoding ] (Tegn gjøres om til 0 og 1)
│
▼
[ Header & metadata ] (Informasjon om datalengde og modus legges til)
│
▼
[ Beregning av feilkorrigering ] (Reed-Solomon-koder genereres)
│
▼
[ Plassering i rutenettet ] (Biter fordeles fra nederst til høyre og oppover)
│
▼
[ Maskering ] (Et matematisk filter hindrer forstyrrende mønstre)
│
▼
[ Ferdig QR-kode ] (Svart = 1, hvit = 0)

Trinn A: Ekstra tekniske data og feilkorrigering

Rekken av nuller og enere som inneholder innholdet ditt, er ikke den eneste delen av koden. Foran nyttedataene plasseres en header. Den forteller skanneren: «Obs, her kommer en tekst i byte-modus med en lengde på 25 tegn!»

Deretter beregner en matematisk prosess – kjent som Reed-Solomon-feilkorrigering – ekstra paritetsbiter. De sørger for at koden fortsatt kan leses selv om opptil rundt 30 % av dataene (nivå H) er dekket til eller skadet (f.eks. av en firmalogo midt i koden).

Trinn B: Fordeling i rutenettet (moduler)

De enkelte rutene i QR-koden kalles moduler. Som hovedregel gjelder:

  1. 0 = hvit modul
  2. 1 = svart modul

Bitene skrives imidlertid ikke bare inn linje for linje fra øverst til venstre til nederst til høyre. Datakodingen starter i nedre høyre hjørne og slynger seg gjennom rutenettet i smale kolonner på to, vekselvis oppover og nedover. Reserverte funksjonsområder (som hjørnene) hoppes automatisk over.

Derfor kan du aldri peke på en enkelt svart rute i den ferdige QR-koden og si: «Dette er ‹h›-en i nettadressen.»

Trinn C: Maskeringstrikset (hvorfor 1 ikke alltid er svart)

Hvis bitene ble tegnet direkte, kunne store svarte blokker, lange hvite striper eller villedende mønstre oppstå tilfeldig og forvirre kameraet.

Derfor legger programvaren et maskeringsmønster over matrisen. Det finnes totalt åtte standardiserte masker. Med en matematisk XOR-operasjon snur masken bestemte biter:

  1. 0 blir 1 (hvit blir svart)
  2. 1 blir 0 (svart blir hvit)

Skanneren bruker formatinformasjonen ved siden av hjørnefirkantene til å finne ut hvilken maske som ble brukt, og reverserer dette trinnet på en brøkdel av et sekund under dekodingen.

3. Anatomien til en QR-kode: Hva betyr de enkelte mønstrene?

Ser du nærmere på en QR-kode, virker den som en tilfeldig mosaikk. I virkeligheten er hvert eneste element plassert strengt etter ISO-standarden. Du kan tenke på oppbygningen som anatomien til et ansikt. Visse trekk sitter alltid på samme sted, slik at en smarttelefon kan gjenkjenne koden med ett blikk.

En klassisk QR-kode er delt inn i disse hovedsonene:

1. De tre store hjørnefirkantene (posisjonsmønstre/finder patterns)

  1. De sitter øverst til venstre, øverst til høyre og nederst til venstre.
  2. Hva de gjør: De er det mest iøynefallende kjennetegnet ved QR-koden. Disse tre ankerpunktene signaliserer straks til kameraet: «Obs, her er det en QR-kode!» De forteller programvaren med en gang posisjon, størrelse og helningsvinkel, slik at kameraet ser om smarttelefonen holdes rett eller skrått.

2. De prikkete forbindelseslinjene (timing patterns)

  1. De går mellom de tre hjørnefirkantene – vannrett mellom øverst til venstre og øverst til høyre, loddrett mellom øverst til venstre og nederst til venstre. De definerer rutenettet (modulstørrelsen); orienteringen kommer fra de tre hjørnefirkantene.
  2. Hva de gjør: Linjene består av vekselvis svarte og hvite moduler. De fungerer som en linjal for skanneren: Ut fra disse punktene beregner programvaren størrelsen på rutenettet (fra versjon 1 med 21 × 21 ruter til versjon 40 med 177 × 177 ruter).

3. De små indre firkantene (alignment patterns)

  1. De sitter i nedre høyre område og, i komplekse koder, fordelt over hele mønsteret.
  2. Hva de gjør: Disse mindre firkantene fungerer som digitale trådkors. De hjelper skanneren med å utligne forvrengninger, for eksempel når QR-koden er trykt på en buet brusboks eller flyeren har blitt krøllet.

4. Kontrollsonen (formatinformasjon)

  1. Den ligger rett inntil de tre store hjørnefirkantene.
  2. Hva den gjør: Her ligger de tekniske instruksene til skanneren. To avgjørende opplysninger er kodet i disse få pikslene: 1. hvilket feilkorrigeringsnivå (L, M, Q eller H) som brukes, og hvilket maskeringsmønster som ble lagt over dataene.

5. Den usynlige beskyttelseskanten (quiet zone)

  1. Dette er den helt hvite, utrykte kanten rundt hele QR-koden.
  2. Funksjon: For at kameraet skal kunne fange opp kodens ytterkanter nøyaktig, trenger det en sikkerhetsavstand til tekst, bilder eller bakgrunnsgrafikk. Denne kanten må være minst fire moduler (pikselbredder) bred. Mangler quiet zone, nekter kameraet ofte å skanne.

4. Hva skjer når du skanner en QR-kode med smarttelefonen?

Når du retter kameraet mot en QR-kode, skjer følgende i bakgrunnen:

  1. Søk: Kameraet leter etter de tre store finder patterns i videobildet.
  2. Transformasjon: Programvaren beregner perspektivet og «retter ut» digitalt et bilde som kanskje er tatt skrått.
  3. Avmaskering: Systemet leser formatinformasjonen, gjenkjenner maskeringsmønsteret og fjerner masken.
  4. Feilkorrigering: Riper, uskarphet eller tildekkede områder rettes opp matematisk.
  5. Dekoding: Nullene og enerne gjøres tilbake til lesbar tekst, tall eller styrekommandoer etter modusreglene.
  6. Utfør handling: Smarttelefonen gjenkjenner datatypen (f.eks. https:// for en URL, WIFI: for påloggingsdata eller BEGIN:VCARD for kontakter) og foreslår riktig app.

Teknisk dypdykk: De viktigste spørsmålene forklart

Trenger du internettforbindelse for å skanne en QR-kode?

Nei, ikke for selve skanningen. Omgjøringen av piksler til tekst skjer lokalt på smarttelefonen din. Er innholdet ren tekst, et vCard eller wifi-tilgangsdata, fungerer alt helt offline. Først når koden inneholder en nettadresse (URL) og du vil åpne den, trenger du datatilkobling.

Er en QR-kode kryptert?

Nei. En QR-kode er bare kodet, ikke kryptert. Enhver vanlig QR-skanner kan lese dataene den inneholder. Konfidensiell informasjon som passord, bankopplysninger eller personlige PIN-koder bør derfor aldri lagres ubeskyttet i en vanlig QR-kode.

Hvorfor ser noen QR-koder mye finere og tettere ut enn andre?

Jo mer data som lagres direkte i koden – for eksempel en lang tekst sammenlignet med en kort lenke – desto flere moduler trengs. Koden går da opp til en høyere versjon (fra versjon 1 med 21 × 21 moduler opp til versjon 40 med 177 × 177 moduler).

Statisk vs. dynamisk: Hvorfor dynamiske koder forblir mer kompakte

  1. Statiske QR-koder: Lagrer sluttmålet (f.eks. en URL på 150 tegn) direkte. Mønsteret blir svært tett og vanskeligere å skanne.
  2. Dynamiske QR-koder: Lagrer bare en ultrakort videresendingslenke (f.eks. qron.ch/12da7). Koden forblir visuelt svært enkel og lett å skanne, og det faktiske målet kan endres på serveren når som helst uten at koden må trykkes på nytt.

Sjekkliste for QR-koder som fungerer

Lager du dine egne QR-koder eller får dem designet, bør du huske disse grunnreglene:

  1. Bruk korte lenker: Bruk dynamiske QR-koder for å holde modultettheten lav.
  2. Hold på kontrasten: Velg et mørkt mønster på lys bakgrunn (inverterte koder kan skape problemer for enkelte eldre kameraer).
  3. Respekter kantsonen: La det være en margin på minst 4 moduler til tekst, skjærekanter eller grafikk.
  4. Juster feilkorrigeringen: En logo bruker opp feilkorrigeringsreserve – jo større logo, desto høyere bør nivået være. For dynamiske koder setter QRown nivået selv og sjekker skannbarheten etter at du har designet koden.

Ofte stilte spørsmål (FAQ)

Hvor mange moduler består en QR-kode av?

De minste QR-kodene (versjon 1) består av 21 × 21 moduler, altså 441 ruter. Den største versjonen (versjon 40) har et rutenett på 177 × 177 moduler, altså 31 329 ruter.

Kan en QR-kode inneholde virus eller skadevare?

En QR-kode inneholder i seg selv bare tekst og kan ikke kjøre skadelig programkode direkte. Den kan imidlertid føre til et manipulert phishing-nettsted eller en skadelig nedlasting. Sjekk derfor alltid domeneforhåndsvisningen på smarttelefonen før du åpner den!

Hvilken modus sparer mest plass i en QR-kode?

Den mest effektive modusen er den numeriske (bare tall), etterfulgt av den alfanumeriske. Byte-modusen (for vanlige URL-er og spesialtegn) krever derimot mest lagringsplass per tegn.

Flere innlegg