เข้ารหัสและถอดรหัส Base64 ออนไลน์

แปลงข้อความ ไบต์เลขฐานสิบหก หรือไฟล์เป็น Base64 และถอดรหัส Base64 กลับเป็นข้อความที่อ่านได้ รองรับ Base64URL การตัดบรรทัดแบบ MIME และชุดอักขระมากกว่าสิบแบบ โดยประมวลผลทั้งหมดภายในเบราว์เซอร์ของคุณ

ทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดข้อมูลใด ๆ

วิธีใช้งาน

  1. เลือก “เข้ารหัส” หรือ “ถอดรหัส” ที่ด้านบนของเครื่องมือ
  2. พิมพ์หรือวางข้อความ หรือคลิก “เปิดไฟล์” เพื่อเข้ารหัสไฟล์ใดก็ได้
  3. ปรับ “รูปแบบ” (มาตรฐานหรือปลอดภัยสำหรับ URL) “แพดดิง” “ตัดบรรทัด” หรือ “การเข้ารหัสอักขระ” ได้ตามต้องการ ผลลัพธ์จะอัปเดตทันทีขณะที่คุณพิมพ์
  4. กด “คัดลอก” หรือ “ดาวน์โหลด” เพื่อรับผลลัพธ์ หรือกดปุ่ม “สลับอินพุตและเอาต์พุต” เพื่อส่งผลลัพธ์กลับไปแปลงในทิศทางตรงกันข้าม

Base64 คืออะไร

Base64 คือการเข้ารหัสที่แปลงข้อมูลไบนารีเป็นข้อความ โดยแทนลำดับไบต์ใด ๆ ด้วยอักขระ ASCII ที่พิมพ์ได้ 64 ตัว ได้แก่ A-Z a-z 0-9 + และ / และใช้ = เป็นแพดดิง วิธีนี้ทำให้ข้อมูลไบนารี เช่น รูปภาพ คีย์ หรือไฟล์บีบอัด ส่งผ่านระบบที่ออกแบบมาสำหรับข้อความได้อย่างปลอดภัย เช่น อีเมล JSON XML URL และ HTML

ตัวเข้ารหัสจะอ่านอินพุตครั้งละสามไบต์ (24 บิต) แล้วแบ่งออกเป็นสี่กลุ่ม กลุ่มละ 6 บิต ค่า 6 บิตแต่ละค่าซึ่งอยู่ระหว่าง 0 ถึง 63 จะใช้เลือกอักขระหนึ่งตัวจากชุดตัวอักษร หากความยาวของอินพุตไม่ใช่พหุคูณของสาม กลุ่มสุดท้ายจะถูกเติมด้วยเครื่องหมาย = หนึ่งหรือสองตัว ผลลัพธ์ Base64 จึงมีขนาดใหญ่กว่าข้อมูลต้นฉบับประมาณ 33% เสมอ

Base64 เป็นเพียงการเข้ารหัสรูปแบบข้อมูล (encoding) ไม่ใช่การเข้ารหัสลับ (encryption) ทุกคนสามารถถอดรหัสได้ ดังนั้นอย่าใช้ Base64 เพื่อซ่อนรหัสผ่านหรือข้อมูลลับ

Base64 กับ Base64URL

Base64 มาตรฐานใช้ + และ / ซึ่งมีความหมายพิเศษใน URL และชื่อไฟล์ Base64URL ที่กำหนดไว้ใน RFC 4648 หัวข้อ 5 จะแทนที่อักขระทั้งสองด้วย - และ _ และมักละแพดดิงไว้ Base64URL ถูกใช้ใน JSON Web Token, OAuth และทุกที่ที่ต้องใส่ค่าไว้ใน URL ตัวถอดรหัสในหน้านี้รับได้ทั้งสองรูปแบบโดยอัตโนมัติ

Base64 มาตรฐานBase64URL
อักขระของค่า 62 และ 63+ /- _
แพดดิงต้องมี =ไม่บังคับ และมักละไว้
ใช้ใน URL และชื่อไฟล์ได้อย่างปลอดภัยไม่ได้ได้
การใช้งานทั่วไปอีเมล (MIME), data URI, JSON, คีย์ PEMJWT, OAuth, พารามิเตอร์ใน URL

