Datei hochladen
  1. base64hub
  2. Weitere Basen
  3. Base58-Decoder

Base58-Decoder: Base58 in Hex und Text

Fügen Sie eine Base58-Zeichenkette ein, um die enthaltenen Bytes als Hex zu sehen. Führende 1 werden wieder zu Nullbytes, und die Ausgabe lässt sich bei Bedarf auf Text oder Base64 umstellen.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Hex-Ausgabe Text und Base64 nur einen Klick entfernt Aktualisiert 27.10.2026
Eingabe 0Bytes 0 BAusgabe 0

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

So dekodieren Sie Base58

  1. Fügen Sie die Zeichenkette in Eingabe · Base58 ein. Leerzeichen und Zeilenumbrüche werden ignoriert.
  2. Lesen Sie die Bytes in Ausgabe · Hex. Unter der Ausgabe können Sie die Schreibweise umstellen, ein Trennzeichen wie ein Leerzeichen oder : hinzufügen oder den Dump in 16 oder 32 Bytes pro Zeile umbrechen.
  3. Ist die Zeichenkette kein Base58 im Bitcoin-Stil, stellen Sie das Alphabet unter der Eingabe auf Flickr oder Ripple.
  4. Für andere Ansichten ändern Sie Nach: Text, wenn die Daten eine Zeichenkette waren, Base64 für eine API oder Konfigurationsdatei. Base58 in Base64 ist eine eigens für diese Umwandlung eingerichtete Seite.
  5. Ausgabe kopieren, das Hex Herunterladen oder mit Bytes speichern die dekodierten Bytes als Datei erhalten.

Was gängige Base58-Zeichenketten enthalten

Base58Bytes (Hex)Was es ist
1111111111111111111111111111111132 × 00Solana System Program (32-Byte-Schlüssel aus Nullen)
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA06ddf6e1d765…7eff00a9 (32 Bytes)Programm-ID des Solana SPL Token
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa00 62e907b1…ebb88f18 c29b7d93Adresse des Bitcoin-Genesis-Blocks: Version, Hash, Prüfsumme
QmQudp5N7EzTxrBk3yESEKyEroMYNd7R22G2KWffwNZyzq1220 262a86b6…e0882d8aIPFS CIDv0: SHA-256-Multihash-Header, 32-Byte-Digest
9Ajdvzr48656c6c6fDer Text Hello

An den Bytes lässt sich die Struktur ablesen. Ein Ergebnis mit 25 Bytes, das mit 00 oder 05 beginnt, ist eine Bitcoin-Adresse mit noch angehängter Prüfsumme, ein Ergebnis mit 34 Bytes, das mit 1220 beginnt, ist eine CIDv0, und 32 Bytes ohne erkennbare Struktur sind höchstwahrscheinlich ein Public Key.

Führende 1en sind Nullbytes

In Base58 wird jede führende 1 zu einem Byte 00 dekodiert, und der Rest der Zeichenkette wird als eine einzige Zahl dekodiert. Dieser Decoder behält diese Bytes, die Genesis-Adresse oben liefert also 25 Bytes, nicht 24. Ein Decoder, der nur die Zahl umrechnet, verliert sie, und das erste Anzeichen ist meist ein Schlüssel, dem ein Byte fehlt, oder eine Prüfsumme, die nie stimmt.

Die Regel gilt auch umgekehrt: 1111 sind vier Nullbytes, während 2 das einzelne Byte 01 ist.

Wenn das Dekodieren fehlschlägt

  • Unerwartetes Zeichen "0", "O", "I" oder "l". Diese vier gehören nicht zum Base58-Alphabet, das sie weglässt, weil sie anderen Zeichen ähneln. Der Fehler nennt die Position; meist ist es ein Abschreibfehler.
  • Unerwartetes +, / oder =. Die Zeichenkette ist Base64. Nehmen Sie den Base64-Decoder.
  • Die Eingabe beginnt mit bc1. Das ist eine Bech32-SegWit-Adresse, eine andere Kodierung mit eigener Prüfsumme und eigenem Alphabet. Sie scheitert hier oder ergibt bedeutungslose Bytes.
  • Das Hex stimmt, ist aber 4 Bytes zu lang. Sie haben einen Base58Check-Wert als reines Base58 dekodiert. Die letzten 4 Bytes sind die Prüfsumme; lassen Sie sie weg oder nutzen Sie Base58Check.
  • Eingabe über 64 KB. Base58 behandelt die ganze Eingabe als eine Zahl, daher hält das Tool bei 64 KB an, um reaktionsfähig zu bleiben. Echte Base58-Werte haben ein paar Dutzend Zeichen.

Base58 in JavaScript in Hex dekodieren

Mit BigInt wird die Umwandlung kurz. Das funktioniert in Browsern und in Node.js:

const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";

function base58ToHex(s) {
  let n = 0n;
  for (const ch of s) {
    const v = ALPHABET.indexOf(ch);
    if (v < 0) throw new Error(`not Base58: ${ch}`);
    n = n * 58n + BigInt(v);
  }
  let hex = n === 0n ? "" : n.toString(16);
  if (hex.length % 2) hex = "0" + hex;
  const zeros = s.length - s.replace(/^1+/, "").length;
  return "00".repeat(zeros) + hex;
}

base58ToHex("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa");
// '0062e907b15cbf27d5425399ebf6f0fb50ebb88f18c29b7d93'

Mehr zum Umgang mit Bytes in JavaScript finden Sie auf der JavaScript-Seite.

Häufige Fragen

Wie dekodiere ich eine Solana-Adresse?

Fügen Sie sie hier ein: Die Hex-Ausgabe ist der 32-Byte-Ed25519-Public-Key. Die Adresse des System Program, 11111111111111111111111111111111, ergibt 32 Nullbytes, so sieht man die Regel für führende Nullen schnell in Aktion.

Warum ergibt meine Bitcoin-Adresse 25 Bytes?

Eine Legacy-Adresse ist Base58Check: 1 Versionsbyte, ein 20-Byte-Public-Key-Hash und eine 4-Byte-Prüfsumme. Reines Base58-Dekodieren liefert alle 25 Bytes. Der Base58Check-Decoder prüft die Prüfsumme und entfernt sie für Sie.

Warum lehnt der Decoder meine Zeichenkette ab?

Base58 kennt kein 0, O, I oder l, eines davon bedeutet also meist einen Tippfehler oder eine andere Kodierung. Eine Zeichenkette mit +, / oder = ist Base64, und 0x… ist Hex.

Wie wandle ich Base58 in JavaScript in Hex um?

Bauen Sie Ziffer für Ziffer einen BigInt auf, geben Sie ihn mit toString(16) aus und setzen Sie für jede führende 1 ein 00 davor. Das Snippet auf dieser Seite zeigt die ganze Funktion.