Decodificador de códigos QR

Suelta la imagen de un código QR y mira todo lo que guarda el símbolo: el contenido decodificado separado en sus campos, la versión y el número de módulos, el nivel de corrección de errores, el patrón de máscara, los modos de codificación y los bytes en bruto en hexadecimal. La decodificación ocurre en esta pestaña, así que la imagen nunca sale de tu dispositivo.

Suelta aquí la imagen de un código QR, o pégala

PNG, JPG, WebP o GIF

Decodificado en tu navegador. El archivo nunca se sube, y no se guarda ni se envía nada sobre él a ningún sitio.

Qué muestra un decodificador de códigos QR que un escáner no muestra

Un decodificador de códigos QR es un programa que lee un código QR desde una imagen e informa de los datos guardados junto con la estructura del símbolo que los lleva. La cámara de un teléfono se queda en la primera parte. La estructura es lo que explica por qué un código tiene el tamaño que tiene, y qué salió mal cuando un generador produjo algo inesperado.

Las seis cosas que hay dentro de todo código QR

Todo código QR, desde uno de 21 módulos en una tarjeta de visita hasta uno de 177 módulos, guarda las mismas seis piezas de información. ISO/IEC 18004, la norma del código QR, define cada una de ellas.

  • La versión es el tamaño del símbolo, de 1 a 40. La versión 1 mide 21 x 21 módulos y cada versión añade cuatro módulos por lado, así que la versión 40 mide 177 x 177.
  • El nivel de corrección de errores es L, M, Q o H, que recuperan aproximadamente el 7%, el 15%, el 25% y el 30% del símbolo. Un nivel más alto gasta más parte del símbolo en redundancia, así que el mismo contenido necesita una versión mayor.
  • El patrón de máscara es uno de ocho patrones, numerados del 0 al 7, que invierte módulos para que el código no tenga grandes zonas vacías ni formas que imiten un patrón de localización. Dos códigos con datos idénticos y máscaras distintas tienen un aspecto completamente diferente.
  • Los modos de codificación son numérico, alfanumérico, byte y kanji. El modo numérico empaqueta tres dígitos en 10 bits y el alfanumérico empaqueta dos caracteres en 11 bits, mientras que el modo byte gasta 8 bits en cada carácter.
  • El contenido es el texto en sí: un enlace, las credenciales de una red Wi-Fi, una tarjeta de contacto. Un código QR guarda texto y nada más; lo que un teléfono hace con él depende de cómo empieza el texto.
  • Los codewords de corrección de errores son la redundancia Reed-Solomon que permite a un decodificador reconstruir datos dañados. Se consumen durante la decodificación, y por eso un decodificador muestra el resultado y no los codewords.

Decodificado en tu dispositivo, contraseñas incluidas

La imagen se decodifica en esta pestaña del navegador y nunca se sube. Eso importa más en un decodificador que en la mayoría de las herramientas, porque los contenidos que la gente inspecciona son los delicados: un código QR de Wi-Fi guarda la contraseña de la red como texto plano, y un código de configuración de doble factor guarda el secreto que genera todos los códigos de acceso futuros.

El decodificador muestra la contraseña de una red Wi-Fi en su propia fila porque leerla suele ser el motivo por el que se decodificó el código. De un código de doble factor lista el emisor y la cuenta, pero deja el secreto en el contenido en bruto, donde copiarlo tiene que ser un acto deliberado.

Cómo decodificar un código QR desde una imagen

Cuatro pasos desde un archivo de imagen hasta el contenido completo y la estructura del código QR que lleva dentro.

Generar código QR
  1. 1

    Añade la imagen

    Arrastra un PNG, JPG, WebP o GIF al panel, elige un archivo o pega una captura desde el portapapeles. Mantén en el recorte el margen claro que rodea el código, porque el decodificador lo usa para encontrar los bordes del símbolo.

  2. 2

    Lee el contenido y sus campos

    El texto decodificado aparece completo, con su tipo indicado. Los enlaces se separan en esquema, dominio, ruta y cadena de consulta; los códigos de Wi-Fi, en nombre de la red, tipo de seguridad y contraseña; las tarjetas de contacto, en nombre, teléfono y correo electrónico.

  3. 3

    Comprueba la estructura del símbolo

    La versión, el número de módulos, el nivel de corrección de errores, el patrón de máscara y los modos de codificación se listan debajo del contenido. Para las versiones 1 a 20, el decodificador muestra además cuántos bytes de la capacidad del símbolo usa el contenido.

  4. 4

    Inspecciona los bytes en bruto si los necesitas

    El volcado hexadecimal muestra el contenido exactamente como está guardado, antes de decodificar los caracteres. Es el sitio donde buscar un carácter invisible, una marca de orden de bytes o un texto guardado con el juego de caracteres equivocado.

