¿Qué es Escáner QR?
El Escáner QR decodifica códigos QR estándar a partir de una imagen subida o de la cámara trasera de tu dispositivo. Suelta en la zona de arrastre una captura de pantalla, la foto de un cartel, un recibo, una tarjeta de embarque o una tarjeta de visita y el texto decodificado aparece en segundos — las URL se convierten en enlaces clicables, las cargas útiles de Wi-Fi se marcan para que puedas copiar la contraseña con seguridad, los bloques vCard se reconocen y las semillas otpauth:// para autenticación de dos factores se etiquetan como sensibles para que sepas que debes tratarlas con cuidado. El modo cámara usa la cámara trasera en directo a través de la API estándar getUserMedia y un decodificador fotograma a fotograma que se detiene automáticamente en cuanto encuentra un código válido. Todo corre del lado del cliente mediante la librería de código abierto jsQR — los bytes de la imagen y los fotogramas de la cámara nunca salen de tu navegador, lo que es esencial cuando lo que estás escaneando es una contraseña de Wi-Fi, la dirección de una cartera cripto o un código de recuperación 2FA. Funciona sin conexión una vez cargada la página.
¿Cuándo debo usar esta herramienta?
- Pega rápidamente la contraseña Wi-Fi del cartel de la pared de una cafetería en tu móvil sin volver a teclear una cadena aleatoria larga.
- Captura la URL que hay detrás del código QR de la carta de un restaurante en un navegador normal cuando la app de escáner por defecto abre un contenedor lleno de anuncios.
- Guarda un contacto nuevo desde el vCard de la tarjeta de visita directamente en tu agenda en lugar de teclear los datos a mano.
- Decodifica un QR de 2FA desde una captura de pantalla para volver a dar de alta un móvil nuevo sin perder acceso a una cuenta protegida por autenticador.
¿Cómo escaneo un código QR desde una imagen o la cámara?
- 1Elige la fuente de entrada: 'Subir imagen' para una foto o captura, o 'Usar cámara' para decodificar fotogramas en vivo desde tu dispositivo.
- 2Si subes una imagen, arrástrala y suéltala en la zona punteada o haz clic para abrir el selector de archivos — PNG, JPG, GIF y WebP funcionan.
- 3Si usas la cámara, pulsa 'Iniciar cámara' y concede el permiso solicitado; apunta la lente trasera al código QR hasta que aparezca un resultado verde.
- 4Lee la etiqueta de clasificación de la carga útil (URL, Wi-Fi, vCard, etc.) para saber qué tipo de dato ha salido del código.
- 5Haz clic en 'Copiar' para pasar la cadena decodificada al portapapeles, o haz clic directamente en el enlace URL si la carga útil es una dirección web.
Preguntas frecuentes
¿Se suben mi imagen o el vídeo de la cámara a tu servidor?
Absolutely not — the QR scanner runs entirely in your browser using the JavaScript ZXing-js library, a port of the battle-tested ZXing (Zebra Crossing) barcode decoding engine originally written in Java. When you upload an image file, it is read directly into a Canvas element via the FileReader API and decoded in memory; it never touches a network socket. When you use the live camera mode, the MediaDevices.getUserMedia() Web API streams frames from your camera directly into a video element, and still frames are captured onto a Canvas for decoding — all within the browser process, with no frames sent anywhere outside your device. WikiPlus has no backend endpoints that receive image data, and there is no telemetry capturing what codes you scan or what data they contain. This architecture is intentional: QR codes often carry sensitive payloads such as authentication tokens, personal URLs, payment addresses, or private text, and processing them locally ensures that data stays private. You can verify this yourself by opening your browser's DevTools Network tab before scanning — you will see zero outbound requests during the decode operation. The library supports multiple barcode symbologies and decodes synchronously in the main thread, making results near-instantaneous. As a practical tip, for best privacy on sensitive QR codes such as 2FA setup keys or payment links, use this tool in airplane mode after the page has loaded — everything will work identically with no network at all.
¿Por qué falla el modo cámara al iniciarse?
Camera access in browsers is governed by the Permissions API and the MediaDevices.getUserMedia() specification, both of which impose strict requirements that can cause startup failures in several ways. The most common reason is that the browser either has not been granted camera permission for this site, or a previous denial is cached — check your browser's site settings and reset the camera permission, then reload the page. A second frequent cause is that getUserMedia() requires a secure context: the page must be served over HTTPS or from localhost; if you somehow access it over plain HTTP, the API is entirely unavailable. On mobile devices, many browsers route camera access through the system-level permission manager, so even if the browser permission appears granted, the operating system permission for that browser app may be off — check iOS Settings or Android App Permissions. If another application such as a video call app currently holds an exclusive lock on the camera, the browser may receive a NotReadableError or TrackStartError and fail silently or with a generic message. On desktops with multiple cameras — a built-in webcam plus a USB device — the browser may try to open the wrong device; refreshing sometimes selects the correct one, or you can modify the facingMode constraint if the tool exposes that option. Finally, some privacy-focused browsers or browser extensions block getUserMedia() entirely. As a practical tip, if camera mode keeps failing, switch to the image upload mode instead — screenshot a QR code and upload it for equally accurate results.
¿Qué tipos de código QR es capaz de leer?
The scanner uses ZXing-js, which supports a broad range of one-dimensional and two-dimensional barcode symbologies beyond standard QR codes. In the 2D category it decodes QR Code (all versions 1–40, including Micro QR), Data Matrix, Aztec Code, and PDF417. In the 1D barcode category it handles EAN-13, EAN-8, UPC-A, UPC-E, Code 39, Code 93, Code 128, ITF (Interleaved 2 of 5), Codabar, RSS-14, and RSS Expanded. Standard QR codes can encode URL, plain text, Wi-Fi credentials, vCard contact data, geographic coordinates, calendar events, email addresses, phone numbers, and arbitrary binary data — the scanner returns the raw decoded string regardless of content type, so all of these work. QR code version capacity ranges from version 1 (21×21 modules, up to 41 alphanumeric characters) to version 40 (177×177 modules, up to 4,296 alphanumeric characters or 2,953 bytes of binary data). Inverted QR codes — white modules on a dark background — are supported by some builds of ZXing; if decoding fails on an inverted code, inverting the image manually before uploading usually resolves it. Damaged or partially obscured codes are recoverable up to the erasure tolerance of the error-correction level embedded in the code (7% for level L up to 30% for level H). All decoding runs entirely in your browser — no data leaves your device. As a practical tip, crop tightly around the QR code before uploading for significantly faster and more reliable detection, especially on complex photographic backgrounds.
¿Por qué falló la decodificación con mi foto aparentemente perfecta?
A visually clean QR code in a photo can still defeat a decoder for several technical reasons. The most common culprit is perspective distortion: if the code was photographed at an angle rather than face-on, the modules become trapezoidal, and while ZXing includes a perspective-correction pass, extreme angles beyond roughly 30 degrees can push it past recovery. Lighting is the second major factor — a glare hotspot or deep shadow that appears subtle to the human eye can cross the binary threshold and flip critical modules from black to white in the sampled pixel data. JPEG compression is another frequent cause: JPEG uses discrete cosine transform encoding that blurs high-frequency transitions, which are exactly the sharp black-to-white edges a QR decoder relies on. If the image was re-compressed multiple times, edge ringing artifacts can corrupt finder pattern detection. Very small QR codes in high-resolution photos can also fail because the decoder's finder-pattern search operates on a fixed scale — downsampling the image so the QR occupies a larger portion of the frame often resolves this. Dark or low-contrast color combinations, such as dark navy on black, may look readable to your eye but fall below the luminance contrast threshold the binarization algorithm needs. All processing runs entirely in your browser — no data leaves your device. As a practical tip, open the photo in any image editor, crop to just the QR code, boost contrast slightly, save as PNG rather than JPEG, and then try the upload again — this resolves the vast majority of stubborn failures.
El contenido de esta pagina esta disponible bajo CC BY 4.0.