Datei hochladen
  1. base64hub
  2. Text-Tools
  3. UTF-8 in Base64

UTF-8 in Base64: Unicode-Text und Emoji kodieren

Jedes Zeichen wird in seine UTF-8-Bytes umgewandelt, die dann in Base64 kodiert werden. So kommen Emoji, Akzente und jede Schrift bytegenau heraus und werden überall gleich dekodiert.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload 1–4 Bytes pro Zeichen in UTF-8 Aktualisiert 27.10.2026
Eingabe 0 BAusgabe 0 BGröße –

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So kodieren Sie UTF-8-Text in Base64

  1. Tippen oder fügen Sie Ihren Text in Eingabe · Text ein. Zeichensatz steht bereits auf UTF-8.
  2. Das Base64 erscheint in Ausgabe · Base64. Die Angabe Eingabe unter dem Tool ist die Anzahl der UTF-8-Bytes; der Zähler über dem Feld zählt Zeichen so wie JavaScript, ein Emoji zählt also als 2.
  3. Aktivieren Sie URL-sicher (- _) und Ohne Padding (=) für URLs und Tokens, oder wählen Sie einen Zeilenumbruch für E-Mail oder PEM.
  4. Kopieren Sie die Ausgabe oder laden Sie sie als base64.txt herunter.

Base64 in UTF-8 macht aus dem Ergebnis wieder Text.

Wie UTF-8 Zeichen in Bytes verwandelt

UTF-8 verwendet 1 bis 4 Bytes pro Codepoint. ASCII bleibt bei 1 Byte, deshalb wird englischer Text in UTF-8 und ASCII gleich kodiert. Alles andere braucht mehr:

ZeichenCodepointUTF-8-BytesBase64
AU+004141QQ==
éU+00E9C3 A9w6k=
€U+20ACE2 82 AC4oKs
日本語U+65E5 U+672C U+8A9E9 Bytes, je 35pel5pys6Kqe
😀U+1F600F0 9F 98 808J+YgA==

Da Base64 auf die Bytes noch ein Drittel aufschlägt, wächst ein chinesischer oder japanischer Satz von Zeichen zu Base64-Zeichen ungefähr auf das Vierfache, und ein einzelnes Emoji wird zu 8 Zeichen. Denken Sie daran bei Feldern mit Längenlimit; der Größenrechner hilft dabei.

Emoji-Sequenzen und Hauttöne

Was wie ein Emoji aussieht, sind oft mehrere zusammengeklebte Codepoints. Ein Hautton ist ein eigener Modifikator, und Familien- oder Berufs-Emoji verbinden mehrere Personen mit einem unsichtbaren Zero-Width Joiner (U+200D):

EmojiCodepointsUTF-8-BytesBase64
😀148J+YgA==
👍🏽2 (Daumen hoch + mittlerer Hautton)88J+RjfCfj70=
👨‍👩‍👧5 (drei Personen + zwei Joiner)188J+RqOKAjfCfkanigI3wn5Gn

Wird ein Base64-String oder werden seine dekodierten Bytes mitten in einer solchen Sequenz abgeschnitten, bleiben kaputte Zeichen zurück. Kürzen Sie kodiertes UTF-8 deshalb nie an einem beliebigen Byte.

Gleicher Text, andere Bytes: Unicode-Normalisierung

Manche Zeichen haben in Unicode zwei gültige Schreibweisen. é kann der einzelne Codepoint U+00E9 sein (zusammengesetzt, NFC) oder e gefolgt von U+0301 COMBINING ACUTE ACCENT (zerlegt, NFD). Beide sehen gleich aus, die Bytes unterscheiden sich aber:

TextFormBytesBase64
éNFCC3 A9w6k=
éNFD65 CC 81ZcyB
naïveNFC6bmHDr3Zl
naïveNFD7bmFpzIh2ZQ==

Dateinamen im älteren Apple-Dateisystem HFS+ werden zerlegt gespeichert, während die meisten Tastaturen zusammengesetzten Text erzeugen. Wenn Sie Base64-Werte vergleichen, signieren oder als Schlüssel verwenden, normalisieren Sie zuerst. Dieses Tool kodiert genau die Codepoints, die Sie einfügen, und normalisiert nicht.

UTF-8 in Base64 im Code

In JavaScript erzeugt TextEncoder immer UTF-8. Normalisieren Sie zuerst, wenn die Eingabe aus unterschiedlichen Quellen stammen kann:

const text = "e\u0301".normalize("NFC");
Buffer.from(text, "utf8").toString("base64");   // "w6k=" (Node.js)
new TextEncoder().encode(text);                  // Uint8Array [195, 169]

Im Browser können die Bytes aus TextEncoder an bytes.toBase64() gehen, wo das unterstützt wird (Uint8Array.toBase64), oder durch den btoa-Helfer auf der JavaScript-Seite.

import base64, unicodedata

s = unicodedata.normalize("NFC", "nai\u0308ve")
base64.b64encode(s.encode("utf-8")).decode()   # 'bmHDr3Zl'

Für Dateien und Streaming siehe Base64 in Python.

Häufige Fragen

Ist Base64 von UTF-8 dasselbe wie normales Base64?

Ja. Base64 kodiert immer Bytes; „UTF-8 in Base64“ sagt nur, welche Bytes. Bei reinem ASCII-Text sind die UTF-8-Bytes gleich den ASCII-Bytes, die Ausgabe ist also in beiden Fällen identisch.

Warum ergeben zwei gleich aussehende Strings unterschiedliches Base64?

Unicode kann manche Zeichen auf mehr als eine Weise schreiben. é als ein Codepoint ist w6k=, e plus kombinierender Akzent dagegen ZcyB. Normalisieren Sie vor dem Kodieren auf NFC, wenn die Werte übereinstimmen müssen.

Fügt der Encoder eine UTF-8-Byte-Order-Mark hinzu?

Nein. Die Ausgabe beginnt direkt mit den Bytes Ihres Texts. Besteht ein Empfänger auf einer BOM, muss das Base64 mit 77u/ beginnen, der Kodierung der Bytes EF BB BF.

Wie viele Bytes belegt ein Emoji?

Ein einzelner Emoji-Codepoint belegt in UTF-8 4 Bytes. Emoji mit Hautton oder zusammengesetzte Familien bestehen aus mehreren Codepoints: 👍🏽 hat 8 Bytes und die Familie 👨‍👩‍👧 18.