WikiPlus

Leitor de QR

Decodifique QR Codes a partir de imagens enviadas ou diretamente pela câmera do celular. Suporta URLs, Wi-Fi, vCards, texto e seeds de senhas de uso único. 100% no lado do cliente, nada é enviado.

Processamento local
1.4s em média
4.8 de 5 — com base em 1,247 usos

Por Sergio Robles — Fundador

Solte uma imagem de QR Code aqui ou clique para enviar
PNG, JPG, WebP, GIF — qualquer imagem com um QR Code visível
PNG · JPG · WebP
Seus arquivos são processados localmente no seu navegador. Nunca enviamos ou armazenamos seus dados.

O que é Leitor de QR?

O Leitor de QR decodifica QR Codes padrão a partir de uma imagem enviada ou da câmera traseira do seu dispositivo. Solte uma captura de tela, foto de cartaz, recibo, cartão de embarque ou cartão de visita na zona de upload e o texto decodificado aparece em segundos — URLs viram links clicáveis, conteúdos de Wi-Fi são sinalizados para que você copie a senha com segurança, blocos vCard são reconhecidos e seeds otpauth:// para autenticação em dois fatores são rotulados como sensíveis, para que você saiba tratar com cuidado. O modo câmera usa a câmera traseira ao vivo pela API padrão getUserMedia e um decodificador quadro a quadro que para automaticamente assim que encontra um código válido. Tudo roda no lado do cliente pela biblioteca open-source jsQR — os bytes da imagem e os quadros da câmera nunca saem do seu navegador, o que é essencial quando o que você está lendo é uma senha de Wi-Fi, um endereço de carteira cripto ou um código de recuperação de 2FA. Funciona offline depois que a página carrega.

Quando devo usar esta ferramenta?

  • Colar rapidamente a senha de Wi-Fi do cartaz na parede de um café no celular sem precisar redigitar uma cadeia longa e aleatória.
  • Pegar a URL de trás de um QR Code de cardápio de mesa de restaurante e abrir em um navegador comum quando o app padrão de leitura abre uma camada cheia de anúncios.
  • Salvar um contato novo a partir do QR Code de vCard em um cartão de visita direto na sua agenda, em vez de digitar os dados manualmente.
  • Decodificar um QR Code de 2FA a partir de uma captura de tela para registrar um celular novo sem perder acesso a uma conta protegida por autenticador.

Como ler um QR Code a partir de imagem ou câmera?

  1. 1Escolha a fonte de entrada: 'Enviar imagem' para uma foto ou captura de tela, ou 'Usar câmera' para decodificar quadros ao vivo do seu dispositivo.
  2. 2Se for enviar, arraste e solte a imagem na zona tracejada ou clique nela para abrir o seletor de arquivo — PNG, JPG, GIF e WebP funcionam.
  3. 3Se for usar a câmera, toque em 'Iniciar câmera' e aceite o pedido de permissão; aponte a lente traseira para o QR Code até aparecer um resultado em verde.
  4. 4Observe a etiqueta de classificação do conteúdo (URL, Wi-Fi, vCard, etc.) para saber que tipo de dado acabou de sair do código.
  5. 5Clique em 'Copiar' para colocar a cadeia decodificada na área de transferência, ou clique no link da URL se o conteúdo for um endereço web.

Perguntas frequentes

Minha imagem ou o vídeo da câmera são enviados para o seu 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 que o modo câmera não inicia?

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.

Quais tipos de QR Code ele consegue ler?

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 que a decodificação falhou em uma foto que parece perfeita?

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.

O conteudo desta pagina esta disponivel sob CC BY 4.0.