Generator QR Code
Apa pun yang Anda masukkan di sini tidak disimpan, dicatat, atau dibagikan.
Buat kode QR untuk URL, teks, atau jaringan Wi-Fi lalu unduh sebagai PNG atau SVG. Semuanya terjadi di peramban Anda, jadi tidak ada yang diunggah dan kodenya tidak pernah kedaluwarsa.
Cara memakai
- Masukkan URL atau teks yang ingin dikodekan.
- Sesuaikan koreksi kesalahan, warna, dan zona kosong bila perlu.
- Unduh sebagai PNG untuk dokumen, atau SVG untuk cetak.
Apa yang sebenarnya ada di dalam pola
Kode QR adalah kisi modul dengan struktur tetap. Tiga kotak besar di sudut adalah finder pattern, yang memungkinkan pemindai menemukan kode dan mengetahui orientasinya dari sudut mana pun. Alignment pattern yang lebih kecil muncul di versi yang lebih besar untuk mengoreksi distorsi kode yang difoto di permukaan melengkung atau miring. Garis putus-putus di antara finder pattern adalah timing pattern, yang memberi pemindai kisi modulnya. Di sekitar finder pattern terdapat informasi format yang menjelaskan level koreksi error dan mask.
Selebihnya adalah data dan kode koreksi error yang disusun berselang-seling. Ada 40 versi, dari 21 kali 21 modul hingga 177 kali 177, dan versi terkecil yang muat untuk konten Anda dipilih otomatis - itulah sebabnya kode tampak makin rapat saat Anda mengetik.
Mode encoding lebih penting dari yang dikira. Konten numerik memakai sekitar 3,3 bit per digit, alfanumerik sekitar 5,5 - tetapi set alfanumerik hanya berisi huruf kapital dan beberapa simbol. Apa pun di luar itu jatuh ke mode byte dengan 8 bit per karakter. Inilah sebabnya HTTPS://EXAMPLE.COM/PATH menghasilkan kode yang jauh lebih sederhana daripada URL yang sama dalam huruf kecil: skema dan host tidak membedakan huruf besar-kecil, jadi mengubahnya ke huruf kapital tidak ada ruginya, dan selisihnya bisa satu atau dua versi.
Membuat kode yang andal dipindai
Pertahankan quiet zone. Spesifikasi mewajibkan ruang kosong selebar empat modul di semua sisi, dan menghapusnya agar muat di tata letak adalah satu-satunya penyebab paling umum kode cetak gagal dipindai. Pemindai memakai ruang itu untuk menemukan kode sejak awal.
Pertahankan polaritas. Modul gelap di atas latar terang adalah yang diharapkan setiap pemindai; kode yang dibalik bisa dibaca sebagian pemindai tetapi tidak oleh yang lain. Jaga kontras tetap tinggi, hindari gradien dan latar foto di belakang modul, dan jika ingin memberi warna, ubah warna gelapnya alih-alih membuatnya lebih terang.
Sesuaikan ukuran dengan jarak. Patokan praktisnya, lebar kode sekitar sepersepuluh jarak pemindaian - jadi kira-kira 3 cm untuk ponsel yang dipegang 30 cm, dan jauh lebih besar dari perkiraan orang untuk poster yang dibaca dari seberang ruangan. Pada cetakan, jangan biarkan modul lebih kecil dari sekitar 0,4 mm, dan periksa hasil cetak yang sebenarnya, bukan pratinjau di layar.
Jika Anda menaruh logo di tengah, naikkan dulu koreksi error ke H. Level itu menyediakan redundansi sekitar 30%, yang menutupi area yang tertutup - tetapi logo tetap harus dijauhkan dari finder pattern, dan ada baiknya memindai hasilnya dengan dua atau tiga ponsel berbeda sebelum mencetak seribu lembar.
Format isi
Kode QR membawa teks, dan apa yang dilakukan pemindai dengan teks itu bergantung pada konvensi. URL akan dibuka. Selain itu biasanya ditampilkan sebagai teks biasa kecuali cocok dengan format yang dikenal.
Wi-Fi memakai WIFI:T:WPA;S:namajaringan;P:katasandi;; dengan T diisi WPA, WEP, atau nopass. Perhatikan bahwa titik koma wajib ada dan karakter khusus di nama atau kata sandi perlu di-escape dengan backslash. Nomor telepon memakai tel:, email memakai mailto: dengan sintaks query biasa untuk subjek dan isi, dan lokasi memakai geo: dengan lintang dan bujur. Detail kontak memakai vCard, yang bertele-tele tetapi didukung sangat luas.
Apa pun yang bergantung pada skema khusus aplikasi hanya berfungsi di perangkat yang memasang aplikasi itu, itulah sebabnya URL https biasa yang dialihkan biasanya lebih andal daripada skema kustom yang cerdik.
Kode statis dan dinamis
Kode yang dibuat di sini bersifat statis: konten Anda dikodekan langsung ke dalam modul. Kode ini berfungsi selamanya, berfungsi offline, tidak bergantung pada layanan apa pun, dan tidak melaporkan apa pun kepada siapa pun. Tetapi kode ini juga tidak bisa diubah - jika URL tujuannya pindah, semua salinan cetak menjadi tidak berguna.
Kode dinamis mengatasinya dengan mengodekan URL pengalihan pendek milik penyedia, yang meneruskannya ke tujuan yang sedang Anda tetapkan dan menghitung jumlah pindaian di tengah jalan. Ini benar-benar berguna untuk kampanye yang tujuannya akan berubah, dan ada baiknya jelas soal harganya: penyedia melihat setiap pindaian, kode berhenti berfungsi jika akun habis masa berlakunya atau layanan ditutup, dan banyak generator gratis diam-diam membuat kode dinamis tanpa memberi tahu.
Jika Anda menginginkan fleksibilitas itu, cara yang jujur adalah kode statis yang mengarah ke URL pendek di domain milik Anda sendiri, dengan pengalihan di sisi server. Anda tetap bisa mengubah tujuan, dan tidak ada pihak lain di tengah jalurnya.
Bagaimana koreksi kesalahan membuat kode rusak tetap terbaca
Kode QR memakai pengkodean Reed-Solomon, keluarga kode pengoreksi kesalahan yang sama yang dulu melindungi data di CD dan dipakai dalam komunikasi antariksa dalam. Gagasannya adalah memperlakukan data sebagai koefisien sebuah polinomial lalu mengirimkan titik-titik tambahan pada kurva itu, sehingga selama titik yang selamat cukup banyak, data aslinya bisa direkonstruksi secara persis.
Tersedia empat tingkat. L memulihkan sekitar 7% dari codeword, M sekitar 15%, Q sekitar 25%, dan H sekitar 30%, dan redundansinya disebar ke seluruh simbol alih-alih dipusatkan di satu titik, itulah sebabnya kerusakan di salah satu sudut jarang jadi masalah. Tingkat yang lebih tinggi tidak membuat kode lebih mudah dibaca dalam kondisi baik; ia membuat kode bertahan pada kondisi yang lebih buruk, dengan konsekuensi pola yang lebih rapat untuk isi yang sama.
M adalah pilihan bawaan yang masuk akal untuk layar atau cetakan yang bersih. H diperuntukkan bagi kode yang akan dicetak pada permukaan melengkung, terkena cuaca, atau tertutup sebagian oleh logo. Menaikkan tingkat akan menambah jumlah modul, jadi kode tingkat H untuk URL panjang bisa terasa jauh lebih rapat daripada padanannya di tingkat M, dan itu merugikan bila ukuran cetaknya sudah tetap.
Kapasitas, dan mengapa memendekkan isi itu membantu
Kapasitas ditentukan oleh versi, tingkat koreksi kesalahan, dan mode pengkodean secara bersamaan. Pada versi 10 - kisi 57 kali 57 - dengan koreksi tingkat M, satu kode menampung kira-kira 271 karakter alfanumerik atau 213 byte. Pada versi tertinggi, yaitu 40, angkanya mencapai ribuan, tetapi simbol sebesar itu tidak praktis dicetak dan lambat dipindai.
Mode pengkodean adalah tuas yang paling sering terlewat. Isi berupa angka dipadatkan sekitar 3,3 bit per digit, alfanumerik 5,5 bit, dan selebihnya jatuh ke 8 bit per karakter. Himpunan alfanumerik terdiri atas huruf kapital, angka, dan sembilan simbol, sehingga HTTPS://EXAMPLE.COM/PATH terkodekan jauh lebih efisien daripada bentuk huruf kecilnya, dan karena skema serta host tidak membedakan huruf besar-kecil, mengubahnya menjadi kapital tidak merugikan sama sekali.
Tuas yang lain adalah memendekkan URL, dan ini berlaku sebelum semua hal di atas: makin sedikit karakter berarti versi yang lebih rendah, modul yang lebih besar pada ukuran cetak yang sama, serta kode yang bisa dipindai dari jarak lebih jauh dan dalam cahaya yang lebih buruk.
Quishing, dan apa yang seharusnya ditampilkan pemindai
Kode QR tidak bisa dibaca isinya oleh orang yang memindainya. Seluruh praktik yang kini disebut quishing bersandar pada sifat itu: stiker yang ditempel menutupi kode asli di mesin parkir dan meja restoran, kode di dalam email yang lolos dari pemindai tautan karena berbentuk gambar, dan kode pada poster yang mengarah ke halaman pembayaran yang dibuat sangat meyakinkan.
Pertahanannya justru sederhana. Pilih pemindai yang menampilkan pratinjau URL sebelum membukanya, dan semua kamera ponsel masa kini sudah melakukannya. Perhatikan domainnya, bukan tampilan halamannya, karena halaman pembayaran sangat mudah ditiru. Curigai kode fisik yang tampak ditempelkan di atas sesuatu, karena begitulah rupa stiker yang menutupi kode cetakan bila dilihat dari dekat.
Bagi pihak yang menerbitkan kode, langkah pendampingnya adalah mengarahkan kode ke domain yang dikenali orang sebagai milik Anda, bukan ke layanan pemendek tautan, supaya pratinjaunya punya arti. Kode yang mengarah ke domain pendek yang asing tidak bisa dibedakan dari kode milik penyerang.
Melacak pemindaian tanpa menyerahkan kodenya
Kode dinamis dari penyedia layanan adalah cara umum untuk menghitung pemindaian dan mengganti tujuan, dan biayanya nyata: penyedia melihat setiap pemindaian, kode berhenti bekerja bila akunnya kedaluwarsa, dan sebagian generator gratis menghasilkan kode dinamis tanpa memberi tahu - artinya kode yang sudah Anda cetak bergantung pada layanan yang tidak pernah Anda pilih untuk diandalkan.
Versi yang Anda kendalikan sendiri adalah kode statis yang mengarah ke jalur pendek di domain Anda sendiri, dengan pengalihan ditangani server Anda sendiri. Mengganti tujuan cukup lewat perubahan konfigurasi, datanya masuk ke log Anda sendiri, dan tidak ada pihak lain di jalur itu. Memakai jalur terpisah untuk tiap kampanye memberi Anda hitungan per lokasi penempatan, yang justru menjadi alasan utama orang membeli kode dinamis.
Dengan cara mana pun, kodenya sendiri tidak pernah melaporkan apa-apa. Pemindaian baru terhitung ketika tujuannya diminta, yang berarti kode di poster yang difoto tetapi tidak pernah dibuka sama sekali tidak terlihat, dan siapa pun yang menyalin URL-nya secara manual terhitung sama seperti orang yang memakai pemindai.
Daftar periksa sebelum masuk cetak
Ujilah benda jadinya, bukan berkas desainnya. Cetak kode pada ukuran final, di atas bahan yang akan dipakai, lalu pindai dengan setidaknya tiga ponsel, termasuk satu Android lawas. Uji juga pada pencahayaan tempat kode itu nantinya berada - kode di dinding gelap sebuah bar yang remang adalah persoalan yang berbeda dari kode yang sama di atas meja.
Pastikan zona kosong tetap utuh dalam tata letaknya. Ruang bersih selebar empat modul di setiap sisi merupakan syarat dalam spesifikasi, dan penyebab paling umum gagalnya kode cetak adalah desainer yang mendorong teks atau garis tepi masuk ke margin itu demi komposisi yang enak dipandang.
Pastikan tujuannya benar sebelum naik cetak, dan jaga agar tetap berfungsi setelahnya. Kode hidup lebih lama daripada kampanye yang melahirkannya: URL yang ditujunya sebaiknya dialihkan, bukan menghasilkan 404, ketika halaman tujuannya dipensiunkan, karena kode yang sudah dicetak tidak bisa diedit dan salinannya beredar bertahun-tahun.
Pertanyaan umum
- Apakah kode ini akan berhenti bekerja nanti?
- Tidak. Datanya dikodekan langsung ke dalam polanya, jadi kodenya berfungsi selamanya dan tidak bergantung pada layanan mana pun. Banyak generator gratis menghasilkan kode yang mengarah ke URL pengalihan milik mereka sendiri, yang memungkinkan mereka melacak pemindaian dan bisa berhenti bekerja bila akunnya kedaluwarsa atau mereka mulai menuntut paket berbayar. Di sini tidak ada pengalihan ke mana pun.
- Apa yang diubah oleh tingkat koreksi kesalahan?
- Tingkat itu menentukan seberapa banyak bagian kode yang boleh rusak atau tertutup dan masih terbaca: sekitar 7% pada L, 15% pada M, 25% pada Q, dan 30% pada H. Tingkat yang lebih tinggi memerlukan kode yang lebih padat untuk data yang sama. Pakai H bila Anda berencana menaruh logo di tengah, dan L bila kodenya akan bersih dan Anda ingin sesederhana mungkin.
- Kenapa kode saya makin padat saat teksnya bertambah?
- Kode QR punya 40 versi, dari 21x21 sampai 177x177 modul. Versi terkecil yang muat untuk data Anda dipilih otomatis, jadi isi yang lebih panjang berarti kisi yang lebih padat. Memendekkan URL biasanya cara terbaik agar kodenya tetap mudah dipindai.
- Sebaiknya unduh PNG atau SVG?
- PNG untuk salindia, dokumen, dan tempat mana pun yang mengharapkan gambar biasa. SVG untuk cetak dan format besar, karena ia vektor dan tetap tajam di ukuran berapa pun.
- Kenapa perlu menyisakan zona kosong di sekeliling kode?
- Spesifikasinya mensyaratkan ruang kosong selebar empat modul di setiap sisi. Pemindai memakainya untuk menemukan kode, dan menghapusnya adalah salah satu penyebab paling umum kode cetak gagal terbaca.
- Apakah ini menangani teks non-Latin?
- Ya. Isinya dikodekan sebagai UTF-8, jadi bahasa Jepang, Tionghoa, Korea, dan emoji semuanya selamat bolak-balik. Sebagian generator merusaknya diam-diam karena mengodekan bita sebagai Latin-1.
Terakhir diperbarui:
Sertakan langkah, hasil yang diharapkan, dan hasil sebenarnya. Hapus rahasia dan data pribadi.
