piapia123
es

Generador de códigos QR

Generadores

Todo se ejecuta en tu navegador: no se sube nada

CONTENIDO
VISTA PREVIA
Capacidad: un carácter CJK ocupa unos 3 bytes

Elige qué debe llevar el código, rellena los campos y el código QR aparece mientras escribes, listo para descargar como PNG o SVG vectorial. El tipo decide la sintaxis del texto que va dentro del código, no el dibujo en sí: un código WiFi tiene que leerse `WIFI:T:WPA;S:…;P:…;;` para que un teléfono reaccione, una tarjeta de contacto tiene que ser vCard y un evento de calendario, iCalendar. Esta herramienta construye esas cadenas por ti y los códigos que produce los reconoce como el mismo tipo el lector de QR de este sitio. La corrección de errores es ajustable: un código impreso en papel se dobla y se mancha, y un nivel más alto tolera más daño (L alrededor del 7%, M del 15%, Q del 25%, H del 30%), a cambio de un patrón más denso para el mismo contenido. Arriba a la derecha se muestran en vivo los bytes usados y la capacidad del nivel elegido, contando cada carácter CJK como tres bytes. ⚠️ Escanea el código tú mismo después de cambiar los colores. La mayoría de los lectores dan por hecho un código oscuro sobre fondo claro, así que un código claro sobre fondo oscuro a menudo no se lee, y ese fallo es silencioso: tu imagen se ve bien y el teléfono de enfrente simplemente no hace nada. Cuando el contraste es demasiado bajo aparece un aviso, e «Invertir colores» lo devuelve a su sitio.

Funciones

  • Trece tipos de contenido: texto / enlace, WiFi, tarjeta de contacto (vCard), tarjeta de contacto (MeCard), evento de calendario, correo, teléfono, SMS, ubicación, pago UPI, enlace a tienda de aplicaciones, configuración WireGuard y datos binarios
  • Los separadores dentro de los campos se escapan solos, así que una contraseña de WiFi con punto y coma no se corta — la causa habitual de «lee pero no conecta»
  • Los eventos de calendario se convierten a un instante UTC, así que quien esté en otra zona horaria ve la hora local correcta
  • Los códigos de pago UPI comprueban el formato del beneficiario y el importe, y añaden el `cu=INR` que exige NPCI
  • Las configuraciones WireGuard se revisan antes de generarlas: longitud de la clave, máscara en cada AllowedIPs y puerto en cada Endpoint — errores que en el teléfono solo se ven como «no conecta»
  • Los datos binarios aceptan hexadecimal o Base64 y se codifican en modo byte, así que un byte alto nunca se convierte en dos por culpa de UTF-8
  • Colores de primer plano y de fondo ajustables, con inversión en un clic; aviso cuando el contraste es demasiado bajo para escanear
  • Vista previa en vivo: el código se redibuja mientras escribes, sin pulsar ningún botón
  • Cuatro niveles de corrección de errores: L, M, Q y H, que toleran en torno al 7%, 15%, 25% y 30% de daño
  • Exporta a 256, 512 o 1024 píxeles, dibujado en límites de módulo enteros para que los bordes no se emborronen
  • Descarga un SVG vectorial que se mantiene nítido a cualquier tamaño, incluso impreso
  • Bytes usados y capacidad en vivo, que se ponen en rojo en cuanto te pasas del límite

Cómo se usa

  1. Elige un tipo de contenido (WiFi, tarjeta de contacto, UPI, WireGuard…): solo se muestran los campos que ese tipo necesita
  2. Rellénalos; la vista previa se actualiza mientras escribes
  3. Elige el tamaño de exportación, el nivel de corrección y los colores
  4. Pulsa Descargar PNG o Descargar SVG

Preguntas frecuentes