การใช้งาน Base64 ที่พบบ่อย

  • ไฟล์แนบในอีเมล MIME เข้ารหัสไฟล์แนบเป็น Base64 และตัดบรรทัดทุก 76 อักขระ ใช้ตัวเลือก “ตัดบรรทัด” เพื่อสร้างรูปแบบนี้
  • การฝังรูปภาพและไฟล์ Data URI ช่วยใส่รูปภาพขนาดเล็ก ฟอนต์ หรือไอคอนลงใน HTML และ CSS ได้โดยตรง ดู แปลงรูปภาพเป็น Base64 และ แปลง Base64 เป็นรูปภาพ
  • API และการตั้งค่า JSON ไม่มีชนิดข้อมูลไบนารี API จึงส่งไฟล์ ลายเซ็น และคีย์ในรูปสตริง Base64 นอกจากนี้ Kubernetes Secret ก็จัดเก็บค่าเป็น Base64 เช่นกัน
  • การยืนยันตัวตน HTTP Basic Authentication ส่ง username:password ในรูป Base64 และ JSON Web Token ประกอบด้วย Base64URL สามส่วน
  • ใบรับรองและคีย์ ไฟล์ PEM คือข้อมูล DER ที่เข้ารหัสเป็น Base64 และตัดบรรทัดทุก 64 อักขระ

Base64 ในภาษาโปรแกรมต่าง ๆ

ภาษาเข้ารหัสถอดรหัส
JavaScript (เบราว์เซอร์)btoa(binaryString)atob(base64)
Node.jsBuffer.from(str).toString('base64')Buffer.from(b64, 'base64').toString()
Pythonbase64.b64encode(data)base64.b64decode(data)
PHPbase64_encode($str)base64_decode($b64)
JavaBase64.getEncoder().encodeToString(bytes)Base64.getDecoder().decode(b64)
C#Convert.ToBase64String(bytes)Convert.FromBase64String(b64)
Gobase64.StdEncoding.EncodeToString(b)base64.StdEncoding.DecodeString(s)
เชลล์base64 file.binbase64 -d file.txt

ในเบราว์เซอร์ btoa รับเฉพาะอักขระที่มีค่าไม่เกิน U+00FF หากต้องการเข้ารหัสข้อความ Unicode เช่น ภาษาไทย ต้องแปลงเป็นไบต์ UTF-8 ก่อน เช่น ใช้ TextEncoder หรือใช้เครื่องมือนี้ซึ่งเข้ารหัสข้อความเป็น UTF-8 โดยค่าเริ่มต้น

มากกว่า Base64

Base64.is ยังครอบคลุมการเข้ารหัสอื่น ๆ ในตระกูล Base-N ได้แก่ Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, เลขฐานสิบหก และ เลขฐานสอง หากไม่แน่ใจว่าสตริงใช้การเข้ารหัสแบบใด ลองใช้ เครื่องมือตรวจหาการเข้ารหัส หรือเปรียบเทียบทุกแบบพร้อมกันด้วย การเข้ารหัสทั้งหมด

ข้อกำหนด

ชุดตัวอักษรA-Z a-z 0-9 + /
ขนาดเอาต์พุต4 อักขระต่อ 3 ไบต์ (ประมาณ 133%)
แพดดิงเติม = จนความยาวเป็นพหุคูณของ 4
มาตรฐานRFC 4648 หัวข้อ 4
แยกตัวพิมพ์เล็ก-ใหญ่ใช่

ตัวอย่าง

อินพุต (UTF-8)เอาต์พุต
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

คำถามที่พบบ่อย

ข้อมูลของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่

ไม่มีการอัปโหลด การเข้ารหัสและถอดรหัสทำงานภายในเบราว์เซอร์ของคุณทั้งหมดด้วย JavaScript ข้อความและไฟล์ที่คุณป้อนจะไม่ออกจากอุปกรณ์ของคุณ และเครื่องมือยังใช้งานได้แบบออฟไลน์หลังจากโหลดหน้าเว็บเสร็จแล้ว

ทำไมข้อความที่ถอดรหัสแล้วจึงอ่านไม่ออก
อาจเป็นเพราะข้อมูลเป็นไบนารี (เช่น รูปภาพหรือไฟล์บีบอัด) ไม่ใช่ข้อความ หรือถูกเข้ารหัสด้วยชุดอักขระอื่น ลองเปลี่ยนตัวเลือกใน “การเข้ารหัสอักขระ” เลือกเอาต์พุตเป็น “เลขฐานสิบหก” หรือใช้ แปลง Base64 เป็นไฟล์ เพื่อดาวน์โหลดและระบุว่าไบต์เหล่านั้นคืออะไร
เครื่องหมายเท่ากับที่ท้ายสตริงหมายถึงอะไร

เครื่องหมายนี้คือแพดดิง Base64 ทำงานเป็นบล็อกละสี่อักขระ และใช้ = เติมบล็อกสุดท้ายเมื่อความยาวของอินพุตไม่ใช่พหุคูณของสามไบต์ = หนึ่งตัวหมายความว่าบล็อกสุดท้ายเข้ารหัสสองไบต์ ส่วน = สองตัวหมายความว่าบล็อกนั้นเข้ารหัสเพียงหนึ่งไบต์

