Base64 to Hex

Převod mezi Base64 a šestnáctkovou soustavou

Base64

Hex

Běží lokálně · Bezpečné pro vkládání tajných údajů
Výsledek se zobrazí zde…
Base64 → Hex

Co je převod Base64 na hex?

Převod Base64 na hex transformuje data mezi dvěma běžnými schématy kódování binárních dat do textu. Base64 reprezentuje binární data pomocí 64 ASCII znaků (A-Z, a-z, 0-9, +, /), přičemž každé 3 bajty zakóduje jako 4 znaky. Šestnáctková soustava reprezentuje každý bajt přesně dvěma znaky z 16-symbolové abecedy (0-9, a-f). Převod mezi těmito formáty je dvoustupňový proces: dekódujte řetězec Base64 na surové bajty, poté tyto bajty znovu zakódujte v cílovém formátu.

Šestnáctková soustava je standardní reprezentací binárních dat v nízkoúrovňovém programování, kryptografii a síťových protokolech. Každý hex znak odpovídá přímo 4-bitovému nibble, takže čtení hodnot jednotlivých bajtů je přímočaré. Hash SHA-256 se například téměř vždy zobrazuje jako 64-znakový hex řetězec. Base64 je naproti tomu optimalizován pro kompaktnost — stejný hash zabere v Base64 pouze 44 znaků — a je standardním kódováním pro e-mailové přílohy (MIME), datové URI a API payloady.

Obě kódování jsou definována v RFC 4648. Převod mezi nimi je bezztrátový: žádná data nejsou přidána ani odebrána, mění se pouze textová reprezentace. To činí převod Base64 na hex běžnou operací při ladění šifrovaných dat, prohlížení otisků certifikátů nebo ověřování výstupů hashů napříč systémy, které používají různé formáty zobrazení.

Proč používat tento Base64 to Hex Converter?

Tento nástroj převádí mezi Base64 a šestnáctkovou soustavou přímo ve vašem prohlížeči. Žádná data neopustí váš počítač a převod probíhá v reálném čase během psaní.

Okamžitý převod
Vložte Base64 nebo hex a okamžitě uvidíte výsledek — bez odesílání na server. Obousměrný režim umožňuje přepínat směr jedním kliknutím.
🔒
Zpracování s důrazem na soukromí
Veškerý převod probíhá lokálně ve vašem prohlížeči pomocí JavaScript. Vaše kryptografické klíče, hashe a tokeny nejsou nikdy přenášeny po síti.
Obousměrný režim
Přepínejte mezi Base64 na hex a hex na Base64 jediným tlačítkem. Nástroj automaticky rozpozná a zpracuje standardní i URL-safe varianty Base64.
📋
Čistý výstup připravený ke zkopírování
Výstupem je hex malými písmeny bez oddělovačů nebo předpon — formát, který očekává většina API, CLI nástrojů a programovacích jazyků. Zkopírujte jedním kliknutím.

Případy použití Base64 to Hex

Frontend Developer
Převádějte API odpovědi kódované v Base64 na hex při ladění binárních protokolů, WebSocket rámců nebo obsahu ArrayBuffer v konzoli DevTools prohlížeče.
Backend Engineer
Přeložte hash digesty v Base64 z JWT podpisů nebo HMAC odpovědí do hex pro porovnání s hodnotami uloženými v OpenSSL nebo databázi, které používají šestnáctkovou reprezentaci.
DevOps / SRE
Ověřujte otisky TLS certifikátů převodem veřejného klíče Base64 ze souborů PEM do formátu hex otisku, který zobrazují prohlížeče a monitorovací nástroje.
Security Analyst
Prozkoumejte šifrovací klíče a inicializační vektory (IV), které přicházejí jako Base64 v API provozu — převeďte na hex pro analýzu na úrovni bajtů v Wireshark nebo CyberChef.
Data Engineer
Transformujte binární sloupce kódované v Base64 z databází (PostgreSQL bytea, MongoDB BinData) do hex pro porovnání, logování nebo migrační skripty.
Student / začátečník
Pochopte vztah mezi Base64 a šestnáctkovou soustavou sledováním, jak jsou stejné bajty reprezentovány v každém formátu — to posiluje porozumění základům kódování.

