ConvertText.app LogoConvertText.app

URL Encoder / Decoder

เข้ารหัส 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 เดียว (เช่น ค่าในคิวรี) หรือ URL ทั้งหมด

โหมดส่วนประกอบจะเข้ารหัสอักขระที่สงวนไว้เช่น / ? # & = ด้วยเครื่องหมายเปอร์เซ็นต์ เพื่อให้ค่านั้นปลอดภัยในสตริงคิวรีหรือเส้นทาง

ข้อความที่จะเข้ารหัส
ป้อนข้อความหรือ URL ที่ต้องการเข้ารหัส ช่องว่างจะกลายเป็น %20 และอักขระพิเศษจะถูกเข้ารหัสด้วยเปอร์เซ็นต์
0 ตัวอักษร
ผลลัพธ์ที่เข้ารหัสแล้ว
ผลลัพธ์ที่เข้ารหัสด้วยเปอร์เซ็นต์ ปลอดภัยสำหรับใช้ใน URL
0 ตัวอักษร

นี่คือ URL encoder และ decoder แบบส่วนตัวที่ทำงานบนเบราว์เซอร์ ใช้ฟังก์ชัน native encodeURIComponent, encodeURI, decodeURIComponent และ decodeURI เพื่อประมวลผลข้อความ UTF-8 อย่างปลอดภัยโดยไม่ส่งข้อมูลใด ๆ ไปยังเซิร์ฟเวอร์

URL encoder และ decoder นี้ทำอะไรได้บ้าง?

URL encoder แปลงอักขระที่ไม่สามารถใช้โดยตรงใน URL เป็นลำดับแบบ percent-encoded URL decoder ทำกระบวนการตรงข้าม โดยแปลงข้อความ percent-encoded กลับเป็นอักขระเดิม หน้านี้รองรับทั้งสองทิศทาง ทั้ง URL component เดี่ยวหรือ URL เต็ม

เครื่องมือใช้ฟังก์ชัน JavaScript มาตรฐาน 4 ฟังก์ชัน:

  • encodeURIComponent — สำหรับเข้ารหัส URL component เดี่ยว เช่น ค่าของ query parameter
  • encodeURI — สำหรับเข้ารหัส URL เต็มโดยคงอักขระสำรอง เช่น : / ? # & = ที่มีความหมายเชิงโครงสร้างไว้
  • decodeURIComponent — สำหรับถอดรหัส URL component เดี่ยวกลับเป็นอักขระเดิม
  • decodeURI — สำหรับถอดรหัส URL เต็มโดยไม่แตะอักขระสำรอง

การแปลงทั้งหมดรองรับ UTF-8 ดังนั้นตัวอักษรที่มีเครื่องหมายเน้น อีโมจิ และอักขระจากระบบการเขียนที่ไม่ใช่ภาษาละตินจะถูกประมวลผลอย่างถูกต้อง ไม่มีการอัปโหลด ไม่มีการจัดเก็บ และไม่มีการเรียก API

ตัวอย่างการเข้ารหัส URL

ตัวอย่างที่เป็นประโยชน์ว่าการเข้ารหัส URL มีลักษณะอย่างไรในทางปฏิบัติ:

  • ช่องว่างกลายเป็น %20 เช่น สวัสดีโลก ถูกเข้ารหัสเป็น %E0%B8%AA%E0%B8%A7%E0%B8%B1%E0%B8%AA%E0%B8%94%E0%B8%B5%E0%B9%82%E0%B8%A5%E0%B8%81
  • เครื่องหมายทับใน query value กลายเป็น %2F เช่น a/b กลายเป็น a%2Fb ในฐานะ parameter
  • เครื่องหมายคำถามใน value กลายเป็น %3F เช่น อะไร? กลายเป็น %E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3%3F
  • & ใน value กลายเป็น %26 เพื่อป้องกันการขัดจังหวะ query string โดยรอบ
  • เครื่องหมาย # ใน value กลายเป็น %23 เช่น c# กลายเป็น c%23
  • อักขระที่ไม่ใช่ ASCII ใช้ลำดับ UTF-8 หลายไบต์ เช่น café กลายเป็น caf%C3%A9 (é คือ 2 ไบต์ UTF-8)
  • อีโมจิก็ใช้ UTF-8 หลายไบต์เช่นกัน: 😀 กลายเป็น %F0%9F%98%80

เปลี่ยนเครื่องมือเป็นโหมด Decode และวางสตริงที่เข้ารหัสแล้วเหล่านี้เพื่อดูข้อความต้นฉบับที่กู้คืนได้อย่างถูกต้อง

URL component กับการเข้ารหัส URL เต็ม

การเลือกโหมดที่ถูกต้องมีความสำคัญเพราะ 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 คืออะไร?

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 อย่างปลอดภัย สถานการณ์ที่พบบ่อย:

  • เข้ารหัสข้อความสำหรับ query string ก่อนวางใน API request, log line หรือแถบที่อยู่ของเบราว์เซอร์
  • ถอดรหัส URL parameters จาก request log หรือข้อมูล analytics เพื่ออ่านค่าต้นฉบับ
  • ตรวจสอบ URL ที่เข้ารหัสยาว ๆ ด้วยการถอดรหัสและดูว่ากำลังส่งอะไรอยู่จริง ๆ
  • Escape อักขระพิเศษใน URL ก่อนแชร์ใน chat, เอกสาร หรือ JSON payload
  • เรียนรู้วิธีที่ percent encoding และลำดับไบต์ UTF-8 จับคู่กับอักขระ

เนื่องจากเครื่องมือทำงานทั้งหมดในเบราว์เซอร์ จึงเหมาะสำหรับ URL ที่ละเอียดอ่อน (ลิงก์ภายใน, token, URL ที่ลงนามแล้ว) ที่คุณไม่ต้องการวางในบริการระยะไกล

URL encoding กับ URL cleaning ต่างกันอย่างไร

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 และ decoder คืออะไร?

URL encoder แปลงอักขระสำรองหรืออักขระที่ไม่ปลอดภัยใน URL เป็นลำดับ percent-encoded (เช่น ช่องว่างกลายเป็น %20) URL decoder ทำกระบวนการตรงข้ามและกู้คืนอักขระเดิม หน้านี้รองรับทั้งสองทิศทางและทำงานกับ URL component เดี่ยวหรือ URL เต็ม ทั้งหมดในเบราว์เซอร์ของคุณ

URL encoding คืออะไร?

URL encoding คือกระบวนการแทนที่อักขระที่มีความหมายพิเศษใน URL หรือไม่ได้รับอนุญาตใน URL เลย ด้วยลำดับ percent-encoded ไบต์ที่ไม่ปลอดภัยแต่ละตัวเขียนเป็นเครื่องหมายเปอร์เซ็นต์ตามด้วยเลขฐานสิบหกสองหลัก URL encoding เรียกอีกชื่อว่า percent encoding และถูกกำหนดโดย RFC 3986

Percent encoding คืออะไร?

Percent encoding คือ encoding scheme ที่ URL ใช้เพื่อแสดงอักขระที่ไม่ปลอดภัยหรือสำรอง อักขระจะถูกแปลงเป็นหนึ่งไบต์หรือมากกว่า (UTF-8 สำหรับ URL สมัยใหม่) และแต่ละไบต์จะเขียนเป็นเครื่องหมายเปอร์เซ็นต์ตามด้วยค่าฐานสิบหกสองหลัก เช่น ช่องว่างคือไบต์ 0x20 และเขียนเป็น %20

ควรใช้ encodeURIComponent แทน encodeURI เมื่อใด?

ใช้ encodeURIComponent เมื่อเข้ารหัสค่าเดี่ยวที่จะแทรกใน URL — โดยทั่วไปคือค่าของ query parameter, path segment หรือ fragment value ฟังก์ชันนี้จะ percent-encode อักขระสำรอง เช่น /, ?, #, & และ = เพื่อไม่ให้เปลี่ยนโครงสร้าง URL โดยรอบโดยไม่ตั้งใจ ใช้ encodeURI เมื่อคุณมี URL เต็มอยู่แล้วและต้องการ escape เฉพาะอักขระที่ไม่ปลอดภัย (เช่น ช่องว่างหรืออักขระที่ไม่ใช่ ASCII) โดยไม่แตะอักขระสำรองเชิงโครงสร้าง

%20 กับ + ต่างกันอย่างไร?

