Base64 Opmaak

Mesy Base64 invoer
0 tekens

Gratis online Base64-formatteertool. Formatteer lange Base64-strings op aanpasbare tekenbreedte met inspringing. Ideaal voor leesbaarheid, screenshots en documentatie.

Gerelateerde aanbevelingen

Wat is Base64-opmaak?

Base64-opmaak verdeelt een lange Base64-string op weergaveniveau in meerdere regels volgens een opgegeven tekenbreedte (zoals 64/76/80/100), met ondersteuning voor inspringing van 0/2/4 spaties. Het resultaat is visueel beter leesbaar en beter geschikt voor screenshots, printen en documentatie, maar wijzigt de oorspronkelijke byte-inhoud niet — verwijder alle regelovergangen en inspringing om terug te keren naar de oorspronkelijke Base64 op één regel.

Waarom formatteren? De RFC 4648-standaard Base64 vereist geen regelovergangen, maar in de praktijk: lange Base64-strings veroorzaken in ticketsystemen, chat-tools en Markdown-documenten vaak horizontale scroll; het MIME-protocol (RFC 2045) schrijft een regelovergang na elke 76 tekens voor (voor e-mailbijlagen); bij code-review is weergave over meerdere regels handiger om afwijkende tekens te vinden; documentatie-screenshots vereisen mooie uitlijning.

Veelvoorkomende gebruiksscenario's: technische documentatie — lange Base64 insluiten in Markdown / Confluence / Notion; screenshot-vergelijking — in PR / bug-rapport-screenshots lange Base64-strings volledig zichtbaar maken voor het team; handmatige controle — bij code-review snel ongeldige tekens vinden (zoals regelovergangen, spaties); e-mailbijlagen — opmaken volgens MIME-standaard van 76 tekens voor SMTP-transmissie; monitoring-dashboards — lange Base64-payloads over meerdere regels weergeven.

Verschil met MIME Base64: MIME Base64 (RFC 2045) vouwt altijd na elke 76 tekens, een protocolniveau-vereiste. De opmaaktool is flexibeler en ondersteunt meerdere breedtes (64/76/80/100 tekens) plus inspringing van 0/2/4 spaties, geschikt voor uiteenlopende documentatiescenario's. MIME-regelovergang kan worden gereproduceerd door 76 tekens als breedte te kiezen.

Veiligheid van de opmaak: de tool voegt alleen regelovergangen en inspringing in op weergaveniveau en wijzigt nooit de byte-inhoud van de oorspronkelijke Base64. Na verwijdering van alle witruimtetekens levert het opmaakresultaat exact dezelfde oorspronkelijke Base64-string op. De meeste Base64-decoders negeren witruimtetekens automatisch, dus het opmaakresultaat kan direct worden gedecodeerd.

Toepassingsgevallen

  • Lange Base64-strings op aanpasbare breedte verdelen voor betere leesbaarheid en screenshots
  • Base64 opmaken voor technische documentatie, ticketregistratie of e-mailpresentatie
  • Base64-opmaak optimaliseren voor printen of archivering
  • Combineren met splits- en samenvoegtools voor Base64-structuuraanpassing
  • Base64 op MIME-standaard (76 tekens) vouwen voor e-mailbijlagen
  • Base64 over meerdere regels weergeven bij code-review om afwijkende tekens te vinden
  • Base64 insluiten in Markdown met 4 spaties inspringing om codestijl te behouden
  • Monitoring-dashboards: lange Base64-payloads over meerdere regels weergeven

Hoe te gebruiken

  1. Plak de te formatteren Base64-string (met of zonder regelovergangen)
  2. Kies de tekenbreedte per regel: 64 / 76 / 80 / 100
  3. Kies de inspringing: 0 / 2 / 4 spaties
  4. De tool formatteert realtime volgens de gekozen breedte en inspringing
  5. Kopieer het opmaakresultaat voor documentatie, of klik op Herstel om regelovergangen te verwijderen

Functies

  • Aanpasbare tekenbreedte: ondersteunt 64 / 76 / 80 / 100 tekens per regel, flexibel voor uiteenlopende opmaakbehoeften
  • Configureerbare inspringing: ondersteunt 0 / 2 / 4 spaties inspringing, handig voor uitlijning in codeblokken of Markdown
  • Pure weergave-optimalisatie: past alleen de weergave aan, wijzigt de oorspronkelijke Base64-coderingsdata niet
  • Realtime opmaak: 200 ms debounce, opmaak tijdens het typen zonder vertraging
  • Eén-klik herstel: verwijder alle regelovergangen en inspringing, herstel naar Base64 op één regel
  • Teken- en regeltelling: realtime weergave van aantal tekens en totaal aantal regels
  • Eén-klik kopiëren: opmaakresultaat direct naar klembord kopiëren, voor documentatie of ticketregistratie
  • Lokaal in de browser, geen upload: alle opmaak gebeurt in de browser, zonder tussenkomst van een server

