Phishing-URL's en domeinen

QR-code-decoder

Draait lokaalNieuw

De tool zelf is in het Engels; op deze pagina wordt uitgelegd hoe deze werkt in uw taal.

Gebruik QR-code-decoder

Wat het doet

Laad een afbeelding van een QR-code, sleep deze naar het veld of plak deze erin. De inhoud wordt weergegeven als onschadelijke tekst, samen met de functie ervan: een link en de daadwerkelijke host, inloggegevens voor wifi, een betalingsverzoek of een code voor tweefactorauthenticatie.

Het draait volledig in je browser: er wordt niets van wat je invoert geüpload.

Hoe gebruik je QR-code-decoder

  1. Bekijk een afbeelding van de code. Maak een screenshot of een foto van de QR-code. De pagina maakt nooit gebruik van je camera.
  2. Laad het. Sleep de afbeelding naar het vak, klik op het vak om een bestand te kiezen (PNG, JPEG, GIF, WebP, BMP of SVG, maximaal 20 MB), of plak een screenshot met Ctrl+V.
  3. Bekijk het voorbeeld. Op de afbeelding is de gedetecteerde code omkaderd weergegeven. In een tekstvak staat het type payload vermeld, evenals de decoder waarmee deze is gelezen.
  4. Lees de inhoud en de waarschuwingen. De payload wordt in onschadelijke vorm weergegeven, zodat er niet op links kan worden geklikt. De rode en gele opmerkingen eronder leggen uit wat de code zou doen.
  5. Kijk eens naar de velden. De velden splitsen de transactie in onderdelen zoals Host, Netwerknaam, Bedrag of Ontvanger. Portemonnee-adressen hebben een eigen knop ‘Kopiëren’.
  6. Zet de volgende stap. Als je een link wilt verwerken, gebruik dan ‘Verzenden naar…’ om deze door te sturen naar Link Unwrapper, Homoglyph Checker of URL Parser, zonder de link te bezoeken.

Voorbeeld

Koppeling voor het betalen van parkeerkosten met een verborgen host

Invoer
https://pay-parking.example@198.51.100.24/pay?zone=401
Uitvoer (vastgelegd op 2026-10-20)
Web link read by jsQR (as is)

Payload (defanged)

hxxps://pay-parking[.]example[@]198[.]51[.]100[.]24/pay?zone=401
Copy raw

Text before "@" is not the destination: this link opens 198[.]51[.]100[.]24, not "pay-parking[.]example".

The host is a bare IP address (198[.]51[.]100[.]24), not a domain name.

HOST
198[.]51[.]100[.]24
USER INFO BEFORE @
pay-parking[.]example
SCHEME
https
PATH
/pay
QUERY
?zone=401

Next: use Send to… above. URL Parser splits the link into parts.

Het voorbeeld ‘Load’ geeft deze tekst weer als een QR-code op de pagina en decodeert de afbeelding: de daadwerkelijke host is het IP-adres 198.51.100.24, en ‘pay-parking.example’ vóór het @-teken is slechts gebruikersinformatie, dus beide worden als waarschuwingssignalen aangemerkt.

Wat er wordt gecontroleerd

SignaalWat dit betekent
Type ladingWeblink, wifi-netwerk, betalingsverzoek, tweefactorauthenticatiecode, e-mail, sms of telefoonnummer, contactkaart, agenda-afspraak, app-link of platte tekst. De kleur van het pictogram hangt af van de ernstigste waarschuwing.
Verborgen host in een linkTekst vóór @ is niet de bestemming, en een host die als IP-adres is geschreven, wordt rood weergegeven. Een Punycode-host waarin letters en cijfers door elkaar staan, wordt ook rood weergegeven.
Verkortingsprogramma of e-mail-wrapperLinks via bit.ly, qrco.de en soortgelijke diensten, of via Safe Links of URL Defense, verbergen het echte adres. De tool vermeldt dit en verwijst je door naar Link Unwrapper.
Gratis hosting, http, poort, diepe subdomeinenGewoon http krijgt een gele waarschuwing. Gratis hosts zoals github.io of pages.dev, een niet-standaard poort en hosts met vijf of meer niveaus krijgen opmerkingen, omdat zo’n adres weinig zegt over wie de pagina beheert.
Tweefactorauthenticatie (rood)Een otpauth-code bevat een geheim waarmee je eenmalige codes worden gegenereerd, en een otpauth-migration-code bevat een volledige export van de authenticator. Het geheim blijft verborgen totdat je op ‘Geheim weergeven’ klikt.
Verzoek om betaling in cryptovalutaBij Bitcoin, Ethereum, Solana, TRON, TON en andere betalingslinks worden het adres en het bedrag weergegeven. Een Ethereum-code die de functies `approve`, `increaseAllowance`, `setApprovalForAll` of `permit` aanroept, wordt rood weergegeven, net als een transactieverzoek via Solana Pay.
UPI- en EMV-handelaarscodesAls je een UPI-code scant, wordt er geld van je rekening overgemaakt, en met een UPI-machtiging kunnen herhaaldelijk bedragen worden afgeschreven. Een EMV-code waarvan de CRC-controlesom niet klopt, is gewijzigd of beschadigd.
Gevaarlijke plannenjavascript:, data:, file:, ms-msdt:, search-ms: en soortgelijke schema's worden rood weergegeven. Codes die een app openen in plaats van een webpagina, krijgen een gele opmerking.
Wi-Fi-gegevensNetwerknaam, beveiligingstype, of er een wachtwoord is ingesteld en of het netwerk verborgen is. Bij open netwerken wordt een waarschuwing weergegeven.

