Codeer of decodeer Base64, Base64URL, URL-procentcodering, HTML-entiteiten en hex terwijl je typt, met volledige UTF-8-ondersteuning.
Niets wat je invoert wordt opgeslagen - het wordt in hetzelfde verzoek omgezet en teruggestuurd.
Over Coderen / Decoderen
Een token in een log, een querystring in een redirect, een e-mail vol & - gecodeerde tekst duikt op het werk overal op. Plak hem hier, kies het formaat en zie het gecodeerde of gedecodeerde resultaat terwijl je typt.
Wat het doet
Base64, Base64URL (JWT-stijl, zonder padding), URL-percentcodering, HTML-entiteiten en hex.
Volledig UTF-8: accenten, Hindi, Chinees en emoji overleven de heen-en-terugweg.
Ontbrekende Base64-padding wordt toegevoegd en gemeld, nooit stilletjes gerepareerd.
Bytes die geen tekst zijn, worden als hex getoond in plaats van als onleesbare tekens.
Met één klik de uitvoer weer als invoer gebruiken en de richting omdraaien.
Hoe het werkt
1Kies het formaat en of je wilt coderen of decoderen.
2Plak je tekst - het resultaat wordt bijgewerkt terwijl je typt.
3Kopieer de uitvoer of gebruik hem als volgende invoer.
Praktijkvoorbeeld: een JWT lezen
Een JSON Web Token bestaat uit drie Base64URL-delen, gescheiden door punten: header, payload en handtekening. Plak het middelste deel, kies Base64URL en decodeer, en je ziet de JSON-claims zoals het gebruikers-id en de vervaltijd exp (een Unix-timestamp die je met de Unix-timestamp-converter kunt lezen). Decoderen is geen verifiëren: iedereen kan de payload van een JWT lezen, en alleen de handtekeningcontrole op de server bewijst dat hij niet is gewijzigd.
De gevallen die op het werk misgaan
Base64 waarvan de padding is weggehaald, wat sommige systemen doen om ruimte te sparen, faalt in strikte decoders; deze tool voegt de ontbrekende =-tekens toe en meldt dat. Voor veel servers betekent een + in een querystring een spatie, dus een Base64-waarde die ongecodeerd in een link wordt geplakt komt beschadigd aan; codeer hem als URL-component of gebruik Base64URL. Tekst die twee keer is gecodeerd, verschijnt als %2520 of & en moet twee keer worden gedecodeerd.
Wat elke decoder accepteert
Base64-decodering negeert spaties en regeleinden, dus een waarde die over meerdere regels is afgebroken, zoals in een e-mail, wordt gedecodeerd zoals je hem plakt. Base64URL accepteert ook + en /, maar gewone Base64 weigert - en _, dus een JWT-deel heeft de optie Base64URL nodig. Hex-decodering slaat spaties, dubbele punten, komma's, streepjes en 0x-voorvoegsels over, dus 48:65:6c:6c:6f en 0x48 0x65 werken allebei. URL-decodering maakt van + een spatie, dus een echt plusteken moet als %2B binnenkomen. HTML-codering escapet de vijf tekens & < > " en '; HTML-decodering kent elke benoemde HTML5-entiteit, zoals en …, en numerieke zoals ₹ voor het roepieteken.
Uitgewerkte voorbeelden: wat elk formaat oplevert
URL-codering codeert hier één waarde, zoals een enkele queryparameter, dus elk gereserveerd teken wordt geëscapet: https://example.com/a b?x=1&y=2 wordt https%3A%2F%2Fexample.com%2Fa%20b%3Fx%3D1%26y%3D2. Codeer alleen de waarde die u in een link zet, nooit de hele link. Tekst buiten ASCII wordt gecodeerd als de UTF-8-bytes: café ₹ wordt caf%C3%A9%20%E2%82%B9, en hex toont dezelfde bytes, é als c3 a9 en ₹ als e2 82 b9. Base64 van user:pass is dXNlcjpwYXNz, de waarde in een HTTP Basic Authorization-header (RFC 7617); daarom kan iedereen die die header ziet het wachtwoord lezen.
De bytes waren UTF-8, maar zijn ergens voor het coderen als Latin-1 of Windows-1252 gelezen. Het decoderen hier toont de bytes zoals ze zijn; de oplossing hoort in het systeem dat ze heeft gemaakt.
Kan ik een heel bestand decoderen?
Plak tekst tot 200.000 tekens. Bij binaire bestanden zoals afbeeldingen worden de gedecodeerde bytes als hex getoond in plaats van als download.
Is Base64 versleuteling?
Nee. Base64 verandert alleen hoe bytes worden geschreven, zodat ze systemen overleven die platte tekst verwachten. Iedereen kan het decoderen; gebruik het nooit om een wachtwoord of geheim te verbergen.
Wat is het verschil tussen Base64 en Base64URL?
Base64URL vervangt "+" en "/" door "-" en "_" en laat de "="-padding meestal weg, zodat het resultaat veilig is in URL's en bestandsnamen. JSON Web Tokens gebruiken het.
Wordt mijn tekst opgeslagen?
Nee. Hij wordt in hetzelfde verzoek omgezet en teruggestuurd en nooit naar een database of log geschreven.
Waarom verschilt de URL-gecodeerde uitvoer van encodeURIComponent in JavaScript?
Deze tool escapet ook ! ' ( ) en *, die encodeURIComponent laat staan, dus it's (50%) off! wordt it%27s%20%2850%25%29%20off%21. Beide vormen decoderen naar dezelfde tekst, en die tekens escapen is in een querywaarde altijd veilig. Een spatie wordt %20, niet +; de vorm met + komt uit HTML-formuliercodering, en de decoder hier leest beide.
Hoe codeer of decodeer ik tekst in Base64 op de opdrachtregel?
Op Linux of Mac geeft echo -n 'Hello, World' | base64 het resultaat SGVsbG8sIFdvcmxk, en echo 'SGVsbG8sIFdvcmxk' | base64 --decode maakt er weer tekst van. Zonder -n voegt echo een regeleinde toe dat ook wordt gecodeerd, en krijg je SGVsbG8sIFdvcmxkCg==: de meest voorkomende reden dat twee tools het oneens zijn. In PowerShell codeert [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Hello, World')) en decodeert [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8sIFdvcmxk')). Deze pagina codeert precies de tekens die je plakt, als UTF-8, zonder regeleinde toe te voegen.
Hoe decodeer ik een Base64-afbeelding of data-URI?
Plak alleen het deel na de komma: in data:image/png;base64,iVBORw0KGgo... is dat iVBORw0KGgo..., want het voorvoegsel data:image/png;base64, is geen Base64 en de hele string wordt geweigerd. Kies Base64 en Decode. Bytes die geen tekst zijn, worden als hex getoond in plaats van als afbeelding, en dat is genoeg om te zien wat voor bestand het is: een PNG begint met 89 50 4e 47, een JPEG met ff d8 ff en een volledig .docx-, .xlsx- of ander ZIP-bestand met 50 4b 03 04. Om de afbeelding zelf te zien, plakt u de volledige data-URI in de adresbalk van de browser. De invoer is beperkt tot 200.000 tekens, ongeveer 150.000 bytes bestand.
Waarom is Base64 ongeveer een derde langer dan het origineel?
Base64 schrijft elke 3 bytes als 4 tekens en vult de laatste groep met = aan tot een veelvoud van 4 (RFC 4648), dus de uitvoer is 4/3 van de invoerbytes, naar boven afgerond. Hello, World is 12 bytes en wordt de 16 tekens SGVsbG8sIFdvcmxk. Er worden UTF-8-bytes geteld, geen letters: café is 4 tekens maar 5 bytes en wordt Y2Fmw6k=, en ₹100 is 6 bytes en wordt 4oK5MTAw. E-mailbijlagen groeien nog iets meer, omdat MIME Base64 opdeelt in regels van hoogstens 76 tekens (RFC 2045); deze pagina negeert die regeleinden bij het decoderen. Base64URL zonder opvulling bespaart alleen de =-tekens.