Codevoorbeelden

JavaScript: handmatig Base64-opmaak implementeren (begrip van de logica)

javascript

Begrijp de onderliggende logica van Base64-opmaak — op tekenbreedte splitsen en regelovergangen invoegen.

// Base64-opmaakfunctie (logica identiek aan deze tool)
function formatBase64(input, lineLength = 76, indent = 0) {
  // 1. Verwijder alle witruimtetekens
  const clean = input.replace(/\s/g, '');
  if (!clean) return '';

  // 2. Splits op opgegeven breedte
  const lines = [];
  for (let i = 0; i < clean.length; i += lineLength) {
    const line = clean.slice(i, i + lineLength);
    lines.push(' '.repeat(indent) + line);
  }

  // 3. Voeg samen met regelovergangen
  return lines.join('\n');
}

// Gebruiksvoorbeeld
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// Uitvoer: Base64 met 76 tekens per regel

// Ontformatteren (voor decodering of transmissie)
function unformatBase64(input) {
  return input.replace(/\s/g, '');
}

console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200

Python: Base64-opmaak + MIME-regelovergang

python

Python-implementatie die op 76 tekens vouwt (MIME-standaard) met optionele inspringing.

import textwrap

def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
    """Formatteer Base64-string naar meerdere regels"""
    # Verwijder alle witruimte
    clean = ''.join(b64_str.split())
    if not clean:
        return ''

    # Gebruik textwrap om op breedte te splitsen
    lines = textwrap.wrap(clean, width=width)

    # Voeg inspringing toe
    if indent > 0:
        lines = [' ' * indent + line for line in lines]

    return '\n'.join(lines)


# Gebruiksvoorbeeld
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))

# Reproduceer MIME Base64 (RFC 2045)
mime_format = format_base64(b64, 76)
print(f'MIME Base64 aantal regels: {len(mime_format.splitlines())}')

# Herstel naar één regel
single_line = b64.replace('\n', '').replace(' ', '')
print(f'Enkele regel lengte: {len(single_line)}')

Commandoregel: fold-tool + MIME Base64-regelovergang

bash

Met de standaard fold-tool van Linux/macOS kun je Base64 snel opmaken via de commandoregel.

# 1. Base64 invoer -> vouwen op 76 tekens (MIME-standaard)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76

# 2. Lang Base64-bestand formatteren -> uitvoer naar nieuw bestand
fold -w 76 encoded.txt > formatted.txt

# 3. Vouwen op 64 tekens (compacte weergave)
fold -w 64 encoded.txt > compact.txt

# 4. Verwijder alle regelovergangen tegelijk (ontformatteren)
tr -d '\n' < formatted.txt > single-line.txt

# 5. Verificatie: Base64-lengte + aantal regels
wc -c encoded.txt | awk '{print "Aantal tekens:", $1}'
wc -l formatted.txt | awk '{print "Aantal regels:", $1}'

# 6. Combineer met openssl voor volledige base64-codering + opmaak
echo "Hello wereld" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txt

Veelgestelde vragen

Verandert formatteren de feitelijke Base64-inhoud?

Nee. Formatteren voegt alleen regelovergangen en inspringing in op weergaveniveau, niet de codering zelf. Door alle witruimtetekens uit het opmaakresultaat te verwijderen, herstel je de oorspronkelijke Base64 op één regel. Alle Base64-decoders (browser-native atob / Node.js Buffer / Python base64) negeren witruimtetekens automatisch, dus het opmaakresultaat kan direct worden gedecodeerd.

Wat is het verschil tussen Base64-opmaak en MIME Base64?

MIME Base64 vouwt strikt volgens de 76-tekens-breedte van RFC 2045, de standaard voor e-mailbijlage-overdracht. De opmaaktool is flexibeler en ondersteunt aanpasbare breedtes van 64/76/80/100 tekens plus inspringing van 0/2/4 spaties, beter geschikt voor uiteenlopende documentatie- en screenshotbehoeften. Kies 76 tekens breedte om MIME-regelovergang te reproduceren.

Geschikt voor log-weergave en ticketregistratie?

Zeer geschikt. Lange Base64-strings veroorzaken in ticketsystemen (Jira / Zendesk), chat-tools (Slack / Teams) of Markdown-documenten vaak horizontale scroll. Na formatteren is weergave over meerdere regels duidelijk leesbaar en kan direct worden geplakt in ticketbijlagen of chatvensters.

Kan het opmaakresultaat direct worden gedecodeerd?

Ja. Alle gangbare Base64-decoders negeren regelovergangen en spaties automatisch. Bij problemen (zoals oudere OpenSSL) kun je eerst op Herstel klikken om regelovergangen te verwijderen en daarna decoderen.

Waarom meerdere tekenbreedtes zoals 64 / 76 / 80 / 100?