ข้อมูลจะมีขนาดใหญ่ขึ้นเท่าใดหลังเข้ารหัส

Base64 แปลงทุก 3 ไบต์เป็น 4 อักขระ เอาต์พุตจึงใหญ่กว่าอินพุตประมาณ 33% และจะมีอักขระขึ้นบรรทัดใหม่เพิ่มขึ้นอีกหากคุณเปิดการตัดบรรทัด

Base64 เป็นการเข้ารหัสลับหรือไม่

ไม่ใช่ Base64 เพียงเปลี่ยนรูปแบบการแสดงข้อมูล ไม่มีคีย์ และทุกคนถอดรหัสได้ หากต้องการปกป้องข้อมูลสำคัญ ให้ใช้การเข้ารหัสลับจริง เช่น AES หรือ TLS

เครื่องมือ Base64 และการเข้ารหัสทั้งหมด

เครื่องมือ Base64

เข้ารหัส Base64เข้ารหัสข้อความหรือไฟล์เป็น Base64 พร้อมตัวเลือกชุดอักขระ แพดดิง และตัดบรรทัด ถอดรหัส Base64ถอดรหัส Base64 เป็นข้อความหรือเลขฐานสิบหก เลือกชุดอักขระได้ รับอินพุตยืดหยุ่น Base64URLBase64 แบบปลอดภัยสำหรับ URL (RFC 4648 หัวข้อ 5) สำหรับ JWT, OAuth และ URL ตรวจสอบ Base64ตรวจหาอักขระผิดและข้อผิดพลาดของแพดดิงในสตริง Base64 และ Base64URL Base64 เป็น Hexแปลงค่าแฮช คีย์ และลายเซ็นจาก Base64 เป็นเลขฐานสิบหก Hex เป็น Base64แปลงค่าแฮช คีย์ และลายนิ้วมือจากเลขฐานสิบหกเป็น Base64 ตัวถอดรหัส JWTถอดรหัสส่วนหัวและข้อมูลอ้างสิทธิ์ของ JWT ตรวจสอบวันหมดอายุและลายเซ็น ตัวสร้าง Basic Authสร้างหรือถอดรหัสส่วนหัว HTTP Basic Authorization ตัวสร้าง Data URIสร้างและตรวจดู data: URI ด้วย Base64 หรือการเข้ารหัสแบบเปอร์เซ็นต์

การเข้ารหัส Base-N

เลขฐานสอง (Base2)แปลงข้อความเป็นเลขฐานสองและกลับกัน ไบต์ละ 8 บิต เลขฐานแปด (Base8)แปลงข้อความเป็นค่าไบต์เลขฐานแปด 000 ถึง 377 และกลับกัน เลขฐานสิบ (Base10)แปลงข้อความเป็นค่าไบต์เลขฐานสิบ (รหัส ASCII) และกลับกัน เลขฐานสิบหก (Base16)แปลงข้อความเป็น Hex และ Hex เป็นข้อความ พร้อมตัวคั่นและตัวนำหน้า Base32Base32 ตาม RFC 4648, Base32hex, Crockford และ z-base-32 Base32hexBase32 ตาม RFC 4648 ด้วยชุดตัวอักษร 0-9 A-V ที่เรียงลำดับได้ Crockford Base32Base32 ที่อ่านง่าย ไม่มี I, L, O และ U พร้อมตัวถอดรหัสที่ยืดหยุ่น z-base-32Base32 ตัวพิมพ์เล็กที่ออกแบบให้คนใช้งาน ไม่มีแพดดิง Base36ตัวเลขและ a-z การเข้ารหัสแบบเลขจำนวนใหญ่ที่ไม่แยกตัวพิมพ์ Base45Base45 ตาม RFC 9285 สำหรับ QR code และใบรับรองโควิด Base58Base58 แบบ Bitcoin, Flickr และ Ripple พร้อม Base58Check ให้เลือกใช้ Base58CheckBase58 พร้อมเช็กซัม SHA-256 สองชั้น แบบเดียวกับที่อยู่ Bitcoin Base62ใช้เฉพาะตัวเลขและตัวอักษร สำหรับ URL แบบสั้นและ ID Base85Base85 ด้วยชุดอักขระ RFC 1924 แบบเดียวกับใน Git และ Python Ascii85Ascii85 ของ Adobe พร้อมอักขระย่อ z และตัวกำหนดขอบเขตให้เลือกใช้ Z85Base85 ของ ZeroMQ (RFC 32) ใช้ในสตริงของซอร์สโค้ดได้อย่างปลอดภัย Base91basE91 ของ Joachim Henke การเข้ารหัส ASCII ที่กะทัดรัด Uuencodeการเข้ารหัสแบบ Unix-to-Unix พร้อมบรรทัด begin และ end Xxencodeuuencode อีกรูปแบบที่ใช้ชุดตัวอักษรเฉพาะตัวอักษรและตัวเลข