Cuándo un decodificador es la herramienta adecuada

Cuatro situaciones en las que el contenido por sí solo no basta y la respuesta está en la estructura del código QR.

Depurar un generador de códigos QR

Una librería generadora produjo un código más grande de lo esperado. El decodificador muestra la causa de un vistazo: nivel de corrección de errores H donde se pretendía M, o un contenido de dígitos guardado en modo byte en lugar de en modo numérico.

Averiguar por qué un código es tan denso

Una URL larga de seguimiento empuja un código a la versión 8 o superior, con módulos demasiado pequeños para imprimirlos a 2 cm. La fila de capacidad muestra cuántos bytes usa el contenido, y la tabla de campos muestra qué parámetros de consulta se podrían quitar.

Comprobar qué guarda de verdad un código de Wi-Fi o de contacto

Antes de imprimir un código de Wi-Fi para invitados, decodifícalo y lee los campos. Un tipo de seguridad equivocado o un espacio suelto en la contraseña se ve en la tabla y es invisible en el patrón.

Resolver un acertijo con un código QR

Para un acertijo con un código QR o una prueba de capture-the-flag, el decodificador confirma la versión, el nivel de corrección de errores y la máscara de un código que funciona, de modo que una decodificación a mano se pueda comprobar contra una respuesta conocida.

Cómo se decodifica un código QR, paso a paso

Los diez pasos que ejecuta todo decodificador de códigos QR, en orden. Es la misma secuencia que sigue una persona cuando resuelve un código QR a mano.

  • Localizar los tres patrones de localización

    El decodificador busca la proporción 1:1:3:1:1 de oscuro y claro que produce una línea que atraviesa un patrón de localización desde cualquier ángulo. Tres de ellos dan la posición, el tamaño y la rotación del código QR; la esquina que no tiene ninguno es la inferior derecha.

  • Deducir la versión a partir del tamaño

    El número de módulos se deduce de la distancia entre los patrones de localización, y la versión es (módulos - 17) / 4. Las versiones 7 y superiores guardan además el número de versión dos veces, como un bloque de 18 bits junto a los patrones de localización.

  • Leer la información de formato

    Quince bits junto a los patrones de localización guardan el nivel de corrección de errores en 2 bits, el patrón de máscara en 3 bits y 10 bits de corrección de errores propia. La información de formato se guarda dos veces, así que una copia dañada no detiene la decodificación.

  • Quitar la máscara fija del formato

    Los 15 bits de formato se combinan mediante XOR con el patrón fijo 101010000010010 antes de colocarse, para que la información de formato nunca sea toda ceros. Un decodificador aplica XOR con el mismo patrón para recuperar los valores reales.

  • Deshacer la máscara de datos

    El patrón de máscara que indica la información de formato se aplica de nuevo al área de datos, lo que restaura los módulos originales. La máscara afecta solo a los módulos de datos y de corrección de errores, nunca a los patrones de localización, de sincronización ni de alineación.

  • Leer los módulos en orden de zigzag

    Los datos se leen en columnas de dos módulos de ancho empezando por la esquina inferior derecha, hacia arriba, y después hacia abajo en el siguiente par de columnas, saltándose todos los patrones de función. Ocho módulos forman un codeword.

  • Desentrelazar los bloques de codewords

    Los símbolos más grandes reparten sus codewords en varios bloques y los entrelazan, de modo que un arañazo daña un poco de cada bloque en lugar de todo uno. El decodificador vuelve a separar los bloques antes de corregirlos.

  • Aplicar la corrección de errores Reed-Solomon

    Cada bloque se comprueba y se repara usando sus codewords de corrección de errores. Este es el paso que permite a un código QR sobrevivir a un logo sobre su centro, y el punto en el que un código con demasiado daño falla por completo en lugar de devolver datos erróneos.

  • Leer el indicador de modo y el recuento de caracteres

    El flujo de bits corregido empieza con un indicador de modo de 4 bits: 0001 numérico, 0010 alfanumérico, 0100 byte, 1000 kanji, 0111 ECI. Le sigue un recuento de caracteres, de 8 bits de largo para el modo byte en las versiones 1 a 9.

  • Decodificar los segmentos hasta el terminador

    Cada segmento se decodifica según su modo, y un símbolo puede llevar varios seguidos. Los datos acaban en un terminador 0000, tras el cual la capacidad restante se rellena con los bytes de relleno alternos 11101100 y 00010001.

El generador de KoloQR con un código QR en diseño, listo para descargar