64 tekens is geschikt voor compacte documentatie (CLI-terminal, Markdown-tabellen); 76 tekens is de MIME-e-mailstandaard; 80 tekens is de traditionele terminalbreedte; 100 tekens past in breedbeeld-editors en moderne documentatie. Elke breedte heeft een eigen beste gebruiksscenario.

Waar is inspringing voor?

Inspringing (0/2/4 spaties) houdt Base64 uitgelijnd in codeblokken of Markdown: 0 spaties voor platte tekst, 2 spaties voor JS/Python-codestijl, 4 spaties voor geneste Markdown-codeblokken.

Verhoogt formatteren het aantal tekens in Base64?

Het neemt met circa 1-3% toe (regelovergangen + inspringing), maar heeft geen invloed op het decodeerresultaat. Als transmissiegrootte kritisch is (zoals URL-parameters), gebruik dan eerst de Herstel-functie om terug te keren naar één regel.

Ondersteunt het UTF-8 / Chinees?

De tool verwerkt zelf geen tekensets — hij formatteert alleen de Base64-string. Als de Base64 Chinees bevat (bijvoorbeeld UTF-8-gecodeerde tekst daarna naar Base64 gecodeerd), heeft formatteren geen invloed op de coderingscorrectheid.

Geschikt voor het formatteren van grote bestanden?

Ja. De tool formatteert realtime en ondersteunt Base64-strings tot 1 MB zonder problemen in de browser. Boven 10 MB kan de interface traag worden; overweeg dan in blokken te formatteren.

Neemt het volume toe na formatteren — kan het worden gecomprimeerd?

Formatteren voegt alleen regelovergangen en inspringing toe, wat vriendelijk is voor compressie-algoritmen. Gebruik gzip / Brotli-compressie, of de Base64 Stats-tool om de exacte toename te bekijken.

Probleemoplossing

Na formatteren ontbreken er Base64-tekens

Mogelijk bevat de brontekst ongeldige tekens (bijvoorbeeld regelovergangen die niet correct zijn verwerkt). Reinig eerst met de Base64 Clean-tool voordat je formatteert.

Opmaakresultaat komt niet overeen met oorspronkelijke bytes

Dit is onmogelijk — formatteren voegt alleen witruimtetekens in en wijzigt byte-inhoud niet. Als je een verschil ziet, is de brontekst verkeerd verwerkt (bijvoorbeeld dubbele formatteren waardoor witruimte herhaaldelijk wordt ingevoegd).

Interface traag na formatteren van lange strings

Base64-strings boven 10 MB kunnen de browser vertragen. Aanbevelingen: ①verwerk in blokken; ②verwijder eerst overtollige witruimte met base64-clean; ③verklein de breedte (bijvoorbeeld 64 tekens) om de renderafname per regel te beperken.

Woordenlijst

Base64-opmaak
Verdeelt een Base64-string op weergaveniveau in meerdere regels volgens opgegeven breedte; beïnvloedt alleen de visuele weergave, niet de codering zelf.
MIME Base64
De Base64-variant volgens RFC 2045 met regelovergang na elke 76 tekens, voornamelijk voor e-mailbijlagen.
Tekenbreedte (line length)
Aantal Base64-tekens per regel. Gangbare waarden: 64 (compact), 76 (MIME-standaard), 80 (standaard print), 100 (breedbeeld).
Inspringing (indent)
Aantal spaties aan het begin van elke regel. Gangbare waarden: 0 (geen), 2 (codestijl), 4 (Markdown-codeblok).
Witruimtetekens (whitespace)
Mogelijke spaties, tabs en regelovergangen in een Base64-string. Bij opmaak worden deze eerst verwijderd en vervolgens opnieuw ingevoegd volgens de opgegeven breedte.
Ontformatteren (unformat)
Zet opgemaakte Base64 (meerdere regels + inspringing) terug naar een enkele regel zonder witruimte, voor decodering of transmissie.

Vergelijkingstabel van 4 tekenbreedtes

Verschillende tekenbreedtes zijn geschikt voor verschillende weergavescenario's; kies op basis van de doelomgeving.

TekenbreedteTypisch scenarioBijbehorende standaardVoorbeeld
64 tekensCLI-terminal, Markdown-tabellenCompacte weergaveKlein scherm / hoge dichtheid
76 tekensE-mailbijlage-overdrachtRFC 2045 MIMEE-mail / SMTP
80 tekensTraditioneel terminalprintenTraditionele Unix-terminalDocumentatie printen
100 tekensModerne editors / breedbeeldModerne UI-normenIDE / documentatie

Vergelijkingstabel van 3 inspringstijlen

Verschillende inspringstijlen passen bij verschillende codenormen; kies op basis van team-/projectgewoonte.

InspringingCodestijlVoorbeeld (Base64 regel 1)
0 spatiesGeen inspringing (platte tekst)QUJD...
2 spatiesJS / Python-norm QUJD...
4 spatiesMarkdown genest / Java-norm QUJD...

Authoritative References