Lector de QR y códigos de barras

Selecciona, arrastra o pega una imagen, o captura una con la cámara. Los formatos disponibles dependen de BarcodeDetector en tu navegador.

Se ejecuta localmente en tu navegador
El análisis se realiza íntegramente en tu navegador. No se suben datos ni se envían a una API.
Imagen o cámara

Suelta una imagen aquí o elige un archivo de imagen local

Valores decodificados
  • Elige una imagen, suelta una aquí o inicia la cámara para decodificar localmente.
Elegir imagen

La decodificación utiliza BarcodeDetector del navegador. La imagen permanece en este dispositivo; la cámara solo se solicita al iniciarla.

Lee códigos QR y códigos de barras comunes sin subir una imagen

Chrome y Edge ofrecen actualmente el soporte BarcodeDetector más amplio. Si tu navegador no lo incluye, usa uno compatible y actual para mantener la imagen local.

Cómo decodificar un código QR o de barras desde una imagen

Elige una imagen, suéltala en la página, pégala desde el portapapeles o inicia la cámara y captura un fotograma. La lectura la hace la propia interfaz BarcodeDetector del navegador, así que la imagen no se sube: en una sesión de decodificación medida la página no envió ninguna petición con ella y el único tráfico externo fue el de analítica del propio sitio.

Los formatos disponibles son los que expone tu navegador. La página pregunta primero a BarcodeDetector.getSupportedFormats() y solo pide la intersección con la lista que conoce; por eso la misma imagen puede decodificarse en un navegador y quedarse muda en otro.

  1. Elige una imagen con el selector, suéltala en la zona de arrastre, pégala en el panel o pulsa Iniciar cámara y apunta al código.
  2. Pulsa Decodificar imagen para una imagen elegida, soltada o pegada, o Capturar y decodificar para un fotograma de la cámara. Un archivo que no sea una imagen y uno de más de 15 MB se rechazan con un mensaje en lugar de intentar la lectura.
  3. Lee la lista de resultados: cada entrada lleva el formato que informó el navegador y el texto leído, y una imagen con varios códigos produce varias entradas.
  4. Pulsa Copiar resultado para poner todos los valores en el portapapeles, una línea formato: valor por código.
  5. Pulsa Limpiar para descartar la imagen y los valores antes de la siguiente.

Qué formatos se leen y qué hace la página con tu imagen

Qué códigos puede leer este navegador

Medido en Chrome 153 sobre macOS, los formatos expuestos eran QR, Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-E, ITF, Data Matrix, Aztec y PDF417. Una imagen QR de prueba, un Code 128, un EAN-13 y un Code 39 se decodificaron con su contenido exacto; una imagen UPC-A volvió como EAN 13 porque esa compilación no expone upc_a. El Micro QR tampoco está en la lista: un símbolo Micro QR no se detectó, mientras que un QR normal con el mismo contenido sí.

Dos códigos QR en una misma imagen se devolvieron en una sola lectura y los resultados conservan el orden que informó el navegador. Como el decodificador es del navegador, un navegador sin BarcodeDetector lo avisa al cargar y se niega a leer en lugar de adivinar.

Qué hace la página con tu imagen

El archivo se lee dentro de la página con FileReader y se entrega a BarcodeDetector.detect() como imagen. Las imágenes arrastradas o pegadas siguen el mismo camino; una captura de cámara se dibuja en un canvas y se decodifica desde ahí. El archivo debe ser una imagen y no superar 15 MB: un PNG de 30 MB se rechazó con un mensaje.

No se sube nada: la imagen nunca forma parte de una petición. El tamaño en píxeles es menos limitante de lo que parece —una imagen de prueba de 9000 x 9000 se decodificó en torno a un segundo— y un archivo que el navegador no puede leer como imagen ahora se informa en lugar de no hacer nada.

Cámara y ejecuciones repetidas

La cámara se abre solo al pulsar Iniciar cámara y el navegador pide permiso en ese momento. El fotograma se decodifica al pulsar Capturar y decodificar, y Detener cámara libera el flujo y oculta la vista previa; no hay escaneo continuo mientras el vídeo está activo.

Cada lectura empieza de cero, así que pulsar Decodificar imagen dos veces sobre la misma imagen da los mismos valores, y una lectura que no encuentra nada lo dice y deja la lista vacía. El texto leído se muestra como texto: un código QR con marcado HTML se muestra, no se interpreta.

Herramientas recientes: