เข้ารหัส URL, query string และอักขระพิเศษเป็น percent encoding หรือถอดรหัสข้อความที่เข้ารหัสแบบ percent กลับเป็น URL ที่อ่านได้ — ทันที โดยตรงในเบราว์เซอร์ของคุณ เครื่องมือนี้ทำหน้าที่เป็น percent encoder, percent decoder, query string encoder, query string decoder และตัวแปลง URL encoding ที่รองรับ UTF-8 ทั้งหมดในหน้าเดียว
วาง URL หรือข้อความใด ๆ ลงในช่องป้อนข้อมูล เลือกว่าจะเข้ารหัสหรือถอดรหัส และระบุว่าคุณกำลังทำงานกับ URL component เดี่ยว หรือ URL เต็ม จากนั้นคัดลอกผลลัพธ์ ทุกอย่างทำงานในเบราว์เซอร์ของคุณโดยใช้ฟังก์ชัน URL แบบ native ของ JavaScript ดังนั้นข้อมูลที่คุณป้อนจะไม่ออกจากอุปกรณ์ของคุณเลย
โหมดส่วนประกอบจะเข้ารหัสอักขระที่สงวนไว้เช่น / ? # & = ด้วยเครื่องหมายเปอร์เซ็นต์ เพื่อให้ค่านั้นปลอดภัยในสตริงคิวรีหรือเส้นทาง
นี่คือ URL encoder และ decoder แบบส่วนตัวที่ทำงานบนเบราว์เซอร์ ใช้ฟังก์ชัน native encodeURIComponent, encodeURI, decodeURIComponent และ decodeURI เพื่อประมวลผลข้อความ UTF-8 อย่างปลอดภัยโดยไม่ส่งข้อมูลใด ๆ ไปยังเซิร์ฟเวอร์
URL encoder แปลงอักขระที่ไม่สามารถใช้โดยตรงใน URL เป็นลำดับแบบ percent-encoded URL decoder ทำกระบวนการตรงข้าม โดยแปลงข้อความ percent-encoded กลับเป็นอักขระเดิม หน้านี้รองรับทั้งสองทิศทาง ทั้ง URL component เดี่ยวหรือ URL เต็ม
เครื่องมือใช้ฟังก์ชัน JavaScript มาตรฐาน 4 ฟังก์ชัน:
การแปลงทั้งหมดรองรับ UTF-8 ดังนั้นตัวอักษรที่มีเครื่องหมายเน้น อีโมจิ และอักขระจากระบบการเขียนที่ไม่ใช่ภาษาละตินจะถูกประมวลผลอย่างถูกต้อง ไม่มีการอัปโหลด ไม่มีการจัดเก็บ และไม่มีการเรียก API
ตัวอย่างที่เป็นประโยชน์ว่าการเข้ารหัส URL มีลักษณะอย่างไรในทางปฏิบัติ:
เปลี่ยนเครื่องมือเป็นโหมด Decode และวางสตริงที่เข้ารหัสแล้วเหล่านี้เพื่อดูข้อความต้นฉบับที่กู้คืนได้อย่างถูกต้อง
การเลือกโหมดที่ถูกต้องมีความสำคัญเพราะ encoder ทั้งสองจัดการอักขระสำรองต่างกัน
ใช้โหมด Component (encodeURIComponent / decodeURIComponent) เมื่อเข้ารหัสค่าเดี่ยวที่จะแทรกใน URL เช่น ค่าของ query parameter, path segment หรือ fragment value โหมด Component จะ percent-encode อักขระสำรอง (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) เพื่อไม่ให้เปลี่ยนโครงสร้าง URL โดยรอบโดยไม่ตั้งใจ
ใช้โหมด Full URL (encodeURI / decodeURI) เมื่อคุณมี URL เต็มอยู่แล้ว เช่น https://example.com/path?query=value#fragment และต้องการ escape เฉพาะอักขระที่ไม่ปลอดภัย (เช่น ช่องว่างหรืออักขระที่ไม่ใช่ ASCII) โดยไม่แตะอักขระสำรองเชิงโครงสร้าง
ข้อผิดพลาดที่พบบ่อยคือการใช้ encodeURI กับค่าที่ควรเป็น query parameter อักขระสำรองจะคงเดิมและอาจทำให้ URL โดยรอบเสียหาย หากไม่แน่ใจ ให้เข้ารหัสแต่ละ query value ด้วย encodeURIComponent แล้วค่อยประกอบ URL
Percent encoding (หรือที่เรียกว่า URL encoding) คือวิธีแสดงอักขระใน URL ที่อาจเป็นอักขระสำรอง (มีความหมายเชิงโครงสร้าง) หรือไม่ได้รับอนุญาตเลย ไบต์ที่ไม่ปลอดภัยแต่ละตัวจะเขียนเป็นเครื่องหมายเปอร์เซ็นต์ตามด้วยเลขฐานสิบหกสองหลัก เช่น %20 สำหรับช่องว่าง, %2F สำหรับเครื่องหมายทับ หรือ %3F สำหรับเครื่องหมายคำถาม
การเข้ารหัสทำงานกับไบต์ ไม่ใช่กับอักขระโดยตรง URL สมัยใหม่ใช้ UTF-8 เพื่อแปลงอักขระเป็นไบต์ก่อน ดังนั้นตัวอักษรที่มีเครื่องหมายเน้นตัวเดียวอาจกลายเป็นสอง percent-encoded byte และอีโมจิอาจกลายเป็นสี่ไบต์ เครื่องมือนี้ใช้ UTF-8 เสมอเพื่อให้สตริงที่เข้ารหัสสามารถทำงานร่วมกับส่วนอื่น ๆ ของเว็บได้
Percent encoding ถูกกำหนดโดย RFC 3986 ฟังก์ชัน JavaScript แบบ native ที่ใช้ที่นี่ปฏิบัติตามข้อกำหนดดังกล่าว ดังนั้นค่าที่เข้ารหัสด้วย encodeURIComponent ในเบราว์เซอร์สมัยใหม่ใด ๆ ก็จะถูกถอดรหัสอย่างถูกต้องด้วย decodeURIComponent ทุกที่
URL encoder decoder นี้มีประโยชน์เมื่อต้องการย้ายข้อความเข้าหรือออกจาก URL อย่างปลอดภัย สถานการณ์ที่พบบ่อย:
เนื่องจากเครื่องมือทำงานทั้งหมดในเบราว์เซอร์ จึงเหมาะสำหรับ URL ที่ละเอียดอ่อน (ลิงก์ภายใน, token, URL ที่ลงนามแล้ว) ที่คุณไม่ต้องการวางในบริการระยะไกล
URL encoding และ URL cleaning เป็นสองการดำเนินการที่แตกต่างกันซึ่งมักถูกสับสน
URL encoding (เครื่องมือนี้) แปลงอักขระเป็นรูปแบบ percent encoding ที่ปลอดภัยสำหรับ URL และย้อนกลับการดำเนินการ โครงสร้าง URL ยังคงเดิม ไม่มีการเพิ่มหรือลบสิ่งใด
URL cleaning (เครื่องมือประเภทอื่น) ลบ tracking parameters เช่น utm_source, utm_medium, fbclid, gclid และ query key ที่คล้ายกันออกจาก URL เพื่อให้ลิงก์ที่ได้ไม่มี tracking metadata อีกต่อไป URL cleaning เปลี่ยน parameters ใน URL — แต่ encoding ไม่ได้ทำ
หากต้องการลบ tracking parameters ต้องใช้เครื่องมือ URL cleaning เฉพาะ หากต้องการเข้ารหัสหรือถอดรหัสข้อความเป็น/จากรูปแบบ percent encoding เครื่องมือนี้คือเครื่องมือที่ถูกต้อง
URL encoder แปลงอักขระสำรองหรืออักขระที่ไม่ปลอดภัยใน URL เป็นลำดับ percent-encoded (เช่น ช่องว่างกลายเป็น %20) URL decoder ทำกระบวนการตรงข้ามและกู้คืนอักขระเดิม หน้านี้รองรับทั้งสองทิศทางและทำงานกับ URL component เดี่ยวหรือ URL เต็ม ทั้งหมดในเบราว์เซอร์ของคุณ
URL encoding คือกระบวนการแทนที่อักขระที่มีความหมายพิเศษใน URL หรือไม่ได้รับอนุญาตใน URL เลย ด้วยลำดับ percent-encoded ไบต์ที่ไม่ปลอดภัยแต่ละตัวเขียนเป็นเครื่องหมายเปอร์เซ็นต์ตามด้วยเลขฐานสิบหกสองหลัก URL encoding เรียกอีกชื่อว่า percent encoding และถูกกำหนดโดย RFC 3986
Percent encoding คือ encoding scheme ที่ URL ใช้เพื่อแสดงอักขระที่ไม่ปลอดภัยหรือสำรอง อักขระจะถูกแปลงเป็นหนึ่งไบต์หรือมากกว่า (UTF-8 สำหรับ URL สมัยใหม่) และแต่ละไบต์จะเขียนเป็นเครื่องหมายเปอร์เซ็นต์ตามด้วยค่าฐานสิบหกสองหลัก เช่น ช่องว่างคือไบต์ 0x20 และเขียนเป็น %20
ใช้ encodeURIComponent เมื่อเข้ารหัสค่าเดี่ยวที่จะแทรกใน URL — โดยทั่วไปคือค่าของ query parameter, path segment หรือ fragment value ฟังก์ชันนี้จะ percent-encode อักขระสำรอง เช่น /, ?, #, & และ = เพื่อไม่ให้เปลี่ยนโครงสร้าง URL โดยรอบโดยไม่ตั้งใจ ใช้ encodeURI เมื่อคุณมี URL เต็มอยู่แล้วและต้องการ escape เฉพาะอักขระที่ไม่ปลอดภัย (เช่น ช่องว่างหรืออักขระที่ไม่ใช่ ASCII) โดยไม่แตะอักขระสำรองเชิงโครงสร้าง
ทั้งคู่สามารถแทนช่องว่างได้แต่ในบริบทที่ต่างกัน %20 คือ percent encoding มาตรฐานของช่องว่างและใช้ได้ทุกที่ใน URL อักขระ + จะถูกตีความเป็นช่องว่างเฉพาะภายในข้อมูล application/x-www-form-urlencoded — โดยทั่วไปคือ body ของการส่งฟอร์ม HTML หรือ query string ที่สร้างโดยโค้ดรุ่นเก่าบางส่วน ฟังก์ชัน native decodeURIComponent และ decodeURI ไม่แปลง + เป็นช่องว่าง และเครื่องมือนี้ก็ทำตามพฤติกรรมที่เข้มงวดเดียวกัน: + ถูกเก็บไว้ตามที่คุณพิมพ์ หากถอดรหัสข้อมูลฟอร์มและต้องการให้ + หมายถึงช่องว่าง ให้แทนที่ + ด้วยช่องว่างด้วยตนเองก่อนถอดรหัส
ได้ วาง query string ที่เข้ารหัสแล้ว (หรือค่าเดี่ยวที่เข้ารหัส) ในช่องป้อนข้อมูลและเปลี่ยนทิศทางเป็น Decode ใช้โหมด Component สำหรับค่า parameter เดี่ยว และโหมด Full URL หากถอดรหัส URL ทั้งหมด โปรดทราบว่าเครื่องมือไม่แยก query string เป็นคู่ key/value — แต่ถอดรหัสอักขระ percent-encoded ในข้อความที่คุณวาง
รองรับ ฟังก์ชัน JavaScript แบบ native จัดการลำดับ percent-encoded เป็นไบต์ UTF-8 ดังนั้นตัวอักษรที่มีเครื่องหมายเน้น อีโมจิ และอักขระจากระบบการเขียนที่ไม่ใช่ภาษาละตินจะถูกถอดรหัสอย่างถูกต้องเป็นรูปแบบเดิม เช่น caf%C3%A9 ถอดรหัสเป็น café และ %F0%9F%98%80 ถอดรหัสเป็น 😀 หากลำดับไม่ใช่ UTF-8 ที่ถูกต้อง decoder จะรายงานข้อผิดพลาด malformed input แทนที่จะสร้างอักขระทดแทนอย่างเงียบ ๆ
ไม่ Encoder และ decoder ทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยใช้ฟังก์ชัน URL แบบ native ของ JavaScript ข้อมูลที่คุณป้อนจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ ไม่ถูกจัดเก็บ และไม่ถูกบันทึก การปิดแท็บจะลบทุกอย่าง ทำให้เครื่องมือเหมาะสำหรับ URL ที่ละเอียดอ่อน (ลิงก์ภายใน, token, URL ที่ลงนามแล้ว) ที่คุณไม่ต้องการวางในบริการระยะไกล
ไม่ URL encoding แปลงอักขระเป็น/จากรูปแบบ percent encoding โดยไม่เปลี่ยน parameters ที่มีอยู่ URL cleaning เป็นการดำเนินการแยกต่างหากที่ลบ tracking parameters เช่น utm_source, utm_medium, fbclid หรือ gclid ออกจาก URL หากต้องการลบ trackers ออกจากลิงก์ ต้องใช้เครื่องมือ URL cleaning เฉพาะ หน้านี้เข้ารหัสและถอดรหัสเท่านั้น
หาก URL ต้นฉบับถูกเข้ารหัสสองครั้ง (double encoding) การถอดรหัสหนึ่งครั้งจะยกเลิกได้เพียงหนึ่งชั้น เช่น %2520 ถอดรหัสเป็น %20 ซึ่งจะถอดรหัสเป็นช่องว่างในครั้งที่สอง หากผลลัพธ์ยังดูเหมือนถูกเข้ารหัสอยู่ ให้ผ่าน decoder อีกครั้ง เครื่องหมายเปอร์เซ็นต์ตามตัวอักษรที่ไม่ใช่ส่วนหนึ่งของ escape sequence ที่ถูกต้อง (เช่น abc%) คือ percent encoding ที่ไม่ถูกต้อง และ decoder จะรายงานข้อผิดพลาดแทนที่จะเดา
เครื่องมือออนไลน์ฟรีสำหรับแปลง เข้ารหัส และแปลงข้อความ
แปลงตัวอักษร — ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก Title Case และอื่นๆ
แปลงข้อความเป็นรหัส Morse และในทางกลับกัน
ถอดรหัสมอร์สจากไฟล์เสียงหรือไมโครโฟน
แปลงข้อความเป็นรหัสไบนารีและในทางกลับกัน
เข้ารหัสและถอดรหัส Base64
แปลงข้อความเป็นเลขฐานสิบหกและในทางกลับกัน
เข้ารหัสและถอดรหัสข้อความด้วยรหัส ROT13
แปลงข้อความเป็นตัวยก Unicode ที่รองรับ
แปลงข้อความเป็นตัวห้อย Unicode ที่รองรับ
สร้างข้อความ Unicode ขีดทับสำหรับคัดลอกและวางได้ทันที
แปลงรูปภาพเป็น Base64 / Data URI