Base64 vs. šestnáctková soustava

Base64 i šestnáctková soustava převádějí binární data na tisknutelný text, ale dělají různé kompromisy mezi kompaktností a čitelností. Tabulka níže shrnuje klíčové rozdíly.

VlastnostBase64Hexadecimal
AbecedaA-Z a-z 0-9 + / =0-9 a-f
Bitů na znak64
Nárůst velikosti~33 % větší než surová data100 % větší než surová data
ČitelnostKompaktní, ale nepřehlednýKaždý bajt viditelný jako 2 znaky
Primární použitíE-mail, datové URI, APIKryptografické hashe, MAC adresy, barvy
SpecifikaceRFC 4648IEEE 754, RFC 4648 sec 8

Příklady převodu

Tabulka níže zobrazuje stejné sekvence bajtů v jejich Base64 a šestnáctkové reprezentaci. Všimněte si, že hex výstup je vždy přesně dvojnásobkem počtu bajtů, zatímco délka Base64 se rovná ceil(početBajtů / 3) * 4.

Vstup (text / bajty)Base64Hex
HelloSGVsbG8=48656c6c6f
ABQUI=4142
0xFFMHhGRg==30784646
AAE=0001
key=vala2V5PXZhbA==6b65793d76616c
Þ­¾ï (bytes)3q2+7w==deadbeef

Jak převod funguje

Převod Base64 na šestnáctkovou soustavu je dvoustupňový proces. Nejprve je řetězec Base64 dekódován na surové bajty mapováním každého znaku na jeho 6-bitovou hodnotu, zřetězením bitů a rozdělením na 8-bitové bajty (s vynecháním doplnění). Tento krok obrátí kódování definované v RFC 4648 Section 4.

Za druhé, každý bajt se převede na jeho dvoucifernou šestnáctkovou reprezentaci. Hodnota bajtu 0–255 se mapuje na 00–ff. Bajt jako 0x4F (desítkově 79) se stane dvěma znaky '4' a 'f'. Výsledný hex řetězec je jednoduše zřetězením všech dvouznakovýchpárů. Opačný směr (hex na Base64) tyto kroky aplikuje v obráceném pořadí: zpracuje hex páry na bajty, poté výsledek zakóduje do Base64.

4-bitový binárníHex číslice
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

Příklady kódu

Tyto spustitelné ukázky ukazují, jak převádět mezi Base64 a hex v JavaScript, Python, Go a na příkazové řádce. Každý příklad pokrývá oba směry převodu.

JavaScript (browser / Node.js)
// Base64 to Hex
function base64ToHex(b64) {
  const raw = atob(b64)
  return Array.from(raw, c =>
    c.charCodeAt(0).toString(16).padStart(2, '0')
  ).join('')
}
base64ToHex('SGVsbG8=') // → "48656c6c6f"

// Hex to Base64
function hexToBase64(hex) {
  const bytes = hex.match(/.{1,2}/g).map(b => parseInt(b, 16))
  return btoa(String.fromCharCode(...bytes))
}
hexToBase64('48656c6c6f') // → "SGVsbG8="

// Node.js Buffer shorthand
Buffer.from('SGVsbG8=', 'base64').toString('hex')   // → "48656c6c6f"
Buffer.from('48656c6c6f', 'hex').toString('base64')  // → "SGVsbG8="
Python
import base64, binascii

# Base64 to Hex
b64_str = 'SGVsbG8='
raw_bytes = base64.b64decode(b64_str)
hex_str = raw_bytes.hex()            # → '48656c6c6f'
# or: binascii.hexlify(raw_bytes).decode()

# Hex to Base64
hex_str = '48656c6c6f'
raw_bytes = bytes.fromhex(hex_str)
b64_str = base64.b64encode(raw_bytes).decode()  # → 'SGVsbG8='

