HTML Entity Encoder/Decoder
This tool allows you to convert text with special characters to HTML entities and vice versa. HTML entities help display special characters correctly on web pages.
Mode
<
<
Less than sign
>
>
Greater than sign
&
&
Ampersand
"
"
Double quotation mark
'
'
Single quotation mark
©
©
Copyright symbol
®
®
Registered trademark
วิธีใช้ เครื่องมือเข้ารหัส/ถอดรหัสเอนทิตี HTML
- 1
ป้อนข้อความของคุณ
วางข้อความหรือสนิปเพต HTML ที่ต้องการแปลงลงในช่องป้อนข้อมูล
- 2
เลือก encode หรือ decode
คลิก Encode เพื่อเปลี่ยนอักขระพิเศษให้เป็น HTML entity หรือ Decode เพื่อเปลี่ยน entity กลับเป็นอักขระ
- 3
รับผลลัพธ์
ผลลัพธ์ที่แปลงแล้วจะปรากฏในแผงผลลัพธ์ทันที
- 4
คัดลอกผลลัพธ์
ใช้ "คัดลอกผลลัพธ์" เพื่อนำข้อความที่ encode หรือ decode ไปใช้ในโปรเจกต์ของคุณ
คู่มือใช้งานจริงสำหรับ HTML Entity
HTML entity คืออะไร
HTML entity หรือเรียกอย่างเป็นทางการว่าการอ้างอิงอักขระ (character reference) คือรหัสสั้น ๆ ที่ใช้แทนอักขระตัวเดียวใน HTML ทุกเอนทิตีจะเริ่มต้นด้วยแอมเปอร์แซนด์ (&) และจบด้วยอัฒภาค (;) เอนทิตีช่วยให้คุณใส่อักขระที่เบราว์เซอร์อาจตีความผิดว่าเป็นมาร์กอัป อักขระที่พิมพ์ยาก หรืออักขระที่ไม่มีอยู่บนแป้นพิมพ์ของคุณ โดยยังคงให้ไฟล์ซอร์สเป็น ASCII ล้วน ๆ
เอนทิตีมีความสำคัญด้วยเหตุผลสองประการที่ต่างกัน ประการแรก อักขระไม่กี่ตัวถูกสงวนไว้โดย HTML เองและต้องถูกหนีอักขระ (escape) เพื่อให้แสดงผลถูกต้อง ประการที่สอง โลกอันกว้างใหญ่ของสัญลักษณ์ ตัวอักษรที่มีเครื่องหมายกำกับเสียง เครื่องหมายสกุลเงิน ลูกศร และอีโมจิ สามารถเขียนเป็นการอ้างอิงได้อย่างน่าเชื่อถือ ไม่ว่าการเข้ารหัสข้อความของไฟล์จะเป็นแบบใด เครื่องมือนี้เข้ารหัสอักขระให้เป็นเอนทิตี และถอดรหัสเอนทิตีกลับเป็นอักขระที่มันแทนอยู่
การอ้างอิงแบบมีชื่อกับแบบตัวเลข
มีสองวิธีในการเขียนเอนทิตี และทั้งสองให้ผลลัพธ์ที่ใช้แทนกันได้ การอ้างอิงแบบมีชื่อ (named) ใช้ป้ายกำกับที่คนอ่านเข้าใจได้ เช่น © สำหรับเครื่องหมายลิขสิทธิ์ & สำหรับแอมเปอร์แซนด์ หรือ สำหรับช่องว่างแบบไม่ตัดบรรทัด HTML กำหนดรายชื่อเหล่านี้ไว้แบบตายตัว ดังนั้นจึงมีเพียงอักขระที่มีชื่อกำหนดไว้เท่านั้นที่เขียนด้วยวิธีนี้ได้
การอ้างอิงแบบตัวเลข (numeric) ใช้จุดโค้ด Unicode ของอักขระแทนการใช้ชื่อ และมันสามารถแทนอักขระใด ๆ ก็ได้ทั้งหมด รูปแบบฐานสิบประกอบด้วยแอมเปอร์แซนด์ เครื่องหมายแฮช จุดโค้ดในฐาน 10 และอัฒภาค เช่น © ส่วนรูปแบบฐานสิบหกจะเพิ่ม x หลังเครื่องหมายแฮชและให้จุดโค้ดในฐาน 16 เช่น © ทั้งสามอย่างคือ ©, © และ © ล้วนแสดงผลเป็นสัญลักษณ์ © ตัวเดียวกัน เพราะ 169 ในฐานสิบเท่ากับ A9 ในฐานสิบหก ซึ่งเท่ากับจุดโค้ดของเครื่องหมายลิขสิทธิ์
ห้าตัวที่ต้องหนีอักขระเสมอ
อักขระส่วนใหญ่จะเข้ารหัสหรือไม่ก็ได้ แต่กลุ่มเล็ก ๆ กลุ่มหนึ่งนั้นจำเป็นต้องทำในซอร์ส HTML จริง ๆ แอมเปอร์แซนด์ & (&) ต้องถูกหนีอักขระเพราะมันเป็นจุดเริ่มต้นของทุกเอนทิตี ถ้าปล่อยมันไว้ดิบ ๆ ติดกับคำ เบราว์เซอร์อาจพยายามแยกวิเคราะห์เอนทิตีที่ไม่มีอยู่ เครื่องหมายน้อยกว่า < (<) และเครื่องหมายมากกว่า > (>) ต้องถูกหนีอักขระในข้อความเพราะมันใช้คั่นแท็ก ภายในค่าแอตทริบิวต์ เครื่องหมายอัญประกาศคู่ " (") และเครื่องหมายวรรคตอน ' (') ต้องถูกหนีอักขระเพื่อไม่ให้ปิดแอตทริบิวต์ก่อนเวลา
อย่างอื่นทั้งหมดเป็นเรื่องของความสะดวก คุณสามารถเขียน é ตรง ๆ ในไฟล์ UTF-8 หรือเขียนเป็น é หรือ é ก็ได้ ทั้งหมดถูกต้องทั้งสิ้น แต่ห้าตัวที่สงวนไว้นั้นต่างออกไป ถ้าทำผิดจะได้มาร์กอัปที่พังหรือ หากเป็นอินพุตที่ไม่น่าเชื่อถือ ก็จะเกิดช่องโหว่ cross-site scripting ดังนั้นมันจึงเป็นอักขระที่คุณต้องไม่ปล่อยไว้โดยไม่หนีอักขระในตำแหน่งที่ผิดเด็ดขาด
ตัวอย่างที่ลองทำจริง: สัญลักษณ์และเครื่องหมายกำกับเสียง
สมมติว่าคุณต้องการให้ส่วนท้ายของหน้าแสดงข้อความ "© 2026 Café Ünïcode — 100% safe" อักขระหลายตัวในนี้ไม่ใช่ ASCII ล้วน เครื่องหมายลิขสิทธิ์เขียนได้เป็น © หรือ © ตัว é ใน Café คือ é หรือ é และ Ü คือ Ü หรือ Ü เส้นประยาว em dash — คือ — หรือ — และช่องว่างแบบไม่ตัดบรรทัดที่ทำให้ "100%" อยู่ติดกันคือ
การเข้ารหัสสตริงทั้งหมดจะได้ผลลัพธ์ประมาณ © 2026 Café Ünïcode — 100% safe ซึ่งรับประกันว่าจะแสดงผลเหมือนกันไม่ว่าจะกำหนดการเข้ารหัสอักขระของหน้าเว็บไว้อย่างไร การถอดรหัสมันที่นี่จะย้อนกระบวนการและคืนบรรทัดที่อ่านง่ายกลับมาให้คุณ พร้อมสัญลักษณ์จริงอยู่ในตำแหน่งเดิม
เลือกแบบมีชื่อหรือแบบตัวเลข
เอนทิตีแบบมีชื่อชนะในเรื่องการอ่านง่าย © และ — บอกผู้อ่านในอนาคตได้ทันทีว่าอักขระนั้นคืออะไร ซึ่งทำให้ซอร์สดูแลรักษาง่ายกว่ากำแพงของรหัสตัวเลข สิ่งที่ต้องแลกคือความครอบคลุม เพราะมีเพียงอักขระที่มีชื่อกำหนดไว้เท่านั้นที่เขียนด้วยชื่อได้ และรายชื่อนั้นถึงแม้จะใหญ่ ก็ไม่ได้รวมทุกอย่างไว้
การอ้างอิงแบบตัวเลขชนะในเรื่องความเป็นสากลและความแม่นยำ เนื่องจากมันอ้างถึงจุดโค้ด Unicode โดยตรง จึงสามารถเข้ารหัสอักขระใด ๆ ที่มีอยู่จริงได้ทั้งหมด รวมถึงตัวที่ไม่มีชื่อและรวมถึงอีโมจิด้วย มันยังไม่กำกวมอีกด้วย ซึ่งมีประโยชน์เมื่อคุณต้องการความมั่นใจเกี่ยวกับสัญลักษณ์ที่ไม่ค่อยพบเห็น แนวทางที่นิยมกันคือใช้เอนทิตีแบบมีชื่อสำหรับตัวที่คุ้นเคยอยู่ไม่กี่ตัว (©, &, , —) และใช้การอ้างอิงแบบตัวเลขสำหรับอะไรก็ตามที่แปลกพิเศษ
อีโมจิและอักขระที่อยู่นอกช่วงพื้นฐาน
อีโมจิและสัญลักษณ์จำนวนมากอยู่ในช่วงสูงของ Unicode เหนือค่าที่หน่วยโค้ดแบบเก่าหน่วยเดียวจะเก็บได้ แต่การอ้างอิงแบบตัวเลขจัดการกับพวกมันได้อย่างเรียบร้อยเพราะมันเพียงแค่ระบุชื่อจุดโค้ด อีโมจิหน้ายิ้มมีจุดโค้ด U+1F600 จึงเขียนเป็นการอ้างอิงฐานสิบ 😀 หรือการอ้างอิงฐานสิบหก 😀 ได้ ซึ่งทั้งคู่ให้กลิฟตัวเดียวกัน
ในทางปฏิบัติ การบันทึกไฟล์ของคุณเป็น UTF-8 และวางอีโมจิลงไปตรง ๆ มักจะง่ายกว่าและถูกต้องพอกัน การอ้างอิงแบบตัวเลขจะมีคุณค่าเมื่อไปป์ไลน์ไม่อาจไว้ใจได้ว่าจะคงไบต์ดิบไว้ เช่น เทมเพลตอีเมล ระบบที่บีบทุกอย่างให้เหลือ ASCII หรือบริบทที่คุณต้องการบันทึกจุดโค้ดที่แน่นอนไว้อย่างไม่กำกวม ไม่ว่าทางใด อักขระที่ปรากฏก็ถูกกำหนดโดยจุดโค้ดของมันทั้งหมด
การถอดรหัสข้อความเอนทิตีที่เพี้ยน
งานที่พบบ่อยมากในโลกจริงคือการเก็บกวาดข้อความที่มาพร้อมรหัสเอนทิตีที่มองเห็นได้เต็มไปหมด คุณคัดลอกย่อหน้าจากหน้าเว็บหรือจากการส่งออกฐานข้อมูล แต่แทนที่จะเห็นเครื่องหมายวรรคตอนปกติ คุณกลับเห็น &, ', " และ ’ กระจายอยู่ทั่วไป นั่นหมายความว่าข้อความถูกเข้ารหัส HTML ที่ไหนสักแห่งในต้นทางและไม่เคยถูกถอดรหัสเพื่อแสดงผล การวางมันลงในโหมด Decode ที่นี่จะเปลี่ยนการอ้างอิงเหล่านั้นกลับเป็นอักขระจริงคือ &, ', " และเครื่องหมายคำพูดโค้ง
ระวังการเข้ารหัสซ้ำ (double-encoding) ซึ่งเป็นสถานการณ์ที่ข้อความถูกหนีอักขระสองครั้งและคุณเห็นลำดับอย่าง &amp; หรือ &#39; ในกรณีนี้อักขระตามตัวอักษร &amp; ควรกลายเป็น & แล้วจึงเป็น & ดังนั้นวิธีแก้คือถอดรหัสมากกว่าหนึ่งครั้งจนกว่าจะไม่มีเอนทิตีหลงเหลืออยู่ ถ้าการถอดรหัสเพียงรอบเดียวยังคงทิ้ง & ไว้ในผลลัพธ์ของคุณ ให้นำผลลัพธ์ไปผ่านโหมด Decode อีกครั้งเพื่อลอกชั้นที่สองออก
กับดักที่พบบ่อย
ข้อผิดพลาดที่พบบ่อยที่สุดคือการลืมอัฒภาค เอนทิตีจะถูกต้องก็ต่อเมื่อมันถูกปิดท้าย ดังนั้น © ที่ไม่มีอัฒภาคอาจไม่แสดงผลเป็นเครื่องหมายลิขสิทธิ์ ข้อผิดพลาดที่เกี่ยวข้องกันคือการเข้ารหัสแอมเปอร์แซนด์เป็นลำดับสุดท้ายแทนที่จะเป็นลำดับแรกเมื่อหนีอักขระด้วยมือ ซึ่งจะเปลี่ยนเอนทิตีอื่น ๆ ของคุณให้กลายเป็นข้อความตามตัวอักษรอย่าง &lt;
และจำไว้ด้วยว่าเอนทิตีเป็นแนวคิดของ HTML ไม่ใช่ขอบเขตด้านความปลอดภัยในตัวมันเอง การเข้ารหัสอินพุตที่ไม่น่าเชื่อถือให้เป็นเอนทิตีเป็นส่วนหนึ่งของการป้องกันมาร์กอัปที่พังและ XSS แต่ต้องทำในบริบทที่ถูกต้องและในเวลาที่ส่งออกผลลัพธ์ ไม่ใช่พึ่งพามันเป็นยาครอบจักรวาล สุดท้าย อย่าเข้ารหัสอักขระที่ไม่จำเป็นต้องเข้ารหัสภายในเนื้อหาทั่วไป การเข้ารหัสมากเกินไปทำให้ซอร์สอ่านยากขึ้นและไม่ได้ประโยชน์อะไรเลยเมื่อไฟล์เป็น UTF-8 อยู่แล้ว
คำถามที่พบบ่อย
HTML entity คืออะไรและทำไมจึงใช้
ตัว encoder แปลงอักขระใดบ้าง
ฉันแปลง entity กลับเป็นอักขระปกติได้ไหม
อันนี้มีประโยชน์ในการป้องกัน HTML เสียหรือ XSS ไหม
ข้อความของฉันถูกส่งไปยังเซิร์ฟเวอร์ไหม
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้