Nog meer voorbeelden

QR-code voor een open wifi-netwerk

Invoer
WIFI:T:nopass;S:Airport Free WiFi;;
Resultaat

Wifi-netwerk. Netwerknaam (SSID): Airport Free WiFi, Beveiliging: geen wachtwoord, Wachtwoord: geen, Verborgen netwerk: nee. Gele waarschuwing: Open netwerk: het verkeer wordt niet versleuteld op wifi-niveau. Er wordt vermeld dat aanvallers open netwerken opzetten die op dit netwerk lijken om het verkeer te onderscheppen.

QR-code met een authenticatiecode

Invoer
otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example
Resultaat

Tweefactorauthenticatie (TOTP/HOTP) geheim. In de inhoud wordt secret=•••••••• weergegeven totdat je op ‘Geheim weergeven’ klikt. Velden: Type TOTP, Voorbeeld uitgever, Account alice[@]example[.]com, Geheim aanwezig (16 tekens, verborgen), Algoritme SHA1 (standaard), Cijfers 6 (standaard), Periode 30 s, plus een rode waarschuwing om deze afbeelding nooit naar iemand te sturen.

Goedkeuring van tokens vermomd als betaling (EIP-55-testadressen)

Invoer
ethereum:0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359@1/approve?address=0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed&uint256=115792089237316195423570985008687907853269984665640564039457584007913129639935
Resultaat

Ethereum-betalingsverzoek. Velden: Netwerk Ethereum, Contract 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359, Keten-ID 1, functie ‘approve’, adresparameter (de betaler) en tokenbedrag (raw units), hier het maximum van 78 cijfers. Rode waarschuwing: Hiermee wordt je wallet gevraagd om de functie ‘approve’ aan te roepen: dit geeft 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed toestemming om je tokens over te maken. Wallet-leeghalers maken hier precies gebruik van. Er volgt een gele opmerking: vergelijk het volledige adres.

Veelgestelde vragen

Wat geeft de decoder weer bij een QR-code?

De gedecodeerde tekst, onschadelijk gemaakt zodat er niet op geklikt kan worden, en het type ervan: een weblink (host, punycode, IP-host, gebruikersinformatie vóór @, linkverkorters en wrappers), een wifi-netwerk, een concept voor e-mail, telefoon of sms, een crypto-, UPI- of EMV-betalingsverzoek, een otpauth-geheim voor tweefactorauthenticatie, een contactkaart of een agenda-afspraak. Elk type krijgt de waarschuwingen die er voor van belang zijn, bijvoorbeeld dat een otpauth-code een 2FA-geheim bevat.

Waarom kan een afbeelding niet worden gedecodeerd?

De code kan te klein, wazig, aan de randen afgesneden of door schittering verborgen zijn; het helpt meestal om de afbeelding bij te snijden tot alleen de code met de witte rand. De decoder probeert eerst de ingebouwde barcode-detector van de browser, indien aanwezig, en vervolgens jsQR op de afbeelding (verkleind tot 1.600 pixels aan de langste zijde), een zwart-witdrempel, een toegevoegde witte rand en, voor afbeeldingen tot 800 pixels aan de langste zijde, een vergroting met een factor 2.

Is de afbeelding geüpload?

Nee. De afbeelding wordt in je browser gedecodeerd met behulp van de meegeleverde jsQR-bibliotheek en wordt nergens naartoe verzonden. De camera wordt niet gebruikt, dus maak een foto of een screenshot en laad deze in of plak hem.

Wat als de afbeelding meer dan één QR-code bevat?

Als je browser een ingebouwde barcode-detector heeft, wordt elke code die hij vindt weergegeven als ‘QR-code 1 van N’, elk met zijn eigen waarschuwingen. De jsQR-fallback leest één code per afbeelding, dus snijd de afbeelding bij tot alleen de code die voor jou van belang is.

Waarom is het wifi-wachtwoord of de code voor tweefactorauthenticatie verborgen?

Zodat het niet op het scherm of in een screenshot van het resultaat te zien is. Met ‘Geheim weergeven’ wordt het in het payload-vak weergegeven, en met ‘Ruwe tekst kopiëren’ wordt altijd de volledige tekst gekopieerd.

Mag ik een link naar een afbeelding van een andere website plaatsen?

Nee. De pagina leest alleen afbeeldingsbestanden en geplakte afbeeldingen en downloadt niets. Sla de afbeelding eerst op, of kopieer de afbeelding zelf en plak deze. Een geplakte `data:image`-tekst in base64 werkt ook.

Uitleg van termen

Onderzoek van PhishDestroy