# Generador de códigos QR

Crea códigos QR en PNG o SVG para compartir enlaces y texto. Máximo 2.000 caracteres. Los archivos se eliminan automáticamente en 24 horas.

- Página: https://herramient.as/qr
- Categoría: Generadores
- Dónde se ejecuta: en nuestro servidor

Es una herramienta interactiva: se usa desde el navegador en https://herramient.as/qr.

## Uso por API

También se puede usar por API REST, con una clave en la cabecera `Authorization: Bearer htas_...`. Referencia completa: https://herramient.as/api-docs.md

### `POST /api/v1/tools/qr/generate`

Genera un código QR con estilo, colores y logo, en PNG o SVG

Módulos cuadrados, redondeados o en puntos, esquinas a juego, colores propios y un logo opcional en el centro. Por defecto lleva debajo la firma «creado con herramient.as»; mándale caption=false para quitarla. Con logo la petición va en multipart/form-data y la corrección de errores sube al nivel H, así que cabe menos texto. El fichero se almacena 24 horas y después se elimina automáticamente; las peticiones idénticas reutilizan el fichero existente y renuevan su expiración.

Consume 3 unidades de cuota.

**Parámetros**

| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `content` | string | sí | Texto o URL a codificar. Máximo 2.000 caracteres (Ejemplo: `https://herramient.as`) |
| `format` | string | no | Formato de salida. Por defecto png (Ejemplo: `png`) |
| `size` | integer | no | Ancho en píxeles. Por defecto 512. Con firma, el alto es un 8 % mayor (Ejemplo: `1024`) |
| `style` | string | no | Forma de los módulos. Por defecto rounded (Ejemplo: `rounded`) |
| `eyes` | string | no | Forma de las tres esquinas. Por defecto rounded (Ejemplo: `rounded`) |
| `color` | string | no | Color del código en hexadecimal. Por defecto #111827 (Ejemplo: `#1e3a8a`) |
| `eye_color` | string | no | Color de las esquinas. Por defecto el de color (Ejemplo: `#1e3a8a`) |
| `background` | string | no | Color del fondo. Por defecto #ffffff (Ejemplo: `#ffffff`) |
| `caption` | boolean | no | Firma «creado con herramient.as» debajo del código. Por defecto true (Ejemplo: `true`) |
| `icon` | string | no | Icono para el centro del código, dibujado en vectorial. Se ignora si se manda logo (Ejemplo: `wifi`) |
| `logo` | file | no | Imagen PNG, JPG o WebP de hasta 5 MB para el centro del código, como multipart/form-data |
| `logo_size` | string | no | Tamaño del logo. Por defecto medium (Ejemplo: `medium`) |

**Respuesta**

| Nombre | Tipo | Descripción |
|---|---|---|
| `url` | string | URL de descarga del fichero generado |
| `expires_at` | string | Cuándo se eliminará el fichero |
| `content` | string | El texto codificado en el QR |
| `format` | string | Formato generado |
| `size` | integer | Ancho pedido |
| `width` | integer | Ancho de la imagen en píxeles |
| `height` | integer | Alto de la imagen en píxeles |
| `warnings` | array | Avisos que pueden impedir escanearlo, como poco contraste. No bloquean la generación |

**Errores**

- `400`: Faltan datos, el contenido no cabe en un QR, o una opción o un color no son válidos
- `422`: El logo no se ha podido leer como imagen
- `503`: El servicio que procesa el logo no está disponible; reintenta en unos segundos

```bash
curl -X POST https://herramient.as/api/v1/tools/qr/generate \
  -H "Authorization: Bearer htas_tu_clave_api" \
  -H "Content-Type: application/json" \
  -d '{"content":"https://herramient.as","format":"png","size":1024,"style":"rounded","eyes":"rounded","color":"#1e3a8a","eye_color":"#1e3a8a","background":"#ffffff","caption":true,"icon":"wifi","logo_size":"medium"}'
```

## Preguntas frecuentes

### ¿Qué puedo guardar en un código QR?

Cualquier texto. Lo más habitual son URLs, pero también se usan para datos de contacto, redes wifi, números de teléfono, textos de pago o cualquier cadena que quieras que alguien lea con la cámara. Cuanta más información metas, más denso será el dibujo y más difícil de escanear.

### ¿Caducan los códigos que genero?

El código en sí no caduca: una vez lo descargas, funciona para siempre, porque el contenido está en el propio dibujo y no depende de nosotros. Lo que se borra a las 24 horas es el archivo alojado en nuestros servidores, así que descárgalo antes de cerrar la página.

### ¿Me conviene PNG o SVG?

PNG si vas a usarlo en digital, en una presentación o en redes. SVG si lo vas a imprimir o escalar, porque es vectorial y se mantiene nítido a cualquier tamaño, desde una pegatina hasta una lona.

### ¿Puedo poner mi logo en el centro?

Sí. Sube un PNG, JPG o WebP y lo colocamos en el centro sobre una placa del color del fondo. Para que el código se siga leyendo con el logo tapando una parte, subimos la corrección de errores al máximo, y eso hace que quepa menos texto: si te avisamos de que no cabe, acorta el enlace o elige el logo pequeño. Funciona mejor un logo cuadrado y sencillo, con fondo transparente o blanco.

### ¿Puedo quitar «creado con herramient.as»?

Sí, desmarca la casilla y el código sale sin firma. La dejamos puesta por defecto porque es nuestra forma de darnos a conocer sin anuncios, y nos ayuda mucho que la mantengas. No afecta a la lectura: va debajo del código, fuera de la zona que leen las cámaras.

### ¿Qué tamaño debe tener un QR impreso?

Como regla práctica, el lado del código debe medir al menos la décima parte de la distancia desde la que se va a escanear. Para un cartel que se lee a dos metros, unos 20 centímetros. Deja además un margen blanco alrededor, porque sin él muchos lectores fallan.

## Herramientas relacionadas

- [Lector de Códigos QR](https://herramient.as/leer-codigo-qr): Lee un código QR desde una imagen, el portapapeles o la cámara, sin subir nada
- [QR de wifi](https://herramient.as/qr-wifi): Crea un código QR con los datos de tu wifi para que tus clientes o invitados se conecten al escanearlo, sin teclear la contraseña.
- [QR de WhatsApp](https://herramient.as/qr-whatsapp): Crea un código QR que abre un chat de WhatsApp con tu número y un mensaje ya escrito.
- [QR de reseñas de Google](https://herramient.as/qr-resenas-google): Crea un código QR que lleva a tus clientes directos a dejarte una reseña en Google.
