Developer

Base64 คืออะไร ใช้ทำอะไร decode ยังไง

🔤 Base64 ไม่ใช่การ encrypt — มันคือการแปลง binary ให้เป็น text ASCII ที่ส่งผ่านระบบต่างๆ ได้ปลอดภัย ทุกคนที่เห็น Base64 string สามารถ decode กลับได้ทันที

ทำไมต้องมี Base64

ระบบเก่าๆ หลายอย่าง (HTTP headers, email protocols อย่าง SMTP, XML) ถูกออกแบบมาให้รองรับ ASCII text เท่านั้น แต่ข้อมูลในโลกจริงมักเป็น binary เช่น รูปภาพ ไฟล์ PDF หรือ cryptographic keys

Base64 แก้ปัญหานี้โดยแปลง binary ทุก 3 byte (24 bits) ให้เป็น 4 ตัวอักษร ASCII ที่ "ปลอดภัย" ประกอบด้วย A–Z, a–z, 0–9, + และ / รวม 64 ตัวอักษร (จึงชื่อ Base64)

Encode และ Decode ใน JavaScript

// Encode (แปลง text เป็น Base64)
btoa('สวัสดี madestool');
// ⚠️ btoa รองรับแค่ Latin chars — สำหรับ Unicode ต้องแปลงก่อน
btoa(unescape(encodeURIComponent('สวัสดี')));

// Decode (แปลง Base64 กลับเป็น text)
atob('bWFkZXN0b29s'); // → "madestool"
# Python
import base64
encoded = base64.b64encode(b'madestool')
# → b'bWFkZXN0b29s'

decoded = base64.b64decode(b'bWFkZXN0b29s')
# → b'madestool'

ใช้ Base64 ในงานพัฒนาที่ไหนบ้าง

Use Caseตัวอย่าง
JWT TokenHeader และ Payload ของ JWT เป็น Base64URL encoded
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.xxx
Data URL รูปภาพsrc="data:image/png;base64,iVBORw0KGgoAAA..."
HTTP Basic AuthAuthorization: Basic dXNlcjpwYXNz (user:pass ใน Base64)
Email attachmentไฟล์แนบ email ถูก encode เป็น Base64 ใน MIME format
API Payloadบาง API ส่ง binary data เป็น Base64 string ใน JSON

Base64 vs Base64URL — ต่างกันอย่างไร

Base64 ทั่วไปใช้ + และ / ซึ่งมีความหมายพิเศษใน URL (+ = space, / = path separator) จึงมี Base64URL ที่แทนที่ด้วย - และ _ แทน:

  • Base64: dGVzdCtmb28v
  • Base64URL: dGVzdCtmb28_ (ใช้ใน JWT, OAuth tokens)

⚠️ Base64 ไม่ใช่การเข้ารหัส! ใครก็ decode ได้ทันที อย่าเอา password หรือข้อมูลลับใส่ใน Base64 แล้วคิดว่าปลอดภัย

Padding — เครื่องหมาย = ที่อยู่ท้าย

Base64 แปลงทุก 3 byte เป็น 4 ตัวอักษร ถ้าข้อมูลต้นทางไม่ได้หารด้วย 3 ลงตัว จะมี = หรือ == ต่อท้ายเพื่อ padding ให้ครบ:

  • "A" (1 byte) → QQ== (2 = padding)
  • "AB" (2 bytes) → QUI= (1 = padding)
  • "ABC" (3 bytes) → QUJD (ไม่มี padding)

✅ ถ้าต้องการ decode Base64 string ที่ดูแปลกๆ ให้ใช้ เครื่องมือ decode ฟรีที่ทำงานในเบราว์เซอร์ ข้อมูลไม่ออกจากเครื่องคุณ

🔤 Encode / Decode Base64 ทันที

วาง text หรือ Base64 string ระบบแปลงให้ทันทีในเบราว์เซอร์ รองรับ Unicode และ Base64URL

เปิด Base64 Encoder/Decoder →

ฟรี · ไม่ต้องสมัครสมาชิก · ข้อมูลไม่ออกจากเครื่อง