Crea un código que merezca decodificarse

KoloQR, un generador de códigos QR gratuito con códigos QR circulares y de formas personalizadas, crea códigos QR estáticos para enlaces, redes Wi-Fi, correo electrónico, números de teléfono y perfiles sociales, y los exporta como SVG, PDF, EPS o PNG.

Todos los códigos de KoloQR se generan con nivel de corrección de errores H, que es lo que deja sitio para un logo y para patrones de módulo decorativos. Decodifica uno aquí y el panel de estructura muestra exactamente eso. KoloQR no hace códigos QR dinámicos, así que el contenido que decodificas es el destino mismo, no una redirección.

Generar código QR

Questions? Answered

Un escáner devuelve lo que dice el código QR; un decodificador devuelve además cómo está construido el símbolo. Este decodificador informa de la versión, el nivel de corrección de errores, el patrón de máscara, los modos de codificación y los bytes en bruto junto con el contenido. Si solo quieres el contenido y una puntuación de escaneabilidad, el escáner de códigos QR es el camino más corto.

Solo hasta donde lo permite la propia corrección de errores del código. Un código QR recupera entre alrededor del 7% y el 30% de su símbolo según su nivel, y el decodificador usa todo eso de forma automática. Más allá de ese límite, o si falta un patrón de localización, ningún decodificador devuelve un resultado, y el código hay que reconstruirlo a mano a partir de su información de formato.

Guarda el código QR como imagen o hazle una captura de pantalla y suelta el archivo en el decodificador de esta página. La imagen se decodifica en el navegador de un portátil o un ordenador de sobremesa, sin cámara, sin aplicación y sin subir nada. Un código en papel hay que fotografiarlo o escanearlo antes a un archivo.

Un patrón de máscara es uno de ocho patrones fijos que un generador de códigos QR aplica al área de datos para romper las grandes regiones vacías y las formas que se parecen a los patrones de localización. El generador prueba los ocho y se queda con el que tiene la puntuación de penalización más baja. El número de la máscara elegida se guarda en la información de formato para que un decodificador pueda revertirla.

Tres ajustes cambian el patrón sin cambiar los datos: el nivel de corrección de errores, el patrón de máscara y la versión. Dos generadores que codifican el mismo enlace con los niveles M y H producen patrones distintos, y a menudo tamaños distintos. Decodifica los dos y el contenido es idéntico mientras que las filas de estructura difieren.

No. Un código QR guarda su contenido y los ajustes estructurales necesarios para leerlo, y nada más. Dentro del símbolo no hay autor, ni fecha de creación, ni identificador de dispositivo, ni contador de escaneos. Esa información solo existe para los códigos QR dinámicos, y se guarda en el servidor del proveedor y no en el código.

Decodifica el código QR y lee el dominio. Si el contenido es la dirección final que esperabas, el código es estático. Si el contenido es un enlace corto en el dominio de un proveedor de códigos QR que reenvía a otro sitio, el código es dinámico y deja de funcionar si ese proveedor desactiva el enlace. Códigos QR estáticos vs dinámicos explica las ventajas y los costes de cada uno.

El contenido se decodifica a partir de todo el símbolo con corrección de errores, mientras que el nivel y la máscara se leen de 15 bits de formato junto a los patrones de localización. En una imagen de baja resolución o muy estilizada, el contenido puede decodificarse mientras que esa zona pequeña no se puede muestrear con limpieza. Una imagen más grande y nítida del mismo código normalmente rellena la fila.

No. El decodificador lee solo códigos QR, incluidos los códigos con módulos redondeados o de puntos y los códigos claros sobre fondo oscuro. Data Matrix, Aztec, PDF417 y los códigos de barras lineales usan estructuras distintas y necesitan otro lector. Los códigos Micro QR, que tienen un solo patrón de localización, tampoco son compatibles.

La vista hexadecimal muestra el contenido como los bytes guardados en el código QR, antes de interpretarlos como texto. La mayoría de los generadores guarda el texto como UTF-8, así que las letras latinas simples aparecen como sus valores ASCII. La vista deja al descubierto cosas que el texto esconde: una marca de orden de bytes al principio (ef bb bf), un salto de línea al final o un espacio de no separación dentro de una contraseña de Wi-Fi.

¿Por qué KoloQR?

  • Crea códigos QR para sitios web, menús, Wi-Fi, PDF y tarjetas de visita
  • Personaliza colores, logotipos y formas únicas
  • Descarga archivos PNG y SVG de alta calidad
  • Pensado tanto para impresión como para digital
Generar código QR
Un código QR negro sencillo junto al mismo código rediseñado como un círculo con los colores de la marca