Base64 Codering
Gratis online Base64 codeer- en decodeerhulpmiddel met UTF-8/ASCII/ISO-8859-1 tekensets en drie varianten: Standard, URL-Safe en MIME. Toont realtime gegevensvergroting; MIME-regeleinden voldoen aan de RFC 2045-standaard.
Gerelateerde aanbevelingen
Wat is Base64-codering?
Base64 is een binaire-naar-tekst coderingsschema op basis van 64 afdrukbare ASCII-tekens, oorspronkelijk gedefinieerd in RFC 2045 (MIME-standaard). Base64 zet elke 3 bytes (24 bits) om in 4 Base64-tekens (A-Z, a-z, 0-9, +, /), zodat binaire gegevens veilig via uitsluitend tekstondersteunende systemen kunnen worden verzonden, zoals HTTP-headers, JSON-payloads, XML-documenten of URL-queryparameters.
**Base64 is geen versleuteling**: het biedt alleen een gegevensformaattransformatie en iedereen kan het eenvoudig decoderen. Wilt u gevoelige gegevens beschermen, gebruik dan een echt versleutelingsschema zoals AES. Veelvoorkomende toepassingen van Base64 zijn: HTTP Basic Authentication (`Authorization: Basic dXNlcjpwYXNz`), de header- en payload-segmenten van JWT-tokens (Base64URL-formaat), Data URI's (`data:image/png;base64,...`) en MIME-codering van e-mailbijlagen.
**URL-Safe Base64** (RFC 4648 §5) vervangt de tekens +/ van standaard Base64 door -_ en laat meestal de padding = weg. Daardoor kan het resultaat veilig in URL's, bestandspaden of JSON-velden voorkomen. JWT-tokens, de code_verifier van OAuth PKCE en AWS Signature V4 maken allemaal gebruik van URL-Safe Base64.
**MIME-regelovergang** is de standaard uit RFC 2045 die voorschrijft dat elke regel niet langer is dan 76 tekens. Wanneer Base64-inhoud wordt gebruikt in e-mail of in scenario's waar regelovergangen nodig zijn, voegt de MIME-variant automatisch elke 76 tekens een regeleinde in (`\n`). Dit is de standaardindeling voor de overdracht van e-mailbijlagen.
Het hulpmiddel maakt gebruik van de oorspronkelijke browser-API's **btoa/atob** in combinatie met UTF-8-veilige verwerkingslogica, zodat multi-byte tekens zoals Chinese en Japanse karakters en emoji correct worden gecodeerd. Alle berekeningen vinden lokaal plaats; er worden geen gegevens naar een server gestuurd. Open het netwerkpaneel in de browserontwikkelaarshulpmiddelen om te verifiëren dat er tijdens het proces geen enkel extern verzoek wordt gedaan.
Toepassingsgevallen
- JWT-foutopsporing: decodeer de header- en payload-segmenten van een JWT (Base64URL-formaat) om de inhoud van de token-claims te bekijken
- Basic Auth: codeer gebruikersnaam:wachtwoord tot HTTP Basic Authentication-referenties
- OAuth-ontwikkeling: genereer een code_verifier of verifieer een code_challenge in PKCE-scenario's
- API-foutopsporing: codeer JSON-gegevens of decodeer Base64-velden die API's teruggeven
- Data URI voor afbeeldingen: zet kleine pictogrammen om naar data:image/...;base64,...-formaat om ze in CSS/HTML in te bedden
- E-mailbijlagen coderen: codeer binaire e-mailbijlagen in het MIME Base64-formaat
Hoe te gebruiken
- Kies een modus: klik op Encode (coderen) of Decode (decoderen) om de verwerkingsrichting te wisselen
- Kies een variant: Standard (standaard), URL-Safe (JWT/OAuth) of MIME (e-mailformaat met 76 tekens regeleinden)
- Voer inhoud in: plak tekst of een Base64-tekenreeks; de verwerking verloopt automatisch en realtime
- Bekijk de statistieken: onderaan verschijnen het aantal tekens en de gegevensvergrotingsfactor (codering vergroot de omvang met circa 33%)
- Kopieer het resultaat: kopieer de Base64-tekenreeks of de gedecodeerde tekst met één klik
Functies
- Eén-klik Encode/Decode wisselen: schakel vrij tussen codeer- en decodeermodi; de uitvoer wordt direct de invoer voor circulair gebruik
- Drie tekensets ondersteund: UTF-8 (Chinees/Japans/emoji), ASCII en ISO-8859-1, voor professionele dekking van uiteenlopende scenario's
- Drie uitvoervarianten: Standard (standaard), URL-Safe (veilig voor JWT/OAuth/PKCE) en MIME (RFC 2045 met 76 tekens regeleinden)
- Realtime gegevensstatistieken: toont voortdurend het aantal in- en uitvoertekens en de vergrotingsfactor (Base64 vergroot de omvang met circa 33%)
- Duidelijke foutmeldingen: bij tekens buiten het bereik verschijnt een specifieke foutmelding in plaats van een generieke fout
- Versleepbare scheidingslijn: op de desktop kunt u de verhouding tussen het linker- en rechterbewerkingsvenster aanpassen om u op de taak te concentreren
- Aparte tabbladen op mobiel: op telefoon en tablet wisselt u onafhankelijk tussen het invoer- en uitvoervenster voor een vloeiende ervaring
Codevoorbeelden
Base64 codering in JavaScript (ondersteunt UTF-8)
// 编码(支持 UTF-8 中文)
function b64Encode(str) {
return btoa(unescape(encodeURIComponent(str)));
}
// 解码(支持 UTF-8 中文)
function b64Decode(str) {
return decodeURIComponent(escape(atob(str)));
}
// URL-Safe 编码(用于 JWT / OAuth)
function b64UrlEncode(str) {
return btoa(unescape(encodeURIComponent(str)))
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=+$/, '');
}
console.log(b64Encode('Hello 世界')); // SGVsbG8g5LiW55WM
console.log(b64Decode('SGVsbG8g5LiW55WM')); // Hello 世界Base64 codering in Python
import base64
# Standard 编码(UTF-8)
encoded = base64.b64encode('Hello 世界'.encode('utf-8'))
print(encoded.decode()) # SGVsbG8g5LiW55WM
# Standard 解码
decoded = base64.b64decode(encoded).decode('utf-8')
print(decoded) # Hello 世界
# URL-Safe 编码(用于 JWT / OAuth)
url_safe = base64.urlsafe_b64encode('Hello 世界'.encode('utf-8'))
print(url_safe.decode()) # SGVsbG8g5LiW55WM(无 padding 需手动去除)
# 去除 padding(JWT 标准做法)
url_safe_no_pad = url_safe.decode().rstrip('=')
print(url_safe_no_pad)Base64 codering in Java
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Base64Example {
public static void main(String[] args) {
String text = "Hello 世界";
// Standard 编码
String encoded = Base64.getEncoder()
.encodeToString(text.getBytes(StandardCharsets.UTF_8));
System.out.println(encoded); // SGVsbG8g5LiW55WM
// Standard 解码
String decoded = new String(
Base64.getDecoder().decode(encoded), StandardCharsets.UTF_8);
System.out.println(decoded); // Hello 世界
// URL-Safe 编码(用于 JWT / URL)
String urlSafe = Base64.getUrlEncoder().withoutPadding()
.encodeToString(text.getBytes(StandardCharsets.UTF_8));
System.out.println(urlSafe);
// MIME 编码(76字符换行)
String mime = Base64.getMimeEncoder()
.encodeToString(text.getBytes(StandardCharsets.UTF_8));
}
}Veelgestelde vragen
Is Base64-codering hetzelfde als versleuteling?
Nee. Base64 zet tekst alleen om in een andere, omkeerbare voorstelling; iedereen kan het terug naar de oorspronkelijke tekst decoderen. Bij gevoelige gegevens (wachtwoorden, tokens) moet u een echt versleutelingsschema gebruiken, zoals AES. Base64 is alleen geschikt voor gegevensformaattransformatie, zodat binaire gegevens eenvoudiger via tekstsystemen kunnen worden verzonden.
AES-versleutelingshulpmiddelHoeveel groter wordt de gegevensomvang na Base64-codering?
Base64-codering vergroot de oorspronkelijke gegevensomvang met circa 33%. Dat komt doordat elke 3 bytes (24 bits) worden gecodeerd tot 4 Base64-tekens. Zo wordt 100 bytes tekst na codering ongeveer 133 bytes. De vergrotingsfactor wordt onderaan het hulpmiddel realtime weergegeven, zodat u de bestandsgrootte kunt inschatten. Voorbeeld: `Hello` → `SGVsbG8=` (omvang +33%).
Base64-statistiekenhulpmiddelWat is het verschil tussen de drie varianten Standard, URL-Safe en MIME?
Standard is de standaard Base64 en gebruikt de tekens A-Z, a-z, 0-9, + en /. URL-Safe vervangt +/ door -_, waardoor het resultaat veilig is voor URL-parameters en JWT-tokens. MIME voegt elke 76 tekens een regeleinde in, voldoet aan de RFC 2045-mailstandaard en is geschikt voor e-mailbijlagen en tekst over meerdere regels.
URL-Safe Base64MIME Base64Hoe decodeer ik de header of payload van een JWT?
JWT maakt gebruik van Base64URL-codering (de URL-Safe variant). Selecteer de URL-Safe modus en plak het eerste segment (header) of het tweede segment (payload) van de JWT om te decoderen. Het derde segment van een JWT is de handtekening en mag hier niet worden gedecodeerd of geverifieerd.
JWT-hulpmiddelWat is padding (opvulling) bij Base64?
De lengte van een Base64-resultaat moet een veelvoud van 4 zijn. Wanneer de invoerlengte geen veelvoud van 3 is, wordt het einde opgevuld met het teken =. De URL-Safe variant gebruikt geen padding. Het hulpmiddel verwerkt padding automatisch en verwijdert =-tekens bij het decoderen.
Base64-paddinghulpmiddelWaarom ondersteunen btoa en atob in JavaScript geen Chinese tekens?
btoa en atob zijn oorspronkelijke browser-API's die werken op de Latin-1 (ISO-8859-1) tekenset, waarbij elk teken 1 byte inneemt. Chinese tekens nemen in UTF-8 3 bytes in beslag, waardoor directe invoer een fout veroorzaakt. De oplossing is: gebruik eerst encodeURIComponent om de Chinese tekst om te zetten naar UTF-8-bytereeksen in %xx-formaat, daarna unescape om dat naar een Latin-1-tekenreeks te converteren, en pas dan btoa om te coderen.
Wat is het Data URI Scheme? Hoe embed je afbeeldingen met Base64?
Een Data URI is een URI-indeling waarmee u kleine bestanden rechtstreeks in een URL kunt insluiten, met de syntaxis `data:[<mediatype>][;base64],<data>`. Voorbeeld: `data:image/png;base64,iVBORw0KGgo...`. Wordt vaak gebruikt voor kleine pictogrammen, CSS-achtergrondafbeeldingen en dergelijke, om het aantal HTTP-verzoeken te verminderen. Base64 vergroot de bestandsgrootte echter met 33%, dus het is alleen geschikt voor kleine bestanden; voor grote bestanden kunt u betere een gewone URL gebruiken.
Data URI-hulpmiddelBase64 naar afbeeldingWoordenlijst
- RFC 4648
- De officiële IETF-standaard voor Base16-, Base32- en Base64-codering, die twee alfabetten definieert (standaard Base64 en URL-Safe Base64), evenals regels voor padding, regeleinden en de verwerking van niet-alfabet tekens. Het is de de facto standaard voor Base64-codering en vervangt de eerdere RFC 3548.URL-Safe Base64-hulpmiddelBase64-paddinghulpmiddel
- RFC 2045 (MIME)
- De standaard voor Multipurpose Internet Mail Extensions (MIME) die Base64 voor het eerst introduceerde als coderingsmethode voor de overdracht van e-mailinhoud. De standaard schrijft voor dat een Base64-regel niet langer is dan 76 tekens en wordt afgesloten met CRLF; dit staat bekend als de MIME Base64-variant.MIME Base64-hulpmiddel
- Base64URL (URL-Safe Base64)
- De URL-veilige variant uit RFC 4648 §5. Vervangt de + van standaard Base64 door - en / door _, en laat het padding-teken = meestal weg. Wordt veel gebruikt in scenario's zoals JWT-tokens, OAuth PKCE, URL-parameters en bestandsnamen.URL-Safe Base64-hulpmiddelJWT-hulpmiddel
- MIME Base64
- De Base64-variant die voldoet aan de RFC 2045-standaard en elke 76 tekens een regeleinde (CRLF) invoegt. Wordt vooral gebruikt voor de overdracht van e-mailbijlagen, omdat het vroege SMTP-protocol een maximumlengte per regel kende.MIME Base64-hulpmiddel
- Padding (opvulling)
- De lengte van een Base64-resultaat moet een veelvoud van 4 zijn. Wanneer het aantal invoerbytes geen veelvoud van 3 is, wordt het einde opgevuld met het teken =. Standaard Base64 gebruikt padding; Base64URL laat dit meestal weg.Base64-paddinghulpmiddel
- Base64-alfabet
- De verzameling van 64 tekens die bij Base64-codering wordt gebruikt. Het standaard Base64-alfabet: A-Z (26), a-z (26), 0-9 (10), + en /, in totaal 64 tekens, plus het opvulteken =.
- btoa / atob
- De oorspronkelijke browser-API's voor Base64-codering en -decodering. btoa (binary to ASCII) codeert, atob (ASCII to binary) decodeert. Deze API's ondersteunen alleen de Latin-1-tekenset; voor Chinese tekens is een extra UTF-8-transcodering nodig.
- Data URI Scheme
- Een URI-indeling waarmee kleine bestanden rechtstreeks in een URL kunnen worden ingebed, met de notatie data:[<mediatype>][;base64],<data>. Wordt vaak gebruikt voor kleine pictogrammen en CSS-achtergrondafbeeldingen om het aantal HTTP-verzoeken te beperken.Data URI-hulpmiddelBase64 naar afbeelding
- HTTP Basic Authentication
- Een authenticatiemethode binnen HTTP waarbij gebruikersnaam en wachtwoord met een dubbele punt worden samengevoegd, in Base64 worden gecodeerd en via de Authorization-header worden verstuurd. Formaat: Authorization: Basic <base64(gebruikersnaam:wachtwoord)>.Auth-headerbouwer
- Base64-vergrotingsfactor
- De verhouding waarmee de gegevensomvang na Base64-codering toeneemt. Elke 3 bytes (24 bits) worden gecodeerd tot 4 Base64-tekens, waardoor de omvang met circa 33% groeit (4/3 ≈ 1,333). Inclusief padding kan de vergrotingsfactor iets hoger uitvallen.
Vergelijking van drie Base64 varianten
| Kenmerk | Standard | URL-Safe | MIME |
|---|---|---|---|
| Speciale tekens | + / | - _ | + / |
| Padding (=) | Gebruikt | Meestal weggelaten | Gebruikt |
| Regeleinden | Geen | Geen | Elke 76 tekens |
| Standaard | RFC 4648 §4 | RFC 4648 §5 | RFC 2045 |
| Typische scenario's | Data URI, algemene codering | JWT, URL-parameters, bestandsnamen | E-mailbijlagen, SMTP-overdracht |
Vergelijkingstabel Base-coderingen
| Codering | Aantal tekens | Kenmerken tekenset | Gegevensvergroting | Typisch gebruik |
|---|---|---|---|---|
Base16 (Hex) | 16 | 0-9, A-F | 100% | Debuggen, hash-weergave |
Base32 | 32 | A-Z, 2-7 (hoofdletters, geen verwarring) | 60% | DNS, TOTP-sleutels, QR-codes |
Base58 | 58 | Zonder verwarrende tekens 0/O/I/l | 38% | Bitcoin-adressen, cryptocurrency |
Base62 | 62 | A-Z, a-z, 0-9 | 34% | URL-verkorters, ID-codering |
Base64 | 64 | A-Z, a-z, 0-9, +, / | 33% | Data URI, MIME, JWT (URL-Safe variant) |
Authoritative References
- ReferenceRFC 4648 - De Base16-, Base32- en Base64-gegevenscoderingen
- ReferenceRFC 2045 - MIME Deel één: Formaat van internetberichtlichamen
- ReferenceRFC 7519 - JSON Web Token (JWT)
- ReferenceMDN Web Docs - btoa()
- ReferenceMDN Web Docs - atob()
- ReferenceWikipedia - Base64
- Veilige String Vergelijking
- Binair naar Tekst
- Caesar Cipher
- Morsecodering Vertaler
- Hex naar Tekst
- Video naar Base64
- Base64 naar Video
- Afbeelding naar Base64
- Base64 naar Afbeelding
- Tekst naar Base64
- Base64 naar Tekst
- Bestandshash-controle
- Bestand naar Base64
- Base64 naar Bestand
- Audio naar Base64
- Base64 naar Audio
- AES versleutelen en ontsleutelen
- DES Encryptie
- Base32 Encoder Decoder
- Base58 coderen en decoderen
- Base64 Codering
- Base64 Decoderen
- Base64 Vergelijken
- Base64 Opsplitsen
- Base64 meerregelige samenvoegen
- Base64 Opmaak
- Base64 Valideren
- Base64 batch-encodering
- Base64 Batch Decoderen
- Base64 Opschonen
- Base64-paddingverwerking
- Base64 Statistieken
- Base64 naar Hex
- Base64 DataURL Converter
- Base64-Hex-omzetter
- Base85 Encoderen / Decoderen
- HMAC Generator & Verificateur
- PBKDF2 Sleutelafleiding
- MD5-hash
- SHA-256 hash
- SHA1 Hash
- SHA512-hash
- JWT Decoder
- HTML Entity Encoder en Decoder
- Unicode Escape
- URL-codering
- URL-Veilige Base64
- MIME Base64
- Java Obfuscator
- JS Obfuscator
- PHP Obfuscator
- Python Obfuscator