Herramientas para desarrolladores·4 min

Cómo generar un código QR (gratis, personalizable)

Cree códigos QR para URLs, WiFi, contactos y más. Personalice colores y tamaño, descargue como PNG o SVG.

¿Qué es un código QR y por qué generar uno?

Un código QR (código de respuesta rápida) es un código de barras bidimensional que puede almacenar hasta 4.296 caracteres alfanuméricos o 7.089 caracteres numéricos. Inventado en 1994 por Denso Wave, una subsidiaria japonesa de Toyota, los códigos QR se diseñaron originalmente para rastrear vehículos durante la fabricación. Desde entonces se han convertido en una herramienta universal para conectar lo físico y lo digital: escanear un código QR impreso con la cámara del teléfono abre una URL, muestra datos de contacto, se conecta a WiFi, o ejecuta flujos de pago — sin escribir nada.

Querrás generar códigos QR cuando:

  • Compartas una URL: Imprímela en un folleto, tarjeta de presentación o etiqueta de producto. La gente escanea y visita.
  • Acceso WiFi: Un código QR que contiene el SSID y la contraseña de tu red permite a los invitados unirse sin escribir.
  • Tarjetas de contacto (vCard): Codifica tu nombre, teléfono, email y dirección para que la gente pueda guardarlos directamente en los contactos de su teléfono.
  • Email y SMS: Pre-rellena el asunto y cuerpo de un mensaje, o el número de teléfono de destino.
  • Pagos con criptomonedas: Bitcoin, Ethereum y la mayoría de las wallets usan códigos QR para codificar una dirección de pago y un monto.
  • Autenticación de dos factores (TOTP): Aplicaciones de autenticación como Google Authenticator muestran códigos QR para configurar 2FA en un nuevo dispositivo.
  • Enlaces profundos de apps: Enlaza directamente a una pantalla en tu app (p. ej., `myapp://product/123`).
  • Inventario y entradas: Un código QR en cada artículo codifica un ID para seguimiento.

La buena noticia: generar códigos QR es gratis, rápido y privado si usas la herramienta adecuada.

Tipos y capacidad de códigos QR

Hay varios estándares para el contenido del código QR:

  • URL: Una dirección web simple. `https://example.com`
  • Texto: Texto arbitrario hasta ~4.000 caracteres
  • vCard: Una tarjeta de contacto con nombre, teléfono, email, dirección
  • WiFi: `WIFI:T:WPA;S:mynetwork;P:mypassword;;`
  • Email: `mailto:[email protected]?subject=Hello&body=Hi`
  • SMS: `sms:+15551234567?body=Hello`
  • Teléfono: `tel:+15551234567`
  • Geo: `geo:37.7749,-122.4194` (latitud, longitud)
  • Criptomonedas: `bitcoin:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa?amount=0.5`

Los códigos QR también tienen niveles de corrección de errores que controlan cuánto del código puede dañarse antes de volverse ilegible:

  • L (Bajo): ~7 % del código puede perderse
  • M (Medio): ~15 % puede perderse
  • Q (Cuartil): ~25 % puede perderse
  • H (Alto): ~30 % puede perderse

Mayor corrección de errores hace que el código QR sea más denso (más cuadrados), pero más resiliente. Para imprimir en superficies curvas, señales al aire libre o cualquier cosa que pueda rayarse, use Q o H.

Método 1: Use el generador de códigos QR de UtilBoxx (Recomendado)

La forma más rápida, privada y personalizable de generar códigos QR en el navegador es el Generador de Códigos QR de UtilBoxx. Soporta URLs, texto, WiFi, vCard, email, teléfono, SMS, geo y criptomonedas, con personalización completa de color y tamaño, y descarga como PNG o SVG. Todo se ejecuta en su navegador: sin carga, sin registro, sin registro de lo que genera.

Cómo usarlo:

  1. Vaya a utilboxx.com/es/tools/dev/qrcode
  2. Elija su tipo de contenido: URL, WiFi, vCard, email, etc.
  3. Rellene los campos (URL, SSID/contraseña, datos de contacto, etc.)
  4. Personalice el color, fondo, tamaño y corrección de errores
  5. Haga clic en Generar
  6. Descargue como PNG (para pantalla) o SVG (para impresión)

Por qué recomendamos este método:

  • 100 % gratis, sin registro, sin email, sin marcas de agua
  • Privacidad primero: el código QR se genera en su navegador. El contenido nunca sale de su dispositivo. Crítico para códigos QR sensibles (contraseñas WiFi, secretos 2FA, direcciones de criptomonedas).
  • Todos los tipos principales: URL, WiFi, vCard, email, teléfono, SMS, geo, criptomonedas
  • Personalización completa: color de primer plano, color de fondo, tamaño, corrección de errores, margen
  • Exportación PNG y SVG: PNG para pantalla y web, SVG para impresión (SVG escala infinitamente sin pérdida de calidad)
  • Funciona en cualquier dispositivo con navegador

