QR Kod Nedir, Nasıl Çalışır? Güvenli Kullanım Rehberi
Geliştirici · · 7 dk okuma · Sorgulaa Editör Ekibi
QR kod nedir ve nereden çıktı?
QR kod (Quick Response, yani "hızlı yanıt" kodu), bilgiyi siyah beyaz karelerden oluşan iki boyutlu bir desende saklayan bir barkod türüdür. 1994 yılında Japonya'da, otomotiv yan sanayisinde çalışan Denso Wave firmasında geliştirildi. Amaç, üretim hattındaki parçaları, klasik çizgili barkodun taşıyabildiğinden çok daha fazla bilgiyle ve çok daha hızlı okutarak takip etmek. Klasik barkod veriyi yalnızca yatay eksende saklar ve yirmi karakter civarında bilgi taşır; QR kod ise hem yatay hem dikey ekseni kullandığı için binlerce karakteri aynı alana sığdırabilir.
Firma, patent haklarını kullanmayacağını açıklayıp standardı herkese açınca teknoloji fabrikaların dışına taştı. Asıl sıçrama ise akıllı telefon kameralarının ek uygulama gerektirmeden QR kod okumaya başlamasıyla geldi. Türkçede "karekod" sözcüğü de yaygın biçimde kullanılır; ancak aşağıda göreceğimiz gibi her karekod teknik olarak QR kod değildir.
Bir QR kodun anatomisi
QR kod rastgele bir karınca deseni gibi görünse de her bölgesinin belirli bir görevi vardır. Koddaki en küçük kareye modül denir; koyu modül 1, açık modül 0 değerini temsil eder.
- Konum bulma desenleri: Üç köşedeki iç içe büyük kareler. Okuyucu bu üç işareti bulduğunda kodun nerede olduğunu, ne kadar döndürüldüğünü ve hangi açıyla tutulduğunu anlar. Dördüncü köşenin boş olması sayesinde yön belirsizliği kalmaz; kodu ters ya da yan tutsanız da okunmasının nedeni budur.
- Hizalama desenleri: Büyük kodlarda görülen daha küçük kareler. Kod bükülmüş bir yüzeye, örneğin bir şişeye basılmışsa ya da eğik açıyla çekilmişse bozulmayı düzeltmeye yarar.
- Zamanlama desenleri: Konum karelerini birbirine bağlayan, bir koyu bir açık giden şeritler. Okuyucuya modüllerin boyutunu ve ızgaranın sıklığını bildirir.
- Biçim ve sürüm bilgisi: Konum karelerinin hemen yanında, hangi hata düzeltme seviyesinin ve hangi maske deseninin kullanıldığını söyleyen küçük alanlar.
- Veri ve hata düzeltme alanı: Geri kalan her şey. Asıl içerik ile onu onarmaya yarayan yedek bilgi burada tutulur.
- Sessiz bölge: Kodun çevresindeki boş çerçeve. Standart, en az dört modül genişliğinde bir boşluk öngörür. Tasarımcıların en sık ihlal ettiği kural budur.
Sürümler ve kapasite
QR kodlar 1'den 40'a kadar numaralanan sürümlerde üretilir. Sürüm 1, kenar başına 21 modülden oluşur; her sürümde kenara 4 modül eklenir ve sürüm 40'ta 177 x 177 modüle ulaşılır. En büyük sürüm, en düşük hata düzeltme seviyesinde yaklaşık 7.000 rakam ya da 4.000'in üzerinde harf-rakam karakteri taşıyabilir. Pratikte bu sınırlara yaklaşmak istemezsiniz: veri arttıkça modüller küçülür, kod yoğunlaşır ve okutmak zorlaşır. Yalnızca rakam içeren veri en az, Türkçe karakterli metin ise en fazla yeri kaplar.
Okuma süreci: kameradan içeriğe
- Kamera görüntüsü siyah beyaza indirgenir ve üç konum bulma deseni aranır.
- Bu üç noktadan hareketle kodun eğimi ve perspektif bozulması hesaplanır, görüntü düz bir ızgaraya oturtulur.
- Zamanlama desenlerinden modül boyutu bulunur ve her modül 0 ya da 1 olarak okunur.
- Biçim bilgisinden hata düzeltme seviyesi ile maske deseni öğrenilir. Maske, kod üretilirken veriye uygulanan ve büyük tek renkli alanların ya da konum karelerine benzeyen yanıltıcı şekillerin oluşmasını engelleyen bir örüntüdür; okuyucu bu işlemi geri alır.
- Bit dizisi bloklara ayrılır, hata düzeltme algoritması hasarlı kısımları onarır.
- Ortaya çıkan veri yorumlanır: metin mi, web adresi mi, kişi kartı mı, Wi-Fi ayarı mı? Telefon buna göre bir eylem önerir.
Önemli bir ayrıntı: QR kodun kendisi herhangi bir program çalıştırmaz, yalnızca bir metin taşır. O metinle ne yapılacağına okuyan uygulama karar verir.
Hata düzeltme: köşesi yırtık kod neden hâlâ çalışır?
QR kodlar, CD'lerde ve uydu haberleşmesinde de kullanılan Reed-Solomon hata düzeltme yöntemini kullanır. Veriye matematiksel olarak türetilmiş yedek bloklar eklenir; kodun bir kısmı kirlense, çizilse ya da kapansa bile eksik bölüm bu yedekten yeniden hesaplanır. Dört seviye vardır:
| Seviye | Yaklaşık onarılabilir hasar | Tipik kullanım |
|---|---|---|
| L (düşük) | %7 | Ekranda gösterilen, temiz ortamda okutulan kodlar; en küçük ve en seyrek desen |
| M (orta) | %15 | Genel amaçlı varsayılan; broşür, kartvizit, ambalaj |
| Q (yüksek) | %25 | Dış mekân, yıpranmaya açık etiketler |
| H (en yüksek) | %30 | Endüstriyel ortam; ortasına logo yerleştirilen kodlar |
Bunun bir bedeli vardır: yedek veri arttıkça aynı içerik için daha fazla modül gerekir, kod ya büyür ya da yoğunlaşır. Ortasına logo konmuş QR kodlar bu mekanizmadan yararlanır; logo aslında kodun bir kısmını tahrip eder, okuyucu da o bölgeyi hasar kabul edip onarır. Bu nedenle logolu kodlarda yüksek seviye seçilmeli ve logo konum karelerine dokunmamalıdır.
Statik ve dinamik QR kod farkı
Statik kodda içerik doğrudan desenin içine yazılır. Web adresi, metin ya da Wi-Fi bilgisi kodun kendisidir; basıldıktan sonra değiştirilemez, ama hiçbir hizmete bağımlı değildir ve kâğıt durduğu sürece çalışır. Çevrim içi bir QR kod oluşturucuyla ürettiğiniz kodlar genellikle bu türdendir.
Dinamik kodda ise desenin içinde yalnızca kısa bir yönlendirme adresi bulunur. Bu adres bir hizmet sağlayıcının sunucusuna gider, sunucu da ziyaretçiyi sizin belirlediğiniz asıl adrese yollar. Avantajı, basılı kodu değiştirmeden hedefi güncelleyebilmeniz ve okutma sayılarını görebilmenizdir. Dezavantajı bağımlılıktır: hizmetin aboneliği biterse ya da firma kapanırsa, bastırdığınız on bin broşürdeki kod bir gecede ölü bağlantıya dönüşür.
Karar ölçütü basittir. İçerik hiç değişmeyecekse (Wi-Fi şifresi, kalıcı bir sayfa, kişi kartı) statik kod yeterli ve daha güvenlidir. Kampanya adresi gibi değişebilecek hedeflerde en sağlam yol, kendi alan adınızda bir yönlendirme adresi oluşturup statik koda onu yazmaktır: hem hedefi değiştirme esnekliğini kazanırsınız hem de üçüncü bir tarafa bağımlı kalmazsınız. Adrese izleme parametreleri ekliyorsanız özel karakterlerin doğru biçimde URL kodlamasından geçtiğini kontrol edin.
Baskı ve tasarım önerileri
- Boyut ve mesafe: Yaygın pratik kural, kod kenarının okutma mesafesinin kabaca onda biri olmasıdır. Elde tutulan bir broşürde 2-3 cm yeterliyken, üç metre öteden okutulacak bir afişte 30 cm civarı gerekir.
- Kontrast: Açık zemin üzerine koyu modül kullanın. Renkli kod mümkündür, ancak sarı ya da pastel tonlar gibi düşük kontrastlı seçimler ve ters renkli (koyu zemin, açık modül) tasarımlar bazı okuyucularda sorun çıkarır.
- Vektörel çıktı alın: Baskı için SVG ya da yüksek çözünürlüklü çıktı kullanın; küçük bir görseli büyütmek kenarları bulanıklaştırır.
- Sessiz bölgeyi koruyun: Kodun çevresine metin, çerçeve ya da görsel yaslamayın.
- Bağlam yazın: Kodun yanına ne açacağını belirten kısa bir açıklama ve mümkünse adresin okunabilir hâlini ekleyin.
- Basmadan önce deneyin: Gerçek boyutta bir prova çıktısını, eski ve yeni birkaç farklı telefonla, gerçek ışık koşullarında okutun.
Sahte QR kod dolandırıcılığı ve korunma yolları
İnsan gözü bir QR kodu okuyamaz; iki farklı kod bize aynı görünür. Dolandırıcılığın dayandığı zayıflık tam olarak budur. İngilizcede "quishing" olarak anılan yöntemde saldırgan, kurbanı kendi hazırladığı koda yönlendirir. Yaygın senaryolar şunlardır:
- Otopark ödeme noktası, şarj istasyonu ya da restoran masasındaki gerçek kodun üzerine sahte kod içeren bir çıkartma yapıştırmak.
- Banka, kargo firması ya da kamu kurumu görünümlü e-posta ve mektuplara "işleminizi tamamlamak için okutun" diyen kodlar eklemek.
- İkinci el satışlarda "ödemeyi almak için bu kodu okutun" diyerek satıcıyı sahte bir ödeme ya da banka giriş sayfasına göndermek. Para almak için genellikle herhangi bir kod okutmanız ya da şifre girmeniz gerekmez.
Korunmak için uygulanabilir alışkanlıklar:
- Kodu okuttuğunuzda telefonun gösterdiği adres önizlemesini okuyun. Alan adı beklediğiniz kuruma mı ait, yazımı doğru mu? Emin değilseniz açmayın.
- Fiziksel kodlarda çıkartma izi, üst üste yapıştırma ya da kenar farkı olup olmadığına bakın.
- QR koddan açılan bir sayfaya banka şifresi, kart bilgisi ya da doğrulama kodu girmeyin. Ödeme ya da giriş gerekiyorsa kurumun resmi uygulamasını kendiniz açın veya adresi elle yazın.
- Kod sizi bir uygulama yüklemeye ya da dosya indirmeye yönlendiriyorsa durun; uygulamaları yalnızca resmi mağazalardan yükleyin.
- Şüpheli bir işlem yaptığınızı düşünüyorsanız vakit kaybetmeden bankanızı arayın ve durumu yetkili mercilere bildirin.
Karekod ile QR kod aynı şey mi?
Gündelik dilde ikisi birbirinin yerine kullanılır, ama "karekod" aslında iki boyutlu barkodların genel adıdır. Örneğin ilaç kutularındaki takip kodu çoğunlukla QR kod değil, Data Matrix adı verilen farklı bir standarttır; köşelerinde üç büyük kare yerine L biçiminde düz bir kenar çizgisi bulunur ve çok küçük alanlara basılabildiği için tercih edilir. Ödeme sistemlerinde kullanılan karekodlar ise QR deseni üzerine kurulu, içeriğinin biçimi ilgili düzenleyici kurumlarca belirlenmiş özel standartlardır. Üç köşesinde iç içe kareler görüyorsanız baktığınız şey bir QR koddur.
Özetle
- QR kod yalnızca metin taşıyan bir desendir; tehlike ya da fayda, o metnin götürdüğü yerdedir.
- Hata düzeltme seviyesini ortama göre seçin; logo kullanacaksanız yüksek seviyeye çıkın.
- Değişmeyecek içerik için statik kod, değişebilecek hedefler için kendi alan adınızda yönlendirme kullanın.
- Baskıda en sık hatalar: sessiz bölgeyi yok saymak, düşük kontrast ve prova yapmamak.
- Okuttuğunuz kodun açtığı adresi okumadan ilerlemeyin; QR koddan gelen sayfaya şifre ve kart bilgisi girmeyin.