Base64 to Hex

Konversi antara Base64 dan heksadesimal

Base64

Hex

Berjalan lokal · Aman untuk menempel rahasia
Output akan muncul di sini…
Base64 → Hex

Apa Itu Konversi Base64 ke Hex?

Konversi Base64 ke hex mengubah data antara dua skema enkoding biner-ke-teks yang umum digunakan. Base64 merepresentasikan data biner menggunakan 64 karakter ASCII (A-Z, a-z, 0-9, +, /), mengenkode setiap 3 byte menjadi 4 karakter. Heksadesimal merepresentasikan setiap byte sebagai tepat dua karakter dari alfabet 16 simbol (0-9, a-f). Konversi antara kedua format ini adalah proses dua langkah: dekode string Base64 menjadi byte mentah, lalu enkode ulang byte tersebut ke format tujuan.

Notasi heksadesimal adalah representasi standar untuk data biner dalam pemrograman tingkat rendah, kriptografi, dan protokol jaringan. Setiap karakter hex memetakan langsung ke nibble 4-bit, sehingga mudah untuk membaca nilai byte secara individual. Hash SHA-256, misalnya, hampir selalu ditampilkan sebagai string hex 64 karakter. Base64, sebaliknya, dioptimalkan untuk kepadatan — hash yang sama hanya membutuhkan 44 karakter dalam Base64 — dan merupakan enkoding standar untuk lampiran email (MIME), data URI, dan payload API.

Kedua enkoding ini didefinisikan dalam RFC 4648. Konversi di antara keduanya bersifat lossless: tidak ada data yang ditambahkan atau dihapus, hanya representasi teksnya yang berubah. Hal ini menjadikan konversi Base64-ke-hex sebagai operasi rutin saat melakukan debug payload terenkripsi, memeriksa fingerprint sertifikat, atau memverifikasi output hash di seluruh sistem yang menggunakan format tampilan berbeda.

Mengapa Menggunakan Konverter Base64 ke Hex Ini?

Alat ini mengonversi antara Base64 dan heksadesimal langsung di browser Anda. Tidak ada data yang meninggalkan mesin Anda, dan konversi terjadi secara real-time saat Anda mengetik.

Konversi Instan
Tempel Base64 atau hex dan lihat hasilnya langsung — tanpa bolak-balik ke server. Mode dua arah memungkinkan Anda beralih antar arah dengan satu klik.
🔒
Pemrosesan Mengutamakan Privasi
Semua konversi berjalan secara lokal di browser Anda menggunakan JavaScript. Kunci kriptografi, hash, dan token Anda tidak pernah dikirimkan melalui jaringan.
Mode Dua Arah
Beralih antara Base64-ke-hex dan hex-ke-Base64 dengan satu tombol. Alat ini mendeteksi dan menangani varian Base64 standar maupun URL-safe.
📋
Output Bersih, Siap Ditempel
Output berupa hex huruf kecil tanpa pembatas atau awalan — format yang diharapkan oleh sebagian besar API, CLI, dan bahasa pemrograman. Salin dengan satu klik.

Kasus Penggunaan Base64 ke Hex

Frontend Developer
Konversi respons API yang dienkode Base64 ke hex saat melakukan debug protokol biner, frame WebSocket, atau konten ArrayBuffer di konsol DevTools browser.
Backend Engineer
Terjemahkan digest hash Base64 dari signature JWT atau respons HMAC ke hex untuk dibandingkan dengan nilai yang tersimpan di OpenSSL atau database yang menggunakan representasi hex.
DevOps / SRE
Verifikasi fingerprint sertifikat TLS dengan mengonversi kunci publik Base64 dari file PEM ke format fingerprint hex yang ditampilkan oleh browser dan alat monitoring.
Security Analyst
Periksa kunci enkripsi dan initialization vector (IV) yang datang sebagai Base64 dalam traffic API — konversi ke hex untuk analisis tingkat byte di Wireshark atau CyberChef.
Data Engineer
Ubah kolom biner yang dienkode Base64 dari database (PostgreSQL bytea, MongoDB BinData) ke hex untuk perbandingan, logging, atau skrip migrasi.
Pelajar / Pemula
Pahami hubungan antara Base64 dan heksadesimal dengan melihat bagaimana byte yang sama direpresentasikan dalam setiap format, memperkuat pemahaman dasar enkoding.

Enkoding Base64 vs Heksadesimal

Base64 dan heksadesimal keduanya mengonversi data biner ke teks yang dapat dicetak, namun membuat trade-off berbeda antara kepadatan dan keterbacaan. Tabel di bawah merangkum perbedaan utamanya.

