Generator Kode QR Profesional
Buat kode QR secara lokal di browser, mendukung gaya (bentuk/titik lokasi), gradien, Logo, bingkai luar, dan berbagi. Data tidak diunggah, gratis selamanya, tanpa watermark.
Generator Kode QR
Gambar yang diunduh tidak memiliki watermark apa pun, dan alat ini dapat digunakan secara gratis selamanya.
Cara Penggunaan
- Pilih jenis (URL, teks, WiFi, vCard, pesan teks, email), masukkan atau tempelkan konten
- Sesuaikan ukuran, jarak tepi, warna, tingkat koreksi kesalahan, serta gaya (bentuk/titik lokasi), gradien, Logo, bingkai luar, dll.
- Pilih format PNG atau SVG
- Kode QR akan dibuat secara otomatis; setelah siap, Anda dapat "Unduh" atau "Salin"
- Saat menggunakan Logo atau gaya yang kompleks, disarankan untuk meningkatkan koreksi kesalahan ke H dan sisakan area tenang (pinggiran kosong) yang cukup
- Untuk cetak/tampilan, pastikan kontras tinggi antara latar depan dan latar belakang, hindari ukuran yang terlalu kecil dan distorsi yang berlebihan
Fitur Utama
- Dibuat secara murni di sisi klien (tidak diunggah)
- Mendukung output PNG dan SVG
- Gaya dapat disesuaikan: bentuk, titik lokasi, sudut bulat, celah
- Gradien (multi-warna, multi-arah)
- Logo ditumpuk (opsional otomatis meningkatkan tingkat koreksi kesalahan)
- Bingkai luar dan garis tepi (gaya kartu sudut bulat)
- Berbagi dan papan klip (tautan/gambar)
- Dukungan multi-bahasa dan tema
Apa itu Titik Penanda (Finder)?
Tiga kotak besar di empat sudut kode QR disebut Titik Penanda (Finder), yang digunakan untuk membantu kamera menemukan posisi dan sudut kode QR dengan cepat, sehingga memungkinkan koreksi dan dekodekan. Mereka biasanya memiliki struktur modul 7×7 berwarna hitam-putih (luar hitam, dalam putih, pusat hitam).
- Fungsi: Pengenalan cepat, tahan rotasi, tahan perspektif.
- Gaya: Alat ini mendukung rendering titik penanda berbentuk persegi, bulat, dan "gaya titik" (pilih di Gaya → Finder).
Siapa yang menemukan kode QR?
Kode QR (QR Code) ditemukan oleh insinyur perusahaan Jepang Denso Wave, Masahiro Hara, pada tahun 1994. QR adalah singkatan dari "Quick Response".
- Motif penemuan: Meningkatkan efisiensi pengenalan pada jalur produksi suku cadang mobil, melewati batasan kapasitas dan kecepatan pembacaan kode satu dimensi.
- Inspirasi desain: Permainan Go dengan bidak hitam-putih dan pola matriks mengilhami desain tahan gangguan tinggi "modular + grafis penanda".
- Kenapa tidak perlu membayar biaya paten: Denso Wave memiliki merek dagang dan sebagian paten, tetapi secara jelas membuka penggunaan secara gratis untuk mendorong penyebaran ekosistem (didukung untuk penggunaan komersial, tanpa biaya lisensi).
Standar dan saran penggunaan
- Standar internasional: ISO/IEC 18004 (Spesifikasi Simbol 2D QR Code), yang mendefinisikan versi, mask, koreksi kesalahan, struktur grafis, dll.
- Tingkat toleransi kesalahan: Empat tingkat L/M/Q/H (sekitar 7%/15%/25%/30% dapat dipulihkan), disarankan menggunakan tingkat yang lebih tinggi untuk penumpukan Logo.
- Isi pengkodean: Teks, URL, vCard, Wi-Fi, dll., disarankan untuk mengikuti spesifikasi format URI/data yang sesuai (misalnya
WIFI:T:WPA;S:SSID;P:PASS;;). - Pencetakan dan tampilan: Pastikan kontras latar depan/latar belakang dan ukuran zona tenang; hindari distorsi berlebih, ukuran terlalu kecil, dan gangguan tekstur yang terlalu padat.
- Aksesibilitas: Di tempat-tempat penting, disarankan untuk menyediakan teks/catatan cadangan, hindari menggunakan kode QR sebagai satu-satunya entri.
Membuat kode QR melalui bahasa pemrograman
Berikut adalah contoh sederhana bahasa yang sering digunakan, cocok untuk pemula dan kerangka kerja:
// Node: npm i qrcode
const QRCode = require('qrcode');
QRCode.toFile('qrcode.png', 'https://example.com', { errorCorrectionLevel: 'M' });
// Browser (Canvas):
// <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/browser.min.js"></script>
QRCode.toCanvas(document.getElementById('canvas'), 'Hello QR', { width: 256 });
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
// composer require endroid/qr-code
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;
$qr = QrCode::create('https://example.com');
$writer = new PngWriter();
$result = $writer->write($qr);
$result->saveToFile(__DIR__.'/qrcode.png');
// go get -u github.com/skip2/go-qrcode
package main
import "github.com/skip2/go-qrcode"
func main() {
qrcode.WriteFile("https://example.com", qrcode.Medium, 256, "qrcode.png")
}
// Maven: com.google.zxing:core, com.google.zxing:javase
// Minimal ZXing example
import com.google.zxing.BarcodeFormat;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) throws Exception {
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = writer.encode("https://example.com", BarcodeFormat.QR_CODE, 256, 256);
BufferedImage image = MatrixToImageWriter.toBufferedImage(matrix);
ImageIO.write(image, "png", new File("qrcode.png"));
}
}
// Cargo.toml
// qrcode = "0.13"
// image = "0.24"
use qrcode::QrCode;
use image::Luma;
fn main() {
let code = QrCode::new("https://example.com").unwrap();
let image = code.render<Luma<u8>>().min_dimensions(256, 256).build();
image.save("qrcode.png").unwrap();
}
Catatan: Kemampuan gaya yang didukung oleh berbagai pustaka berbeda-beda. Jika Anda membutuhkan gaya tingkat lanjut (titik, gradien, gaya titik penanda, bingkai luar, dll.), Anda dapat membuat PNG/SVG di alat ini dan langsung menggunakannya.