Cara Membuat QR Code Gratis
QR code menyandikan teks sebagai pola 2D yang bisa dibaca kamera ponsel tanpa aplikasi tambahan. Kebanyakan orang menggunakannya untuk URL, tapi QR code juga bisa menyimpan kredensial WiFi, kartu kontak, alamat email, nomor telepon, dan teks biasa.
Di browser
Tempel teks atau URL ke QR Code Generator, lalu unduh hasilnya. Semua proses berjalan di browser — tidak ada yang dikirim ke server.
Untuk cetak: unduh ukuran 1000×1000 px atau lebih besar. Untuk digital (website, presentasi): 300×300 px sudah cukup.
Apa yang bisa dikodekan
| Jenis konten | Format yang dimasukkan |
|---|---|
| URL | https://example.com |
| Teks biasa | String teks apa pun |
mailto:user@example.com |
|
| Nomor telepon | tel:+6281234567890 |
| SMS | SMSTO:+6281234567890:Pesan kamu |
| WiFi | WIFI:T:WPA;S:NamaJaringan;P:password;; |
| Lokasi | geo:-6.2088,106.8456 |
| vCard (kontak) | BEGIN:VCARD...END:VCARD |
QR code WiFi paling praktis — tamu tinggal scan tanpa perlu membacakan password.
Python: qrcode
pip install qrcode[pil]
import qrcode
# URL dasar
qr = qrcode.make("https://example.com")
qr.save("qr.png")
Dengan koreksi error kustom dan ukuran:
import qrcode
from qrcode.constants import ERROR_CORRECT_H
qr = qrcode.QRCode(
version=None, # ukuran otomatis
error_correction=ERROR_CORRECT_H, # pemulihan kerusakan 30%
box_size=10, # piksel per modul
border=4, # lebar quiet zone (modul)
)
qr.add_data("https://example.com")
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("qr.png")
Level koreksi error menentukan seberapa banyak kode yang rusak masih bisa dibaca:
| Level | Kerusakan maks | Kapan digunakan |
|---|---|---|
| L | 7% | Layar digital bersih |
| M | 15% | Keperluan umum |
| Q | 25% | Permukaan yang sedikit aus |
| H | 30% | Cetak di objek fisik |
JavaScript: qrcode
npm install qrcode
const QRCode = require('qrcode');
// Simpan sebagai file PNG
QRCode.toFile('qr.png', 'https://example.com', { width: 300 }, err => {
if (err) throw err;
});
// Dapatkan sebagai data URL (untuk embed di HTML/email)
const url = await QRCode.toDataURL('https://example.com', { width: 300 });
// url = "data:image/png;base64,..."
// Dapatkan sebagai string SVG (terbaik untuk cetak)
const svg = await QRCode.toString('https://example.com', { type: 'svg' });
require('fs').writeFileSync('qr.svg', svg);
Gunakan SVG untuk materi cetak — bisa diperbesar ke ukuran berapa pun tanpa pecah.
Format WiFi QR
Format lengkapnya:
WIFI:T:WPA;S:NamaJaringan;P:PasswordKamu;;
Field:
T: Jenis keamanan (WPA,WEP, atau kosong untuk jaringan terbuka)S: SSID (nama jaringan, case-sensitive)P: PasswordH:trueopsional — tambahkan jika jaringan disembunyikan
Kamera Android dan iOS membaca ini secara native. Tidak perlu aplikasi tambahan.
Ukuran QR code dan jarak scan
QR code yang terlalu kecil tidak bisa dibaca dengan baik di pencahayaan buruk atau dari sudut miring.
| Ukuran cetak | Jarak scan andal |
|---|---|
| 2 × 2 cm | Hingga 20 cm |
| 4 × 4 cm | Hingga 40 cm |
| 8 × 8 cm | Hingga 80 cm |
| 20 × 20 cm | Hingga 2 m |
Aturan umumnya: jarak scan sekitar 10× ukuran cetak. QR code di poster harus jauh lebih besar dari yang ada di kartu nama.
Ringkasan
- URL, kredensial WiFi, kartu kontak, dan teks biasa semuanya bisa dikodekan ke QR code standar.
- Gunakan output SVG untuk materi cetak — tidak pecah saat diperbesar.
- Koreksi error H (pemulihan 30%) untuk cetak fisik; L untuk digital saja.
- Format WiFi:
WIFI:T:WPA;S:NamaJaringan;P:password;; - Jarak scan sekitar 10× ukuran kode yang dicetak.