PropertiBase64Hexadecimal
AlfabetA-Z a-z 0-9 + / =0-9 a-f
Bit per karakter64
Overhead ukuran~33% lebih besar dari asli100% lebih besar dari asli
KeterbacaanPadat tapi tidak transparanSetiap byte terlihat sebagai 2 karakter
Penggunaan utamaEmail, data URI, APIHash kriptografi, MAC address, warna
SpesifikasiRFC 4648IEEE 754, RFC 4648 sec 8

Contoh Konversi

Tabel di bawah menampilkan urutan byte yang identik dalam representasi Base64 dan heksadesimalnya. Perhatikan bahwa output hex selalu tepat dua kali jumlah byte, sedangkan panjang Base64 sama dengan ceil(byteCount / 3) * 4.

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

Cara Kerja Konversi

Mengonversi Base64 ke heksadesimal adalah proses dua fase. Pertama, string Base64 didekode menjadi byte mentah dengan memetakan setiap karakter ke nilai 6-bit-nya, menggabungkan bit-bit tersebut, dan membaginya menjadi byte 8-bit (membuang padding). Langkah ini membalik enkoding yang didefinisikan dalam RFC 4648 Section 4.

Kedua, setiap byte dikonversi ke representasi heksadesimal dua digit. Nilai byte 0-255 dipetakan ke 00-ff. Byte seperti 0x4F (desimal 79) menjadi dua karakter '4' dan 'f'. String hex lengkap hanyalah penggabungan semua pasangan dua karakter. Arah sebaliknya (hex ke Base64) menerapkan langkah-langkah ini dalam urutan terbalik: parse pasangan hex menjadi byte, lalu enkode Base64 hasilnya.

Biner 4-bitDigit hex
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

Contoh Kode

Cuplikan yang dapat dijalankan ini menunjukkan cara mengonversi antara Base64 dan hex dalam JavaScript, Python, Go, dan command line. Setiap contoh mencakup kedua arah konversi.

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

Pertanyaan yang Sering Diajukan

Apa perbedaan antara Base64 dan heksadesimal?
Base64 menggunakan 64 karakter dan mengenkode 6 bit per karakter, menghasilkan overhead ukuran sekitar 33% dibandingkan byte mentah. Heksadesimal menggunakan 16 karakter dan mengenkode 4 bit per karakter, menghasilkan overhead 100% — tepat dua kali ukuran asli. Base64 lebih padat; hex lebih mudah dibaca oleh manusia karena setiap byte dipetakan ke tepat dua karakter.
Apakah konversi Base64-ke-hex bersifat lossy?
Tidak. Base64 dan hex keduanya merupakan enkoding deterministik dan reversibel dari byte yang sama. Mengonversi di antara keduanya tidak mengubah, mengompresi, atau mengenkripsi data. Urutan byte mentah identik sebelum dan sesudah konversi — hanya representasi teksnya yang berubah.
Mengapa output hex saya lebih panjang dari input Base64?
Hex selalu menghasilkan 2 karakter per byte, sedangkan Base64 menghasilkan sekitar 1,33 karakter per byte. Nilai 20-byte adalah 28 karakter Base64 tetapi 40 karakter hex. Ini adalah trade-off yang inheren: hex lebih besar tetapi setiap batas byte langsung terlihat.
Bisakah saya mengonversi Base64url (Base64 URL-safe) ke hex?
Ya. Base64url mengganti + dengan - dan / dengan _ serta menghilangkan padding. Alat ini secara otomatis menormalisasi input Base64url sebelum konversi. Dalam kode, ganti - dengan + dan _ dengan / lalu tambahkan padding sebelum mendekode: byte yang dihasilkan identik dengan Base64 standar.
Bagaimana cara mengonversi hash SHA-256 dari Base64 ke hex?
Tempel hash Base64 ke alat ini untuk mendapatkan string hex 64 karakter. Dalam kode: dekode string Base64 menjadi byte (32 byte untuk SHA-256), lalu enkode byte tersebut ke hex. Misalnya, dalam Python: bytes.fromhex adalah kebalikannya — base64.b64decode(b64_hash).hex() memberikan representasi hex.
Apa yang terjadi jika input Base64 mengandung spasi atau baris baru?
Sebagian besar dekoder Base64, termasuk alat ini, menghapus spasi sebelum mendekode. Sertifikat yang dienkode PEM dan konten yang dienkode MIME biasanya membungkus Base64 pada 64 atau 76 karakter per baris. Pemisah baris bukan bagian dari data yang dienkode dan diabaikan dengan aman selama konversi.
Kapan sebaiknya menggunakan hex daripada Base64?
Gunakan hex saat Anda membutuhkan keterbacaan tingkat byte — memeriksa output kriptografi, melakukan debug protokol biner, atau menentukan nilai warna (#ff5733). Gunakan Base64 saat kepadatan penting — menyematkan data dalam JSON, mengirim melalui email (MIME), atau membuat data URI. Untuk penyimpanan dan transmisi, Base64 menghemat sekitar 33% ruang dibandingkan hex.