# One-liner for quick conversion
base64.b64encode(bytes.fromhex('deadbeef')).decode()  # → '3q2+7w=='
Go
package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
)

func main() {
    // Base64 to Hex
    raw, _ := base64.StdEncoding.DecodeString("SGVsbG8=")
    hexStr := hex.EncodeToString(raw)
    fmt.Println(hexStr) // → "48656c6c6f"

    // Hex to Base64
    raw2, _ := hex.DecodeString("48656c6c6f")
    b64Str := base64.StdEncoding.EncodeToString(raw2)
    fmt.Println(b64Str) // → "SGVsbG8="
}
CLI (bash)
# Base64 to Hex (using base64 + xxd)
echo -n 'SGVsbG8=' | base64 -d | xxd -p
# → 48656c6c6f

# Hex to Base64
echo -n '48656c6c6f' | xxd -r -p | base64
# → SGVsbG8=

# OpenSSL alternative
echo -n 'SGVsbG8=' | openssl base64 -d | xxd -p
# → 48656c6c6f

Často kladené dotazy

Jaký je rozdíl mezi Base64 a šestnáctkovou soustavou?
Base64 používá 64 znaků a kóduje 6 bitů na znak, což vede k nárůstu velikosti přibližně o 33 % oproti surovým bajtům. Šestnáctková soustava používá 16 znaků a kóduje 4 bity na znak, což vede ke 100% nárůstu — přesně dvojnásobku původní velikosti. Base64 je kompaktnější; hex je čitelnější pro člověka, protože každý bajt odpovídá přesně dvěma znakům.
Je převod Base64 na hex ztrátový?
Ne. Jak Base64, tak hex jsou deterministická, reverzibilní kódování stejných zdrojových bajtů. Převod mezi nimi data nemění, nekomprimuje ani nešifruje. Sekvence surových bajtů je před převodem i po něm identická — mění se pouze textová reprezentace.
Proč je můj hex výstup delší než vstup v Base64?
Hex vždy produkuje 2 znaky na bajt, zatímco Base64 produkuje přibližně 1,33 znaku na bajt. Hodnota o 20 bajtech tvoří 28 znaků v Base64, ale 40 znaků v hex. Toto je inherentní kompromis: hex je větší, ale každá hranice bajtu je okamžitě viditelná.
Mohu převést Base64url (URL-safe Base64) na hex?
Ano. Base64url nahrazuje + za - a / za _ a vynechává doplnění. Tento nástroj automaticky normalizuje vstup Base64url před převodem. V kódu nahraďte - za + a _ za /, poté přidejte doplnění před dekódováním: výsledné bajty jsou identické se standardním Base64.
Jak převedu hash SHA-256 z Base64 na hex?
Vložte hash Base64 do tohoto nástroje a získáte 64-znakový hex řetězec. V kódu: dekódujte řetězec Base64 na bajty (32 bajtů pro SHA-256), poté tyto bajty hex-zakódujte. Například v Python: bytes.fromhex je opačná operace — base64.b64decode(b64_hash).hex() vám poskytne šestnáctkovou reprezentaci.
Co se stane, když vstup Base64 obsahuje mezery nebo zalomení řádků?
Většina dekodérů Base64, včetně tohoto nástroje, před dekódováním mezery odstraní. Certifikáty kódované v PEM a obsah kódovaný v MIME typicky zalamují Base64 na 64 nebo 76 znacích na řádek. Zalomení řádků nejsou součástí kódovaných dat a jsou při převodu bezpečně ignorována.
Kdy mám použít hex místo Base64?
Použijte hex, když potřebujete čitelnost na úrovni bajtů — prohlížení kryptografických výstupů, ladění binárních protokolů nebo zadávání hodnot barev (#ff5733). Použijte Base64, když záleží na kompaktnosti — vkládání dat do JSON, přenos e-mailem (MIME) nebo vytváření datových URI. Pro ukládání a přenos šetří Base64 přibližně 33 % místa oproti hex.