OpenQR

oficial

Genera códigos QR y gestiona códigos QR dinámicos (editables) con análisis de escaneo a través de un servidor MCP alojado (17 herramientas) y una API REST gratuita.

¿Qué puedes hacer con OpenQR MCP?

  • Generar códigos QR estáticos — Solicita un código QR a partir de cualquier texto o URL mediante generate_qr, que devuelve PNG o SVG.
  • Crear códigos dinámicos editables — Usa create_dynamic_qr para hacer un QR cuyo destino puedas cambiar más tarde sin reimprimirlo.
  • Actualizar y gestionar códigos — Modifica destinos, etiquetas, tags o carpetas con update_dynamic_qr, o lista y elimina mediante list_dynamic_qr y delete_dynamic_qr.
  • Creación masiva para campañas impresas — Genera hasta 200 códigos dinámicos a la vez con bulk_create_dynamic_qr.
  • Organiza con carpetas y temas — Crea carpetas mediante create_folder y guarda ajustes de estilo reutilizables con create_theme para aplicar una imagen de marca coherente.
  • Seguimiento de analíticas de escaneo — Obtén estadísticas de escaneo para cualquier código dinámico usando get_scans, incluidos datos a nivel de país.

Documentación

OpenQR

Generador de códigos QR gratuito, de código abierto y sin marcas de agua. Funciona completamente en tu navegador: sin seguimiento, sin registro, sin límites.

License: AGPL-3.0 Next.js No watermark

La mayoría de los generadores de códigos QR en línea te atraen con "gratis" y luego añaden una marca de agua, limitan el tamaño de descarga, ocultan la exportación vectorial tras un muro de pago, o enrutan tu código a través de sus servidores para que deje de funcionar cuando dejas de pagar. Un código QR es solo un estándar abierto (ISO/IEC 18004) que no cuesta nada generar. OpenQR lo mantiene así.

Este repositorio es la herramienta generadora básica: la implementación de referencia de código abierto. Es deliberadamente pequeña y fácil de bifurcar.

Versión alojada: API gratuita, servidor MCP y códigos editables

Todo en este repositorio es y seguirá siendo gratuito, sin marcas de agua ni caducidad. La versión alojada en openqr.uk añade una capa de cuenta opcional para quienes quieran códigos editables y automatización:

  • Códigos QR dinámicos / editables con análisis de escaneos. Cambia el destino después de imprimirlo. 3 gratuitos con una cuenta gratuita (7 días de escaneos por país); ilimitados con Pro por £9/mes o £72/año, que también desbloquea el historial completo de análisis, detalle por ciudad y región, desglose por dispositivo y referente con exportación CSV, un subdominio de marca y códigos protegidos por contraseña.
  • API REST gratuita. Genera códigos y gestiona códigos dinámicos mediante programación. Especificación OpenAPI en /openapi.json; documentación interactiva en openqr.uk/api.
  • Servidor MCP alojado en https://openqr.uk/mcp (HTTP Streamable, 17 herramientas). Genera y gestiona códigos QR directamente desde Claude, Cursor o cualquier cliente MCP. Listado en el Registro MCP oficial. Los clientes con capacidad remota se conectan directamente a esa URL; los clientes solo-stdio pueden conectarse mediante un puente con npx -y @open-qr/mcp y OPENQR_API_KEY configurados (detalles).

El generador estático de este repositorio nunca llama a nada de eso. Permanece 100% en el lado del cliente (ver Privacidad), y nada de eso es necesario para usar o autoalojar el generador.

Herramientas

El servidor MCP alojado en https://openqr.uk/mcp expone estas 17 herramientas. Cada herramienta requiere una clave API gratuita: crea una en openqr.uk/api y pásala como Authorization: Bearer oqr_... en la conexión MCP.

