OpenQR
resmiBuat kode QR dan kelola kode QR dinamis (yang dapat diedit) dengan analitik pemindaian melalui server MCP yang dihosting (17 alat) dan REST API gratis
Apa yang bisa Anda lakukan dengan OpenQR MCP?
- Buat kode QR statis — Minta kode QR dari teks atau URL apa pun melalui
generate_qr, yang mengembalikan PNG atau SVG. - Buat kode dinamis yang dapat diedit — Gunakan
create_dynamic_qruntuk membuat QR yang tujuannya dapat Anda ubah nanti tanpa mencetak ulang. - Perbarui dan kelola kode — Ubah tujuan, label, tag, atau folder dengan
update_dynamic_qr, atau daftarkan dan hapus melaluilist_dynamic_qrdandelete_dynamic_qr. - Buat massal untuk kampanye cetak — Hasilkan hingga 200 kode dinamis sekaligus dengan
bulk_create_dynamic_qr. - Atur dengan folder dan tema — Buat folder melalui
create_folderdan simpan preset gaya yang dapat digunakan kembali dengancreate_themeuntuk menerapkan branding yang konsisten. - Lacak analitik pemindaian — Tarik statistik pemindaian untuk kode dinamis apa pun menggunakan
get_scans, termasuk data tingkat negara.
Dokumentasi
OpenQR
Generator kode QR gratis, sumber terbuka, tanpa tanda air. Berjalan sepenuhnya di peramban Anda — tanpa pelacakan, tanpa pendaftaran, tanpa batasan.
Sebagian besar generator QR online memikat Anda dengan "gratis" lalu menambahkan tanda air, membatasi ukuran unduhan, menyembunyikan ekspor vektor di balik paywall, atau mengarahkan kode Anda melalui server mereka sehingga mati saat Anda berhenti membayar. Kode QR hanyalah standar terbuka (ISO/IEC 18004) yang tidak memerlukan biaya untuk dibuat. OpenQR mempertahankan hal itu.
Repositori ini adalah alat generator dasar — implementasi sumber terbuka referensi. Repositori ini sengaja dibuat kecil dan mudah untuk di-fork.
Versi yang di-hosting: API gratis, server MCP, dan kode yang dapat diedit
Semua yang ada di repositori ini gratis dan tetap gratis, tanpa tanda air dan tanpa kedaluwarsa. Build yang di-hosting di openqr.uk menambahkan lapisan akun opsional bagi pengguna yang menginginkan kode yang dapat diedit dan otomatisasi:
- Kode QR dinamis / dapat diedit dengan analitik pemindaian. Ubah tujuan setelah Anda mencetaknya. 3 gratis dengan akun gratis (7 hari pemindaian berdasarkan negara); tanpa batas dengan Pro seharga £9/bulan atau £72/tahun, yang juga membuka riwayat analitik lengkap, detail kota dan wilayah, rincian perangkat dan perujuk dengan ekspor CSV, subdomain bermerek, dan kode yang dilindungi kata sandi.
- API REST gratis. Buat kode dan kelola kode dinamis secara terprogram.
Spesifikasi OpenAPI di
/openapi.json; dokumentasi interaktif di openqr.uk/api. - Server MCP yang di-hosting di
https://openqr.uk/mcp(Streamable HTTP, 17 alat). Buat dan kelola kode QR langsung dari Claude, Cursor, atau klien MCP mana pun. Terdaftar di Registri MCP resmi. Klien yang mendukung remote terhubung ke URL tersebut secara langsung; klien khusus stdio dapat menjembataninya dengannpx -y @open-qr/mcpdanOPENQR_API_KEYyang disetel (detail).
Generator statis di repositori ini tidak pernah memanggil semua itu. Generator ini tetap 100% berbasis klien (lihat Privasi), dan tidak ada satu pun yang diperlukan untuk menggunakan atau menyebarkan sendiri generator ini.
Alat
Server MCP yang di-hosting di https://openqr.uk/mcp mengekspos 17 alat ini. Setiap alat
memerlukan kunci API gratis — buat satu di openqr.uk/api dan teruskan
sebagai Authorization: Bearer oqr_... pada koneksi MCP.
| Alat | Fungsinya |
|---|---|
generate_qr | Buat kode QR statis dari teks atau URL apa pun. Mengembalikan gambar PNG atau markup SVG. |
create_dynamic_qr | Buat kode QR yang dapat diedit yang tujuannya dapat Anda ubah nanti tanpa mencetak ulang. |
update_dynamic_qr | Ubah tujuan, label, tautan pendek khusus, tag, atau folder kode dinamis. |
get_dynamic_qr | Dapatkan detail lengkap satu kode: tujuan, tautan pendek, label, jenis, tag, folder, status, tanggal pembuatan. |
get_scans | Statistik pemindaian untuk kode dinamis. |
list_dynamic_qr | Daftarkan kode dinamis Anda dengan id, URL pendek, tujuan, label, dan status. |
delete_dynamic_qr | Hapus permanen kode dinamis. Tautan pendeknya berhenti berfungsi. |
bulk_create_dynamic_qr | Buat hingga 200 kode dinamis sekaligus. |
list_folders | Daftarkan folder Anda. |
create_folder | Buat folder untuk mengatur kode. |
delete_folder | Hapus folder. Kode-kodenya tidak difile, tidak dihapus. |
list_themes | Daftarkan tema gaya yang tersimpan. Terapkan satu dengan meneruskan id atau namanya sebagai theme. |
create_theme | Simpan tema gaya yang dapat digunakan kembali (warna, gaya titik dan sudut). |
delete_theme | Hapus tema yang tersimpan. Kode yang sudah diberi gaya dengannya tetap mempertahankan tampilannya. |
get_subdomain | Tampilkan subdomain bermerek pada akun, dan apakah subdomain tersebut ditangguhkan. |
set_subdomain | Klaim atau ubah subdomain bermerek sehingga kode juga terselesaikan di {name}.oqr.to. Khusus Pro. |
clear_subdomain | Lepaskan subdomain bermerek. Kode tetap aktif di tautan pendek biasa. |
Ini juga mengekspos 5 sumber daya dan 4 prompt:
- Sumber daya adalah preset gaya QR bawaan di
openqr://preset/classic,/teal,/high-contrast,/dots, dan/classy. Baca satu dan teruskan gayanya kecreate_theme. - Prompt adalah
create_tracked_qr,bulk_qr_for_print,brand_a_qr, danqr_scan_report.
Fitur
- Tanpa tanda air, tanpa batas ukuran, tanpa pendaftaran — setiap fitur gratis
- Privat secara desain — kode dibuat sepenuhnya di peramban Anda; konten tidak pernah menyentuh server
- Ekspor ke mana saja — PNG / WebP hingga 4096px, plus SVG dan PDF vektor sejati
- Gaya lengkap — warna, gradien, gaya titik & sudut, penyematan logo, bingkai "Scan me"
- Input cerdas — tempel tautan atau teks dan jenisnya terdeteksi otomatis
- Payload kaya — URL, teks, email, telepon, SMS, WhatsApp, Wi-Fi, dan pemilih lokasi berbasis peta
- Salin sekali klik, tautan desain yang dapat dibagikan, terang/gelap, responsif, dapat diakses keyboard
Mulai cepat
pnpm install
pnpm dev # http://localhost:3011
Build & self-host
pnpm build
pnpm start # serves on :3011 (standalone output)
Ini adalah aplikasi Next.js standar — host di mana saja (VPS, Raspberry Pi, Cloudflare, di belakang proxy balik apa pun). Ini tidak memerlukan variabel lingkungan, tidak ada database, tidak ada rahasia untuk dijalankan.
Penyematan
Komponen <Generator/> mandiri dan dapat dikonfigurasi:
import { Generator } from "@/components/generator/generator";
// Full page (default OpenQR logo header):
<Generator />
// Embedded widget, your own branding, no default header:
<Generator embedded header={<MyLogo />} />
// Inject your own post-download call-to-action:
<Generator renderSuccess={(variant) => <MySupportCluster variant={variant} />} />
Alat ini mengirimkan nol analitik. Jika Anda menginginkan peristiwa UI anonim (misalnya format ekspor mana yang digunakan — tidak pernah konten QR), suntikkan penangan:
import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));
Privasi
Pembuatan QR terjadi 100% di peramban Anda. Satu-satunya panggilan keluar opsional adalah di alat Lokasi: petak peta dari CARTO dan pencarian alamat melalui Nominatim OpenStreetMap. Tidak ada hal lain yang meninggalkan perangkat.
Tumpukan teknologi
Next.js 16 (App Router) · React 19 · TypeScript (ketat) · Tailwind v4 ·
qr-code-styling · Leaflet · pnpm.
Kontribusi
Lihat CONTRIBUTING.md. Jaga agar tetap sederhana, dapat diakses, berbasis klien, dan gratis — tidak ada fitur yang boleh mengharuskan pembayaran untuk menghapus tanda air atau membuka format.
Lisensi
AGPL-3.0 © 2026 Sam Moreton.
Anda bebas menggunakan, mempelajari, memodifikasi, menyebarkan sendiri, dan mendistribusikan ulang OpenQR di bawah AGPL-3.0. Jika Anda menjalankan versi yang dimodifikasi sebagai layanan jaringan, AGPL mengharuskan Anda membuat sumber Anda tersedia di bawah lisensi yang sama. Jika itu tidak sesuai dengan kasus penggunaan Anda, lisensi komersial tersedia — lihat NOTICE.