OpenQR

resmi

Buat 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; dapatkan output PNG atau SVG melalui generate_qr.
  • Buat dan kelola kode QR dinamis — Buat kode yang dapat diedit, ubah tujuan, daftarkan, atau hapus dengan create_dynamic_qr, update_dynamic_qr, dan delete_dynamic_qr.
  • Lacak analitik pemindaian — Minta statistik pemindaian untuk kode dinamis untuk melihat kinerja melalui get_scans.
  • Atur dengan folder dan tema — Buat folder dan preset gaya yang dapat digunakan kembali untuk menjaga kode tetap rapi dan bermerek menggunakan create_folder dan create_theme.
  • Buat massal untuk kampanye cetak — Buat hingga 200 kode dinamis sekaligus untuk proyek skala besar dengan bulk_create_dynamic_qr.

Dokumentasi

OpenQR

Generator kode QR gratis, sumber terbuka, tanpa tanda air. Berjalan sepenuhnya di peramban Anda — tanpa pelacakan, tanpa pendaftaran, tanpa batasan.

License: AGPL-3.0 Next.js No watermark Listed on mcpservers.org

Kebanyakan generator QR online memancing 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. Dirancang secara sengaja agar kecil dan mudah di-fork.

Jika OpenQR bermanfaat bagi Anda, bintang di repositori membantu orang lain menemukannya. Itulah satu-satunya permintaan.

Versi ter-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 ter-hosting di openqr.uk menambahkan lapisan akun opsional bagi mereka yang menginginkan kode yang dapat diedit dan otomatisasi:

  • Kode QR dinamis / dapat diedit dengan analitik pemindaian. Ubah tujuan setelah Anda mencetaknya. 1 gratis di akun gratis (7 hari pemindaian per negara); 25 kode yang dapat diedit di Pro seharga £9/bulan atau £90/tahun, yang juga membuka jendela analitik pemindaian 90 hari plus detail kota dan wilayah, perincian perangkat dan perujuk dengan ekspor CSV, subdomain bermerek, dan kode yang dilindungi kata sandi. Pelanggan yang sudah ada tetap mempertahankan paket dan harga saat ini.
  • API REST gratis. Buat kode dan kelola kode dinamis secara terprogram. Spesifikasi OpenAPI di /openapi.json; dokumentasi interaktif di openqr.uk/api.
  • Server MCP ter-hosting di https://openqr.uk/mcp (Streamable HTTP). Buat dan kelola kode QR langsung dari Claude, Cursor, atau klien MCP mana pun. Terdaftar di Registri MCP resmi. Klien yang mendukung remote dapat terhubung ke URL tersebut secara langsung; klien khusus stdio dapat menjembataninya dengan npx -y @open-qr/mcp dan OPENQR_API_KEY yang diatur (detail).

Generator statis di repositori ini tidak pernah memanggil semua itu. Ia tetap 100% berbasis klien (lihat Privasi), dan tidak ada satu pun yang diperlukan untuk menggunakan atau menyebarkan generator secara mandiri.

Menghubungkan klien MCP

Dapatkan kunci gratis di openqr.uk/api, lalu arahkan klien Anda ke server dengan kunci tersebut sebagai header autentikasi.

Claude Code:

claude mcp add --transport http openqr https://openqr.uk/mcp \
  --header "Authorization: Bearer oqr_YOUR_KEY"

Cursor (~/.cursor/mcp.json), dan klien lain yang mendukung Streamable HTTP:

{
  "mcpServers": {
    "openqr": {
      "url": "https://openqr.uk/mcp",
      "headers": {
        "Authorization": "Bearer oqr_YOUR_KEY"
      }
    }
  }
}

Alat

Server MCP ter-hosting di https://openqr.uk/mcp mengekspos alat-alat ini (jalankan tools/list untuk set yang aktif). Setiap alat memerlukan kunci API gratis — buat satu di openqr.uk/api dan berikan sebagai Authorization: Bearer oqr_... pada koneksi MCP.

AlatFungsinya
generate_qrMembuat kode QR statis dari teks atau URL apa pun. Mengembalikan gambar PNG atau markup SVG.
create_dynamic_qrMembuat kode QR yang dapat diedit yang tujuannya dapat diubah nanti tanpa mencetak ulang.
update_dynamic_qrMengubah tujuan, label, tautan pendek kustom, tag, atau folder kode dinamis.
get_dynamic_qrMendapatkan detail lengkap satu kode: tujuan, tautan pendek, label, jenis, tag, folder, status, tanggal pembuatan.
get_scansStatistik pemindaian untuk kode dinamis.
list_dynamic_qrMendaftar kode dinamis Anda dengan id, URL pendek, tujuan, label, dan status.
delete_dynamic_qrMenghapus kode dinamis secara permanen. Tautan pendeknya berhenti berfungsi.
bulk_create_dynamic_qrMembuat hingga 200 kode dinamis sekaligus.
list_foldersMendaftar folder Anda.
create_folderMembuat folder untuk mengatur kode.
delete_folderMenghapus folder. Kode-kodenya tidak difile, tidak dihapus.
list_themesMendaftar tema gaya yang disimpan. Terapkan satu dengan memberikan id atau namanya sebagai theme.
create_themeMenyimpan tema gaya yang dapat digunakan kembali (warna, gaya titik dan sudut).
delete_themeMenghapus tema yang disimpan. Kode yang sudah diberi gaya tetap mempertahankan tampilannya.
get_subdomainMenampilkan subdomain bermerek di akun, dan apakah subdomain tersebut ditangguhkan.
set_subdomainMengklaim atau mengubah subdomain bermerek sehingga kode juga terselesaikan di {name}.oqr.to. Khusus Pro.
clear_subdomainMelepaskan subdomain bermerek. Kode tetap aktif di tautan pendek biasa.

Ia 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 berikan gayanya ke create_theme.
  • Prompt adalah create_tracked_qr, bulk_qr_for_print, brand_a_qr dan qr_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). Ia tidak memerlukan variabel lingkungan, basis data, atau rahasia untuk berjalan. Skrip dev/start di atas menggunakan port 3011; gambar Docker di bawah melayani di 3000. Satu-satunya konfigurasi di kedua cara adalah PORT.

Deploy (gambar Docker)

Gambar multi-arsitektur (linux/amd64, linux/arm64) diterbitkan ke GHCR pada setiap tag rilis:

docker run -d --name openqr --restart unless-stopped -p 3000:3000 ghcr.io/open-qr/openqr:latest

Atau dengan docker-compose.yml:

docker compose up -d          # update later: docker compose pull && docker compose up -d

Sematkan tag versi di produksi (ghcr.io/open-qr/openqr:1.0.1); latest bergerak mengikuti setiap rilis. Kontainer ini adalah server mandiri non-root yang sudah dibangun sebelumnya dengan healthcheck, dan membawa LICENSE dan NOTICE di dalam gambar.

Deploy sekali klik

HostTautanCatatan
DigitalOcean App PlatformTombol 1-klikMembaca .do/deploy.template.yaml; instance terkecil, port 3000
RenderTombol BlueprintMembaca render.yaml; mengasumsikan instance berbayar (tingkat gratis Render tidur)
KoyebDeploy dari gambarTag ghcr.io/open-qr/openqr publik apa pun, tanpa build repositori

Deploy melalui salah satu dari ini tidak menambahkan ketentuan di luar AGPL-3.0: sumbernya adalah repositori ini, dan gambar membawa lisensi dan pemberitahuan pihak ketiga.

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.