แปลง Base64 / URL Encode / HTML Encode ออนไลน์

Base64 Encoding คืออะไร?

Base64 คือวิธีเข้ารหัส (encoding) ข้อมูลแบบ binary ให้อยู่ในรูปแบบข้อความ ASCII โดยใช้อักขระ 64 ตัว ได้แก่ A-Z, a-z, 0-9, + และ / พร้อมเครื่องหมาย = สำหรับ padding ข้อมูลที่เข้ารหัสจะมีขนาดเพิ่มขึ้นประมาณ 33%

Base64 ถูกกำหนดไว้ใน RFC 4648 มักใช้ในการส่งข้อมูลผ่าน protocol ที่รองรับเฉพาะข้อความ เช่น อีเมล (MIME), Data URI ใน HTML/CSS, JSON Web Token (JWT) และ API ต่างๆ

เมื่อไรควรใช้ URL Encoding?

URL Encoding (หรือ Percent-encoding) จำเป็นเมื่อต้องส่งอักขระพิเศษหรืออักขระที่ไม่ใช่ ASCII ผ่าน URL:

ส่งข้อมูลผ่าน query string เช่น ?search=สวัสดี จะเป็น ?search=%E0%B8%AA%E0%B8%A7%E0%B8%B1%E0%B8%AA%E0%B8%94%E0%B8%B5
ส่งอักขระพิเศษ เช่น &, =, ?, # ที่มีความหมายพิเศษใน URL
ส่งข้อมูลฟอร์มแบบ application/x-www-form-urlencoded
สร้าง URL ที่มีช่องว่างหรืออักขระภาษาไทย

HTML Encoding สำคัญอย่างไร?

HTML Encoding แปลงอักขระพิเศษให้เป็น HTML entities เพื่อแสดงผลอย่างถูกต้องในเว็บเพจ และป้องกันการโจมตีแบบ Cross-Site Scripting (XSS) อักขระที่ต้อง encode ได้แก่ & (ampersand), < (less-than), > (greater-than), " (double quote) และ ' (single quote)

< จะถูกแปลงเป็น &lt; และ & จะถูกแปลงเป็น &amp;

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

Base64: ฝังรูปภาพใน HTML/CSS ด้วย Data URI (data:image/png;base64,...)
Base64: เข้ารหัส credentials สำหรับ HTTP Basic Authentication
Base64: เก็บข้อมูล binary ใน JSON หรือ XML
URL Encode: ส่งพารามิเตอร์ที่มีอักขระพิเศษผ่าน URL
URL Encode: สร้าง deep link สำหรับแอปมือถือ
HTML Encode: แสดงโค้ด HTML บนหน้าเว็บอย่างปลอดภัย
HTML Encode: ป้องกัน XSS attack ในข้อมูลที่รับจากผู้ใช้

เคล็ดลับการใช้งาน

  • Base64 ไม่ใช่การเข้ารหัส (encryption) ข้อมูลสามารถถอดรหัสได้ง่าย ห้ามใช้เก็บข้อมูลที่เป็นความลับ
  • URL Encoding ใช้ encodeURIComponent() สำหรับค่า parameter แต่ใช้ encodeURI() สำหรับ URL ทั้งหมด
  • HTML Encoding ควรทำเสมอก่อนแสดงข้อมูลจากผู้ใช้บนเว็บเพจ
  • เครื่องมือนี้รองรับ UTF-8 ทำให้แปลงข้อความภาษาไทยได้อย่างถูกต้อง
  • ผลลัพธ์จะแปลงอัตโนมัติขณะพิมพ์ ไม่ต้องกดปุ่มแปลง

กรณีใช้งานจริง

tools.base64.info.useCases.content

แปลงรูปภาพเป็น Base64 Data URI เพื่อฝังใน HTML/CSS โดยไม่ต้อง request ไฟล์แยก
Decode JWT token เพื่อดู payload ข้างในว่ามี claims อะไร โดยไม่ต้อง verify signature
URL Encode พารามิเตอร์ภาษาไทยก่อนส่งผ่าน query string เพื่อป้องกันอักขระเพี้ยน
HTML Encode โค้ดตัวอย่างก่อนแสดงบนบทความสอน เพื่อป้องกัน XSS และแสดง tag ได้ถูกต้อง
แปลง Base64 encoded email attachment กลับเป็นข้อความเพื่ออ่านเนื้อหาที่ encode มา

เคล็ดลับการใช้งาน

tools.base64.info.tips.content