Si genera códigos QR aunque sea una vez al mes, esta herramienta se amortiza en tiempo ahorrado y privacidad.

Método 2: biblioteca python-qrcode (Python)

La biblioteca `qrcode` de Python (junto con `Pillow` para renderizado de imágenes) es la herramienta canónica para generación programática de códigos QR. Instale con `pip install qrcode[pil]`.

```python import qrcode from qrcode.constants import ERROR_CORRECT_H

# URL simple qr = qrcode.QRCode( version=None, # detectar tamaño automáticamente error_correction=ERROR_CORRECT_H, box_size=10, # tamaño de píxel de cada cuadrado border=4, # zona de silencio en cuadrados ) qr.add_data("https://example.com") qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white") img.save("url_qr.png")

# Código QR WiFi wifi_qr = qrcode.QRCode(box_size=10, border=4) wifi_qr.add_data("WIFI:T:WPA;S:MyNetwork;P:MyPassword;;") wifi = wifi_qr.make_image() wifi.save("wifi_qr.png")

# vCard vcard = """BEGIN:VCARD VERSION:3.0 FN:Ada Lovelace ORG:UtilBoxx TEL:+15551234567 EMAIL:[email protected] URL:https://example.com END:VCARD""" vcard_qr = qrcode.QRCode(box_size=8, border=2) vcard_qr.add_data(vcard) vcard_img = vcard_qr.make_image() vcard_img.save("vcard_qr.png")

# Salida SVG (para impresión) from qrcode.image.svg import SvgPathImage svg_qr = qrcode.QRCode(box_size=10, border=4) svg_qr.add_data("https://example.com") svg_img = svg_qr.make_image(image_factory=SvgPathImage) with open("url_qr.svg", "wb") as f: svg_img.save(f) ```

Para generación por lotes (digamos, 1.000 etiquetas de inventario), un pequeño script con `qrcode` y un CSV de IDs produce todos los archivos en segundos.

Método 3: CLI con qrencode (Linux/macOS)

La herramienta de línea de comandos `qrencode` es una forma rápida y scriptable de generar códigos QR. Instale con Homebrew en macOS (`brew install qrencode`) o apt en Linux (`sudo apt install qrencode`).

```bash # Generar un código QR para una URL qrencode -o url.png "https://example.com"

# Generar con mayor corrección de errores qrencode -o url.png -l H "https://example.com"

# Generar como SVG (para impresión, escala infinitamente) qrencode -o url.svg -t SVG "https://example.com"

# Generar como texto ANSI (¡para mostrar en terminal!) qrencode -t ANSI "https://example.com"

# Generar como texto UTF-8 (mejor salida en terminal) qrencode -t UTF8 "https://example.com"

# QR WiFi qrencode -o wifi.png "WIFI:T:WPA;S:MyNetwork;P:MyPassword;;"

# vCard qrencode -o vcard.png "BEGIN:VCARD VERSION:3.0 FN:Ada Lovelace TEL:+15551234567 END:VCARD" ```

`qrencode` es el camino más rápido para generación única de QR en una sesión de shell, e ideal para scripts que necesitan incrustar códigos QR en pipelines. El modo `-t ANSI` le permite imprimir códigos QR directamente en la terminal, un truco divertido para compartir sin GUI.

Método 4: Herramientas en línea (aparte de UtilBoxx)

Hay muchos otros generadores de códigos QR en línea — la mayoría funcionan, pero con advertencias:

  • Algunos suben sus datos: Si escanea un QR de WiFi, el SSID y la contraseña son sensibles. Asegúrese de que la herramienta procese localmente (UtilBoxx lo hace) o tenga una política de privacidad clara.
  • Algunos añaden marcas de agua: Las versiones gratuitas a menudo añaden un pequeño logo o borde de marca. Lea la letra pequeña.
  • Algunos limitan funciones: La personalización, tipos y corrección de errores pueden estar detrás de un muro de pago.
  • Algunos tienen anuncios: Anuncios emergentes, anuncios de redirección y píxeles de seguimiento son comunes.

En caso de duda, prefiera una herramienta que respete la privacidad y procese en el navegador. El generador de QR de UtilBoxx está construido sobre `qrcode` y ejecuta todo el pipeline en el lado del cliente.

Preguntas frecuentes

¿Cuántos datos puede contener un código QR?

