Generador de códigos QR
Escanee códigos QR usando la cámara de su dispositivo o cargue una imagen — decodifique cualquier código QR en su navegador.
Acerca de esta herramienta
Lea códigos QR directamente desde la cámara de su dispositivo o cargando una imagen. Usa la API BarcodeDetector del navegador cuando está disponible, con un respaldo en JavaScript. Funciona en dispositivos móviles y de escritorio. Las URL decodificadas son enlaces en los que se puede hacer clic.
Cómo usar
- 1 Haga clic en 'Iniciar cámara' para escanear con su cámara web o cámara del teléfono.
- 2 O haga clic en 'Cargar imagen' para decodificar un código QR de un archivo de imagen.
- 3 El contenido decodificado aparece a continuación.
- 4 Haga clic en una URL decodificada para abrirla, o en Copiar para guardar el resultado.
How your browser reads a QR code
Decoding a QR code is the reverse of generating one. The scanner looks at an image — a live camera frame or a file you upload — and searches for the three large nested squares in the corners, the finder patterns. Those squares tell the decoder where the code is, how big it is, and which way it is rotated, which is why a QR code reads correctly even when held sideways or upside down. Once located, the grid of black and white modules is sampled, the error-correction data is used to repair any damaged or obscured cells, and the underlying bytes are reassembled into the original text.
This tool performs that decoding with the browser's built-in BarcodeDetector API. Rather than shipping a large JavaScript decoding library, it asks the operating system's native barcode engine to read the frame, which is fast and battery-friendly on the devices that support it. The result — a URL, a block of text, Wi-Fi credentials, or contact data — appears on the page as soon as a code is recognised.
Two ways to scan, and which to choose
| Method | Best for | How it works |
|---|---|---|
| Live camera | A code printed on paper, a screen, or packaging in front of you | Requests your rear camera and checks each frame a few times per second until a code is found |
| Image upload | A screenshot, a saved photo, or a code someone sent you | Loads the picture, draws it to a canvas, and decodes it once |
When you start the camera, the tool prefers the environment-facing (rear) camera and overlays a target frame to help you aim. It samples frames roughly three times a second; the instant a QR code lands in view, scanning stops and the decoded content is shown. For uploads, simply select any image file containing a code and it is decoded immediately, with the picture shown as a preview.
Browser support matters more than usual
Because this scanner relies on the native BarcodeDetector, support depends on your browser. It works in Chrome and Edge on desktop and Android, and in Safari on iOS 16.4 and later. In browsers that lack the API, the tool shows a clear warning rather than failing silently — on those browsers, scanning will not work, so use a supported browser or scan on a phone. Checking the warning message first saves you from assuming a "no code found" result means the code itself is bad.
A worked example: joining Wi-Fi from a printed code
Many routers and cafés print a QR code for guest Wi-Fi. Point the camera at it and the decoder returns a string like WIFI:S:CafeGuest;T:WPA;P:latte2024;;. That is the standard Wi-Fi credential format: S is the network name, T is the security type (WPA), and P is the password. The scanner shows you this raw text so you can read the password directly. A vCard contact code decodes the same way, revealing the name, phone, and email fields as plain text you can copy.
Why decoded links are handled carefully
A QR code is, by nature, content supplied by a stranger — anyone can print one. To keep you safe, the tool only turns a decoded result into a clickable "Open URL" link when it is an ordinary http or https web address. Codes that decode to javascript:, data:, or file: schemes are shown as plain text and are never made clickable, because those schemes can be used for attacks. You can always copy the raw decoded text and inspect it before doing anything with it.
Tips for a clean scan
- Fill the frame. Move close enough that the code occupies most of the target box; a tiny code in a large frame has too few pixels to decode reliably.
- Avoid glare. Glossy printouts and phone screens reflect light. Tilt slightly to kill the reflection rather than shining more light on it.
- Hold steady. Motion blur defeats the decoder. Pause for a beat once the code is centred.
- Crop tight for uploads. If a photo contains a small code in a busy scene, crop to the code first so the decoder is not distracted by surrounding patterns.
- Verify before tapping. Read the decoded URL's domain before opening it — a scanned link is only as trustworthy as wherever the code came from.
Common reasons a scan fails
- Unsupported browser. If you see the BarcodeDetector warning, the code is fine but your browser cannot read it — switch browsers or use a phone.
- Camera permission denied. The page needs permission to use your camera; if you blocked it, re-enable it in the site settings.
- Damaged or low-contrast code. A code with heavy damage beyond its error-correction margin, or one printed in low contrast, may be unreadable.
Privacy
Decoding happens entirely on your device. The live camera feed is processed frame by frame inside your browser and is never uploaded; uploaded images are read locally and discarded. No QR contents, photos, or camera frames are sent to any server, so you can scan private codes with confidence.
Preguntas frecuentes
Crea códigos QR personalizados para URLs, texto, Wi-Fi, contactos y más — gratis, sin registro.
Codifica o decodifica cadenas Base64 — funciona para texto y archivos.
Codifica o decodifica en porcentaje URLs y parámetros de consulta — modos completo y de componente.