Base64 ไม่ใช่การเข้ารหัส (encryption) ข้อมูลสามารถถอดรหัสได้ง่าย ห้ามใช้เก็บข้อมูลที่เป็นความลับ
URL Encoding ใช้ encodeURIComponent() สำหรับค่า parameter แต่ใช้ encodeURI() สำหรับ URL ทั้งหมด
HTML Encoding ควรทำเสมอก่อนแสดงข้อมูลจากผู้ใช้บนเว็บเพจ
เครื่องมือนี้รองรับ UTF-8 ทำให้แปลงข้อความภาษาไทยได้อย่างถูกต้อง
ผลลัพธ์จะแปลงอัตโนมัติขณะพิมพ์ ไม่ต้องกดปุ่มแปลง

ข้อผิดพลาดที่พบบ่อย

tools.base64.info.commonMistakes.content

ใช้ Base64 เพื่อ "เข้ารหัส" ข้อมูลลับ เช่น password หรือ API key ซึ่งไม่ปลอดภัยเพราะ decode กลับได้ทันที
ใช้ encodeURI() แทน encodeURIComponent() สำหรับ query parameter ทำให้อักขระ & = ? ไม่ถูก encode
ลืม decode URL ที่ encode ซ้อนกันหลายชั้น (%2520 แทน %20) ทำให้ server ตีความผิด
ไม่ระบุ charset เป็น UTF-8 เมื่อ Base64 encode ข้อความภาษาไทย ทำให้ decode กลับมาเป็นอักขระเพี้ยน

เปรียบเทียบกับเครื่องมืออื่น

เครื่องมือของเรารวม 3 encoding ไว้ในหน้าเดียว (Base64, URL Encode, HTML Encode) ต่างจากเว็บอื่นที่แยกเป็นคนละหน้า ทำให้สลับ mode ได้สะดวกโดยไม่ต้องเปิดหลาย tab

เมื่อเทียบกับ command-line เช่น base64 หรือ Python urllib.parse เครื่องมือนี้แปลงแบบ real-time ขณะพิมพ์ รองรับ UTF-8 ภาษาไทยโดย default และมีปุ่ม swap สลับ input/output ได้ทันที

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

Base64 คือการเข้ารหัสข้อมูล binary ให้เป็นข้อความ ASCII 64 ตัวอักษร ใช้ในการส่งข้อมูลผ่านระบบที่รองรับเฉพาะข้อความ เช่น อีเมล, Data URI, JWT Token และ API ต่างๆ

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

URL Encode แปลงอักขระพิเศษเป็น %XX (เช่น ช่องว่าง = %20) สำหรับใช้ใน URL ส่วน HTML Encode แปลงเป็น HTML entities (เช่น < = &lt;) สำหรับแสดงบนหน้าเว็บ

URL ตามมาตรฐาน RFC 3986 รองรับเฉพาะอักขระ ASCII อักขระภาษาไทยต้องถูก encode เป็น %XX เพื่อให้ browser และ server ตีความได้ถูกต้อง

รองรับครับ เครื่องมือนี้ใช้ TextEncoder/TextDecoder สำหรับ UTF-8 จึงรองรับภาษาไทยและทุกภาษาอย่างถูกต้อง ทั้ง Base64, URL Encode และ HTML Encode

Base64URL ใช้ - แทน + และ _ แทน / เพื่อให้ safe สำหรับใช้ใน URL โดยไม่ต้อง percent-encode อีกชั้น JWT token ใช้ Base64URL encoding เป็นมาตรฐาน

เพราะ Base64 แปลงทุกๆ 3 bytes (24 bits) เป็น 4 ตัวอักษร ASCII ทำให้ขนาดเพิ่มจาก 3 เป็น 4 bytes ไม่เหมาะสำหรับไฟล์ขนาดใหญ่ที่ต้องการประหยัด bandwidth

Double encoding คือการ encode ข้อมูลที่ encode แล้วซ้ำอีกครั้ง เช่น %20 กลายเป็น %2520 เกิดจากเรียก encodeURIComponent() สองครั้ง ป้องกันโดยตรวจสอบว่า input ถูก encode แล้วหรือยัง

แหล่งอ้างอิง

  1. MDN Web Docs — btoa(), atob(), encodeURIComponent(), decodeURIComponent()
  2. RFC 4648 — The Base16, Base32, and Base64 Data Encodings
  3. RFC 3986 — Uniform Resource Identifier (URI): Generic Syntax
  4. OWASP — Cross-Site Scripting (XSS) Prevention Cheat Sheet

เครื่องมือนี้ประมวลผลทั้งหมดบน browser ของคุณ ไม่มีข้อมูลถูกส่งไปยัง server แต่ไม่ควรใช้กับข้อมูลที่เป็นความลับสูง

© 2026 ReSuMeYaDev. สงวนลิขสิทธิ์.