HerramientaQué hace
generate_qrGenera un código QR estático a partir de cualquier texto o URL. Devuelve una imagen PNG o marcado SVG.
create_dynamic_qrCrea un código QR editable cuyo destino puedes cambiar más tarde sin reimprimir.
update_dynamic_qrCambia el destino, la etiqueta, el enlace corto personalizado, las etiquetas o la carpeta de un código dinámico.
get_dynamic_qrObtén los detalles completos de un código: destino, enlace corto, etiqueta, tipo, etiquetas, carpeta, estado, fecha de creación.
get_scansEstadísticas de escaneo para un código dinámico.
list_dynamic_qrLista tus códigos dinámicos con id, URL corta, destino, etiqueta y estado.
delete_dynamic_qrElimina permanentemente un código dinámico. Su enlace corto deja de funcionar.
bulk_create_dynamic_qrCrea hasta 200 códigos dinámicos a la vez.
list_foldersLista tus carpetas.
create_folderCrea una carpeta para organizar códigos.
delete_folderElimina una carpeta. Sus códigos se desarchivan, no se eliminan.
list_themesLista los temas de estilo guardados. Aplica uno pasando su id o nombre como theme.
create_themeGuarda un tema de estilo reutilizable (colores, estilos de puntos y esquinas).
delete_themeElimina un tema guardado. Los códigos ya estilizados con él conservan su aspecto.
get_subdomainMuestra el subdominio de marca en la cuenta y si está suspendido.
set_subdomainReclama o cambia el subdominio de marca para que los códigos también se resuelvan en {name}.oqr.to. Solo Pro.
clear_subdomainLibera el subdominio de marca. Los códigos siguen activos en el enlace corto normal.

También expone 5 recursos y 4 indicaciones:

  • Recursos son ajustes predefinidos de estilo QR integrados en openqr://preset/classic, /teal, /high-contrast, /dots y /classy. Lee uno y pasa su estilo a create_theme.
  • Indicaciones son create_tracked_qr, bulk_qr_for_print, brand_a_qr y qr_scan_report.

Características

  • Sin marcas de agua, sin límites de tamaño, sin registro: cada función es gratuita
  • Privado por diseño: los códigos se generan completamente en tu navegador; el contenido nunca toca un servidor
  • Exporta a cualquier lugar: PNG / WebP hasta 4096px, además de SVG y PDF vectoriales reales
  • Estilizado completo: colores, degradados, estilos de puntos y esquinas, inserción de logotipos, marcos "Escanéame"
  • Entrada inteligente: pega un enlace o texto y el tipo se detecta automáticamente
  • Cargas útiles enriquecidas: URL, texto, correo electrónico, teléfono, SMS, WhatsApp, Wi-Fi y un selector de ubicación basado en mapa
  • Copia con un clic, enlaces de diseño compartibles, claro/oscuro, adaptable, accesible por teclado

Inicio rápido

pnpm install
pnpm dev        # http://localhost:3011

Compilación y autoalojamiento

pnpm build
pnpm start      # serves on :3011 (standalone output)

Es una aplicación Next.js estándar: alójala en cualquier lugar (un VPS, una Raspberry Pi, Cloudflare, detrás de cualquier proxy inverso). No necesita variables de entorno, base de datos ni secretos para funcionar.

Inserción

El componente <Generator/> es autónomo y configurable:

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} />} />

La herramienta incluye cero análisis. Si quieres eventos de interfaz anónimos (por ejemplo, qué formato de exportación se usó, nunca el contenido del QR), inyecta un controlador:

import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));

Privacidad

La generación de códigos QR ocurre 100% en tu navegador. Las únicas llamadas salientes opcionales están en la herramienta Ubicación: mosaicos de mapa de CARTO y búsquedas de direcciones mediante Nominatim de OpenStreetMap. Nada más sale del dispositivo.

Pila tecnológica

Next.js 16 (App Router) · React 19 · TypeScript (estricto) · Tailwind v4 · qr-code-styling · Leaflet · pnpm.

Contribuciones

Consulta CONTRIBUTING.md. Mantenlo simple, accesible, en el lado del cliente y gratuito: ninguna función debería requerir pago para eliminar una marca de agua o desbloquear un formato.

Licencia

AGPL-3.0 © 2026 Sam Moreton.

Eres libre de usar, estudiar, modificar, autoalojar y redistribuir OpenQR bajo la AGPL-3.0. Si ejecutas una versión modificada como servicio de red, la AGPL requiere que pongas tu código fuente a disposición bajo la misma licencia. Si eso no se adapta a tu caso de uso, hay disponible una licencia comercial: consulta NOTICE.