El máximo es 4.296 caracteres alfanuméricos o 7.089 caracteres numéricos o 2.953 bytes binarios al nivel de corrección de errores más bajo. En la práctica, los códigos QR funcionan mejor con datos cortos: las URL largas se vuelven densas y difíciles de escanear. Para contenido de más de ~300 caracteres, considere una URL acortada (a través de un servicio como bit.ly) o un tipo de código diferente (Data Matrix, PDF417, Aztec).

¿Cuál es la diferencia entre un código QR estático y dinámico?

Un código QR estático codifica una URL o contenido fijo. No se puede cambiar después de la generación. Un código QR dinámico apunta a un servicio de redirección que usted controla: lo escanea una vez y la URL nunca cambia, pero puede actualizar a dónde redirige. Los códigos dinámicos requieren un servicio de pago y tienen un costo de privacidad (el servicio de redirección registra cada escaneo). Por privacidad, prefiera los códigos estáticos.

¿Son los códigos QR un riesgo de seguridad?

Sí, en algunas formas específicas:

  • Quishing (phishing por QR): Un código QR malicioso puede llevar a un sitio de phishing. Siempre previsualice la URL antes de abrirla.
  • Malware drive-by: Un código QR puede enlazar a una descarga maliciosa de APK o .exe. No escanee códigos de fuentes no confiables.
  • Compartición WiFi: Si genera un código QR para su WiFi de casa y lo publica, cualquiera puede unirse a su red. Use redes de invitados con acceso limitado para códigos QR compartidos.
  • Redirección de pagos: Los ataques de sustitución de direcciones de criptomonedas generan códigos QR para la wallet del atacante. Siempre verifique la dirección carácter por carácter antes de enviar.

El código QR en sí es solo un cuadrado. El riesgo es la URL o acción que dispara.

¿Cuál es el mejor tamaño para un código QR impreso?

Una regla común: el código QR debe tener al menos 1 cm (0,4 in) de ancho por cada 10 caracteres de datos, con un mínimo de 2 cm × 2 cm (0,8 in × 0,8 in). Para la mayoría de códigos QR (~50 caracteres), 2 cm es suficiente. Para códigos densos (~500 caracteres), apunte a 4-5 cm. Siempre incluya una "zona de silencio" de al menos 4 cuadrados vacíos alrededor del código — la mayoría de las herramientas lo añaden por defecto.

Para escaneo a distancia, multiplique por la distancia esperada: un código pensado para ser escaneado desde 1 metro debe tener al menos 2,5 cm de ancho.

¿Se pueden estilizar o marcar los códigos QR?

Sí, pero con cuidado. Los tres patrones de búsqueda (los cuadrados grandes en tres esquinas) deben permanecer perfectamente intactos y con alto contraste contra el fondo. Usted puede:

  • Cambiar el color de los módulos de datos (primer plano) y el fondo
  • Añadir un logo en el centro (use corrección de errores Q o H para compensar los datos oscurecidos)
  • Redondear las esquinas de los módulos para un aspecto moderno
  • Añadir un marco con texto debajo del código

No debe:

  • Invertir colores (claro sobre oscuro es difícil para algunos escáneres)
  • Añadir gradientes (la mayoría de los escáneres pueden leerlos, pero algunos no)
  • Colocar texto o gráficos sobre los módulos de datos
  • Distorsionar la relación de aspecto cuadrada

¿Cuál es el código QR más pequeño escaneable?

El tamaño mínimo práctico es de unos 1 cm × 1 cm para datos cortos y buena iluminación. Códigos más pequeños (hasta unos pocos milímetros) son posibles con impresión de alta resolución y tinta de alto contraste, pero la mayoría de las cámaras de teléfono luchan. Para la mayoría de usos, 2-3 cm es el suelo práctico.

Conclusión

Los códigos QR son el puente universal entre lo físico y lo digital. Son gratis de generar, gratis de escanear (cada teléfono tiene un escáner integrado), y soportan docenas de tipos de contenido desde URLs hasta credenciales WiFi hasta pagos con criptomonedas. La herramienta adecuada importa: las herramientas que respetan la privacidad se ejecutan enteramente en su navegador, mientras que otras suben sus datos a servidores remotos.

Para generación ocasional, el Generador de Códigos QR de UtilBoxx es privado, gratis, y produce salida PNG y SVG de alta calidad con personalización completa. Para trabajo por lotes, la biblioteca `qrcode` de Python o la CLI `qrencode` manejan miles de códigos sin salir de su terminal. Y para casos puntuales, una herramienta en línea funciona siempre que confíe en ella con sus datos.

Un consejo rápido de diseño: mantenga el contraste alto (negro sobre blanco es el estándar de oro), añada una zona de silencio, y use corrección de errores H si planea superponer un logo. Su código QR escaneará de manera confiable al primer intento.