¿Se sube a algún sitio el contenido del código QR?
No. El codificador va incluido en esta página y todo ocurre en la memoria de tu equipo, sin ninguna petición de red, así que funciona sin conexión. Los códigos QR suelen llevar direcciones internas, contraseñas de WiFi o enlaces de acceso de un solo uso, y enviarlos a un generador del lado del servidor sería entregarlos sin más; por eso esta herramienta nunca lo hace.
¿Por qué mi código WiFi se lee pero no conecta?
La causa más frecuente es que los caracteres especiales de la contraseña no se escaparon. Una carga `WIFI:` separa los campos con puntos y coma, así que un punto y coma, coma, dos puntos o comilla dentro de la contraseña tiene que escaparse; de lo contrario, el lector corta la contraseña en ese carácter. Verás una contraseña a la que le faltan unos caracteres mientras el código parece perfecto. Esta herramienta escapa esos caracteres (incluida la propia barra invertida), así que escribe la contraseña tal cual y no añadas barras invertidas. La otra causa habitual es una red oculta: un router que no emite su SSID exige conexión activa, y la mayoría de los teléfonos solo muestran un aviso tras escanear, así que hay que elegir «Unirse a la red» a mano.
¿Por qué mi código no se lee después de cambiar los colores?
Por dos razones. La primera, falta de contraste: un código QR se lee por sus módulos claros y oscuros, así que un primer plano y un fondo demasiado parecidos (gris claro sobre blanco, por ejemplo) no los lee nada; la herramienta avisa por debajo de 3:1. La segunda, un código claro sobre fondo oscuro: la mayoría de los lectores dan por hecho módulos oscuros sobre fondo claro, y muchos aparatos antiguos fallan directamente con el caso invertido — así que el aspecto invertido es el que «se ve genial y no se lee». «Invertir colores» lo devuelve a su sitio. Si quieres conservar un fondo oscuro, usa un primer plano oscuro, pruébalo con buena luz y escanéalo siempre con un teléfono real antes de imprimir.
¿Qué nivel de corrección de errores debería usar?
Elige Q o H para lo que se imprima en papel y pueda doblarse o mancharse. Con M basta para códigos que solo se muestran en pantalla o se incrustan en una página. Un nivel más alto necesita más módulos para el mismo contenido, lo que hace el patrón más denso y el código más grande, así que más no es automáticamente mejor.
¿Por qué el PNG descargado no mide exactamente 512 píxeles?
Para que los bordes de los módulos no se emborronen con el suavizado, lo que perjudicaría la lectura a baja resolución. El PNG se dibuja con un número entero de píxeles por módulo y el tamaño final se redondea a la baja hasta un múltiplo del número de módulos, así que puede salir algo más pequeño que el tamaño elegido. Si necesitas un tamaño exacto, usa la descarga SVG, que al ser vectorial escala con nitidez.
¿Cuánto texto chino cabe?
Un carácter CJK ocupa tres bytes en UTF-8 y la capacidad se mide en bytes, así que cabe más o menos un tercio del número nominal de caracteres. El contador de bytes en vivo del panel de entrada te ahorra esa aritmética.
¿Un código UPI puede cobrar de verdad?
Sí, pero pruébalo primero con un importe pequeño. La cadena `upi://pay?…` que construye esta herramienta es el formato estándar de UPI, y cualquier aplicación compatible que la escanee abre la pantalla de pago. Hay cuatro cosas que no puede hacer por ti: es offline, así que no comprueba que el identificador UPI exista (hay identificadores bien formados pero inexistentes); el importe va fijado en el código, y quien paga puede bajarlo pero no subirlo; el código no va cifrado y cualquiera que lo escanee puede pagar — así que no lo imprimas en un lugar público ni lo uses en lugar de un sistema de pedidos real. El campo de nota también aparece en texto plano en la pantalla de pago, así que no pongas ahí datos sensibles.
¿Qué revisa la comprobación de WireGuard?
Cuatro cosas que dejan a la gente atascada: que falte una sección `[Interface]` o `[Peer]`, lo que hace que el cliente rechace la importación de plano; claves que no son 44 caracteres Base64 terminados en `=` (un solo carácter perdido es el error clásico al transcribir); un `AllowedIPs` escrito como IP sin máscara, con lo que el cliente no enruta nada (`0.0.0.0` en vez de `0.0.0.0/0`); y un `Endpoint` sin puerto, o con un puerto fuera de 1–65535. Lo que tienen en común es que el código QR en sí se ve perfecto: el error solo aparece como «no conecta» en el teléfono. La comprobación nunca reescribe tu configuración; la carga es el texto que pegaste.
¿Para qué sirve el tipo binario?
Lee texto hexadecimal o Base64 como bytes y codifica esos bytes en modo byte, en lugar de codificar los caracteres en sí. La diferencia es real: para meter los dos bytes `FF 80` en un código, la vía de texto normal los trata como caracteres UTF-8 y emite cuatro bytes, así que el contenido leído ya no coincide. Úsalo siempre que tengas una carga entregada en Base64 o hexadecimal — un bloque de aprovisionamiento, un mensaje pequeño de protocolo binario, una cadena con bytes no textuales. La capacidad sigue siendo de 2953 bytes en el nivel L, así que no cabe un archivo.

Herramientas relacionadas