เครื่องมือแปลง

การเข้ารหัสทั้งหมดเข้ารหัสข้อความเป็นทุกรูปแบบพร้อมกันและเปรียบเทียบผลลัพธ์ ตรวจหาการเข้ารหัสระบุสตริงที่เข้ารหัสซึ่งไม่ทราบรูปแบบและดูตัวอย่างข้อมูลที่ถอดรหัสแล้ว ตัวแปลงการเข้ารหัสแปลงระหว่าง Base64, Base58, Base32, เลขฐานสิบหก และการเข้ารหัสอื่น ๆ Base58 เป็นเลขฐานสิบหกถอดรหัสที่อยู่ คีย์ และแฮช Base58 เป็นไบต์เลขฐานสิบหก เลขฐานสิบหกเป็น Base58เข้ารหัสไบต์ คีย์ และแฮชที่เป็นเลขฐานสิบหกเป็น Base58 ชุดตัวอักษรแบบกำหนดเองเข้ารหัสและถอดรหัสด้วยชุดตัวอักษรใดก็ได้ แบบเลขจำนวนใหญ่หรือกลุ่มบิต ตัวแปลงเลขฐานเลขฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก Base36 และ Base62 สำหรับจำนวนเต็มใดก็ได้

เครื่องมือรูปภาพ

รูปภาพเป็น Base64เข้ารหัสรูปภาพใดก็ได้เป็น data URI, แท็ก img, CSS หรือ Markdown Base64 เป็นรูปภาพถอดรหัส Base64 หรือ data URI เป็นภาพตัวอย่างและไฟล์รูปภาพที่ดาวน์โหลดได้ PNG เป็น Base64PNG แบบไม่สูญเสียข้อมูลพร้อมความโปร่งใสเป็น Base64 แบบ data:image/png JPG เป็น Base64ภาพถ่าย JPEG เป็น Base64 แบบ data:image/jpeg พร้อมปรับคุณภาพได้ WebP เป็น Base64รูปภาพ WebP ขนาดกะทัดรัดเป็น Base64 แบบ data:image/webp GIF เป็น Base64GIF ภาพนิ่งและภาพเคลื่อนไหวเป็น Base64 แบบ data:image/gif SVG เป็น Base64กราฟิกเวกเตอร์ SVG เป็น Base64 แบบ data:image/svg+xml BMP เป็น Base64บิตแมป BMP เป็น Base64 พร้อมตัวเลือกแปลงเป็น PNG ICO เป็น Base64Favicon และไฟล์ .ico เป็น data URI แบบ Base64 AVIF เป็น Base64รูปภาพ AVIF ที่บีบอัดด้วย AV1 เป็น Base64 แบบ data:image/avif TIFF เป็น Base64ภาพสแกนและภาพสำหรับงานพิมพ์แบบ TIFF เป็นข้อความ Base64 Base64 เป็น PNGบันทึก Base64 หรือสตริง data:image/png เป็นไฟล์ PNG พร้อมความโปร่งใส Base64 เป็น JPGถอดรหัส Base64 เป็นภาพถ่าย .jpg พร้อมแถบปรับคุณภาพสำหรับการแปลง Base64 เป็น WebPถอดรหัส Base64 WebP หรือแปลงรูปภาพ Base64 เป็นไฟล์ WebP ที่เล็กลง Base64 เป็น GIFบันทึก Base64 GIF โดยคงภาพเคลื่อนไหวไว้ หรือแปลงรูปภาพเป็น GIF Base64 เป็น SVGถอดรหัสไอคอนและกราฟิก SVG จาก Base64 กลับเป็นไฟล์ .svg Base64 เป็น BMPถอดรหัส Base64 เป็น .bmp หรือแปลงรูปภาพเป็นบิตแมป 32 บิต Base64 เป็น ICOถอดรหัสไอคอน Base64 หรือเปลี่ยนรูปภาพ Base64 เป็นไฟล์ favicon.ico Base64 เป็น AVIFถอดรหัสรูปภาพ AVIF จาก Base64 หรือแปลงเป็น AVIF ในเบราว์เซอร์ที่รองรับ Base64 เป็น TIFFบันทึกเอกสารสแกน Base64 เป็น TIFF หรือแปลงรูปภาพเป็น TIFF แบบไม่บีบอัด