ทั้งคู่สามารถแทนช่องว่างได้แต่ในบริบทที่ต่างกัน %20 คือ percent encoding มาตรฐานของช่องว่างและใช้ได้ทุกที่ใน URL อักขระ + จะถูกตีความเป็นช่องว่างเฉพาะภายในข้อมูล application/x-www-form-urlencoded — โดยทั่วไปคือ body ของการส่งฟอร์ม HTML หรือ query string ที่สร้างโดยโค้ดรุ่นเก่าบางส่วน ฟังก์ชัน native decodeURIComponent และ decodeURI ไม่แปลง + เป็นช่องว่าง และเครื่องมือนี้ก็ทำตามพฤติกรรมที่เข้มงวดเดียวกัน: + ถูกเก็บไว้ตามที่คุณพิมพ์ หากถอดรหัสข้อมูลฟอร์มและต้องการให้ + หมายถึงช่องว่าง ให้แทนที่ + ด้วยช่องว่างด้วยตนเองก่อนถอดรหัส

เครื่องมือนี้ถอดรหัส query string ได้หรือไม่?

ได้ วาง query string ที่เข้ารหัสแล้ว (หรือค่าเดี่ยวที่เข้ารหัส) ในช่องป้อนข้อมูลและเปลี่ยนทิศทางเป็น Decode ใช้โหมด Component สำหรับค่า parameter เดี่ยว และโหมด Full URL หากถอดรหัส URL ทั้งหมด โปรดทราบว่าเครื่องมือไม่แยก query string เป็นคู่ key/value — แต่ถอดรหัสอักขระ percent-encoded ในข้อความที่คุณวาง

URL decoder นี้รองรับอักขระ UTF-8 หรือไม่?

รองรับ ฟังก์ชัน 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 เหมือนกับ URL cleaning หรือไม่?

ไม่ URL encoding แปลงอักขระเป็น/จากรูปแบบ percent encoding โดยไม่เปลี่ยน parameters ที่มีอยู่ URL cleaning เป็นการดำเนินการแยกต่างหากที่ลบ tracking parameters เช่น utm_source, utm_medium, fbclid หรือ gclid ออกจาก URL หากต้องการลบ trackers ออกจากลิงก์ ต้องใช้เครื่องมือ URL cleaning เฉพาะ หน้านี้เข้ารหัสและถอดรหัสเท่านั้น

ทำไม URL บางตัวที่ถอดรหัสแล้วยังมีเครื่องหมายเปอร์เซ็นต์อยู่?

หาก URL ต้นฉบับถูกเข้ารหัสสองครั้ง (double encoding) การถอดรหัสหนึ่งครั้งจะยกเลิกได้เพียงหนึ่งชั้น เช่น %2520 ถอดรหัสเป็น %20 ซึ่งจะถอดรหัสเป็นช่องว่างในครั้งที่สอง หากผลลัพธ์ยังดูเหมือนถูกเข้ารหัสอยู่ ให้ผ่าน decoder อีกครั้ง เครื่องหมายเปอร์เซ็นต์ตามตัวอักษรที่ไม่ใช่ส่วนหนึ่งของ escape sequence ที่ถูกต้อง (เช่น abc%) คือ percent encoding ที่ไม่ถูกต้อง และ decoder จะรายงานข้อผิดพลาดแทนที่จะเดา

สำรวจเครื่องมือข้อความเพิ่มเติม

เครื่องมือออนไลน์ฟรีสำหรับแปลง เข้ารหัส และแปลงข้อความ

แปลงตัวอักษร

แปลงตัวอักษร — ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก Title Case และอื่นๆ

Morse Code Translator

แปลงข้อความเป็นรหัส Morse และในทางกลับกัน

ตัวถอดเสียงรหัสมอร์ส

ถอดรหัสมอร์สจากไฟล์เสียงหรือไมโครโฟน

Binary Translator

แปลงข้อความเป็นรหัสไบนารีและในทางกลับกัน

Base64 Encoder/Decoder

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

Hex Converter

แปลงข้อความเป็นเลขฐานสิบหกและในทางกลับกัน

ROT13 Encoder/Decoder

เข้ารหัสและถอดรหัสข้อความด้วยรหัส ROT13

ตัวยก

แปลงข้อความเป็นตัวยก Unicode ที่รองรับ

เครื่องมือสร้างตัวห้อย

แปลงข้อความเป็นตัวห้อย Unicode ที่รองรับ

เครื่องมือสร้างข้อความขีดทับ

สร้างข้อความ Unicode ขีดทับสำหรับคัดลอกและวางได้ทันที

เครื่องมือแปลงรูปภาพเป็น Base64

แปลงรูปภาพเป็น Base64 / Data URI