Mã hóa và giải mã HTML entity trực tuyến ngay trên trình duyệt của bạn. Bộ giải mã và mã hóa HTML entity này giúp bạn gỡ bỏ escape trong HTML (unescape), chuyển đổi HTML entity sang văn bản, hoặc mã hóa ký tự đặc biệt để hiển thị an toàn trong HTML. Công cụ chuyển đổi các ký tự dành riêng như `&`, `<`, `>`, `"` và `'` thành các entity tương ứng là `&`, `<`, `>`, `"` và `'`, và giải mã ngược lại. Chế độ mở rộng còn có thể chuyển đổi chữ cái có dấu, ký hiệu và emoji thành numeric entity.
Dán văn bản thường, HTML đã được escape, hoặc chuỗi được mã hóa HTML vào ô nhập liệu, rồi chọn mã hóa hay giải mã HTML. Công cụ hoạt động như một bộ giải mã HTML trực tuyến, bộ mã hóa HTML trực tuyến, và trợ lý trình duyệt riêng tư để gỡ escape HTML entity. Tất cả xử lý đều diễn ra cục bộ trong trình duyệt — văn bản của bạn không bao giờ rời khỏi thiết bị.
Chỉ mã hóa năm ký tự HTML dành riêng: & < > " ' — chữ cái có dấu và emoji được giữ nguyên.
🔒 Văn bản của bạn được xử lý trong trình duyệt. Không có gì được tải lên.
Đây là bộ giải mã và mã hóa HTML entity riêng tư, hoạt động trên trình duyệt. Công cụ hoạt động như một bộ chuyển đổi HTML entity đơn giản dành cho lập trình viên, blogger, người dùng CMS và học viên cần giải mã văn bản HTML đã mã hóa, gỡ escape HTML entity, hoặc mã hóa ký tự HTML một cách an toàn. Công cụ sử dụng vòng lặp chuỗi JavaScript thuần và bảng named entity được tuyển chọn để xử lý văn bản hoàn toàn trên thiết bị của bạn, không gọi máy chủ và không dùng thư viện bên thứ ba.
HTML entity là một chuỗi văn bản ngắn đại diện cho một ký tự trong mã nguồn HTML. Entity được dùng khi một ký tự sẽ gây mơ hồ hoặc không hợp lệ trong HTML thô — ví dụ, `<` và `>` phân định các thẻ HTML, vì vậy ký tự `<` theo nghĩa đen trong nội dung phải được viết là `<` để trình duyệt không diễn giải nó là bắt đầu của thẻ.
HTML entity tồn tại ở hai dạng. Named entity dùng tên dễ đọc sau `&` và trước `;`, ví dụ `&` cho dấu và, `©` cho ký hiệu bản quyền, hoặc `—` cho dấu gạch ngang dài. Numeric entity dùng Unicode code point thập phân hoặc thập lục phân — `©` và `©` đều tạo ra ký hiệu bản quyền ©.
Năm ký tự HTML dành riêng mà mọi lập trình viên nên biết:
Ngoài năm ký tự này, HTML định nghĩa named entity cho hàng trăm ký tự khác: chữ cái có dấu (`é` = é), khoảng trắng không ngắt (` `), dấu câu kiểu chữ (`—` = dấu gạch ngang dài, `“` và `”` = ngoặc kép kiểu chữ), ký hiệu tiền tệ (`€` = ký hiệu euro), ký hiệu toán học và chữ cái Hy Lạp.
Mã hóa HTML entity mỗi khi bạn chèn văn bản thuần vào tài liệu HTML và văn bản đó có thể chứa ký tự HTML dành riêng. Các tình huống phổ biến nhất:
Dùng chế độ cơ bản khi chỉ cần escape năm ký tự dành riêng. Dùng chế độ mở rộng cho khả năng tương thích HTML tối đa hoặc với hệ thống cũ chỉ hỗ trợ ASCII.
Giải mã HTML entity khi bạn nhận được văn bản đã được escape và cần đọc, xử lý hoặc hiển thị các ký tự gốc. Trong các cụm từ tìm kiếm, điều này thường được gọi là HTML decode, HTML unescape, hoặc chuyển đổi văn bản HTML đã mã hóa sang văn bản thường. Các tình huống phổ biến:
Công cụ này giải mã cả named entity (`&`, `©`, `—`, ` ` và hàng trăm entity khác) lẫn numeric entity theo ký hiệu thập phân (`©`) và thập lục phân (`©`).
Bộ mã hóa này cung cấp hai mức độ chi tiết mã hóa.
Chế độ cơ bản chỉ mã hóa năm ký tự HTML dành riêng: `&` thành `&`, `<` thành `<`, `>` thành `>`, `"` thành `"`, `'` thành `'`. Tất cả ký tự khác — chữ cái có dấu như `é` và `ü`, ký hiệu như `©` và `—`, emoji như 😀 — được chuyển qua không thay đổi. Dùng chế độ cơ bản khi môi trường đích hỗ trợ Unicode gốc.
Chế độ mở rộng mã hóa năm ký tự dành riêng tương tự và ngoài ra còn chuyển đổi mọi ký tự không phải ASCII thành numeric entity thập phân. Ví dụ `é` thành `é`, `©` thành `©`, `—` thành `—`, và 😀 thành `😀`. Dùng chế độ mở rộng khi cần output ASCII thuần hoặc cho các hệ thống cũ.
Các lập trình viên đôi khi tìm kiếm tác vụ này với các thuật ngữ htmlDecode, htmlEncode, HTML escape, HTML unescape, mã hóa HTML hoặc giải mã HTML. Cách gọi khác nhau nhưng mục đích giống nhau: chuyển đổi an toàn giữa ký tự có thể đọc và biểu diễn HTML entity của chúng.
Ví dụ chuyển đổi hai chiều ở chế độ cơ bản:
Ví dụ chuyển đổi hai chiều ở chế độ mở rộng:
Mã hóa HTML entity và mã hóa URL là hai cơ chế hoàn toàn khác nhau với mục đích và đầu ra khác nhau — mặc dù cả hai đều chuyển đổi ký tự đặc biệt sang dạng biểu diễn thay thế.
Mã hóa HTML entity dành cho tài liệu HTML. Nó thay thế các ký tự có ý nghĩa đặc biệt trong HTML markup bằng các chuỗi entity mà trình phân tích HTML xử lý như nội dung văn bản. Kết quả vẫn là văn bản có thể đọc được — `&` hiển thị là `&` trên trình duyệt.
Mã hóa URL (mã hóa phần trăm) dành cho URL. Nó thay thế các ký tự không an toàn hoặc dành riêng trong URL bằng các chuỗi byte được mã hóa theo phần trăm. Dấu cách thành `%20`, dấu và thành `%26`, dấu nhỏ hơn thành `%3C`.
So sánh các ký tự giống nhau trong cả hai hệ thống:
Nếu bạn dán văn bản HTML-encoded vào bộ mã hóa URL, nó sẽ mã hóa chính các ký tự entity (`&`, `;`, `#`), điều này hầu như không bao giờ mong muốn. Dùng trang này để giải mã HTML entity, mã hóa HTML entity và chuyển đổi văn bản HTML-encoded sang văn bản có thể đọc được.
Need to encode or decode a URL instead of HTML text? Use the URL Encoder / Decoder. Use this page for HTML entity decoding, HTML entity encoding, and converting HTML encoded text back to readable text.
Mã hóa HTML entity (công cụ này) chuyển đổi ký tự sang tương đương HTML entity và đảo ngược quá trình đó. Nó không thêm, xóa hoặc tái cấu trúc bất kỳ phần tử HTML nào. Cấu trúc tài liệu được giữ nguyên; chỉ biểu diễn của ký tự đặc biệt thay đổi.
Làm sạch HTML là thao tác khác xóa hoặc viết lại HTML markup — xóa các thẻ không mong muốn, chuẩn hóa thuộc tính, hoặc xử lý nội dung có thể gây hại. Hàm làm sạch có thể chuyển `<b onclick="...">in đậm</b>` thành `<b>in đậm</b>` hoặc chỉ là `in đậm`.
Công cụ này không làm sạch HTML. Nếu bạn dán HTML thô vào bộ mã hóa, nó sẽ mã hóa các dấu ngoặc nhọn và ký tự dành riêng khác trong markup, biến `<p>Xin chào</p>` thành `<p>Xin chào</p>`. Nó không kiểm tra, xóa hoặc tái cấu trúc bất kỳ phần tử nào.
Công cụ này cũng không phải là trình làm sạch văn bản. Nó không xóa khoảng trắng thừa, không bỏ dấu phụ, và không chuẩn hóa dấu xuống dòng. Nhiệm vụ duy nhất của nó là mã hóa và giải mã HTML entity.
Bộ giải mã HTML entity chuyển đổi các HTML entity đã escape như `&`, `<`, `>`, `"` và `'` trở lại thành ký tự có thể đọc được. Bộ mã hóa HTML entity làm ngược lại: chuyển đổi các ký tự có ý nghĩa đặc biệt trong HTML — như `&`, `<`, `>`, `"` và `'` — thành các chuỗi HTML entity an toàn. Trang này hoạt động như công cụ giải mã HTML trực tuyến lẫn công cụ mã hóa HTML trực tuyến, với các tùy chọn mã hóa cơ bản và mở rộng, tất cả trong trình duyệt của bạn.
HTML entity là các chuỗi văn bản đặc biệt đại diện cho ký tự trong mã nguồn HTML. Chúng bắt đầu bằng `&` và kết thúc bằng `;`. Named entity dùng tên dễ đọc như `&` (dấu và), `<` (nhỏ hơn), `©` (ký hiệu bản quyền) hoặc `—` (dấu gạch ngang dài). Numeric entity dùng Unicode code point theo thập phân (`©` cho ©) hoặc thập lục phân (`©` cho ©). Entity tồn tại vì một số ký tự — đặc biệt là `<`, `>` và `&` — có ý nghĩa dành riêng trong HTML và phải được escape để xuất hiện dưới dạng văn bản theo nghĩa đen.
Mã hóa HTML entity mỗi khi bạn nhúng văn bản thuần vào tài liệu HTML và nó có thể chứa ký tự HTML dành riêng. Các trường hợp quan trọng nhất: hiển thị nội dung do người dùng tạo trên trang web (escape ký tự HTML dành riêng giúp ngăn văn bản bị diễn giải là markup); nhúng đoạn mã vào blog hoặc tài liệu; tạo template email HTML; lưu văn bản vào trường CMS có HTML. Dùng chế độ cơ bản cho hầu hết nội dung web; chế độ mở rộng cho output ASCII thuần.
Giải mã HTML entity khi bạn nhận được văn bản HTML-escaped và cần ký tự gốc. Các tình huống phổ biến: phản hồi API trả về chuỗi escaped như `Tom & Jerry`; nội dung CMS mã hóa hai lần nơi `&lt;` phải là `<`; mục feed RSS hoặc Atom có nội dung văn bản là entity-encoded; dòng log có tham số truy vấn escaped. Bạn cũng có thể coi đây là cách sử dụng công cụ HTML unescape trực tuyến hoặc cách chuyển HTML entity sang văn bản.
HTML unescape có nghĩa là giải mã HTML entity trở lại thành ký tự gốc có thể đọc được. Ví dụ `&` thành `&`, `<` thành `<` và `>` thành `>`. Điều này hữu ích khi văn bản đã sao chép, đầu ra API, nội dung CMS hoặc mã nguồn có HTML đã escape mà bạn muốn đọc dưới dạng văn bản thường.
Đây là năm HTML entity cho các ký tự dành riêng có ý nghĩa đặc biệt trong HTML markup. `&` đại diện cho dấu và `&` bắt đầu mỗi HTML entity. `<` đại diện cho dấu nhỏ hơn `<` mở thẻ HTML. `>` đại diện cho dấu lớn hơn `>` đóng thẻ HTML. `"` đại diện cho dấu ngoặc kép `"` phân định giá trị thuộc tính HTML. `'` (hoặc `'` trong HTML5) đại diện cho dấu nháy đơn `'` cũng được dùng trong giá trị thuộc tính. Tất cả năm ký tự phải được escape ở bất kỳ đâu chúng xuất hiện như nội dung văn bản theo nghĩa đen.
Named entity dùng tên dễ đọc như `&`, `©` hoặc `—`. Numeric entity dùng Unicode code point theo thập phân (`©` cho ©) hoặc thập lục phân (`©` cho ©). Named entity dễ đọc và viết hơn, nhưng chỉ có một tập tên được HTML chuẩn hóa sẵn. Numeric entity có thể đại diện cho bất kỳ ký tự Unicode hợp lệ nào, bao gồm emoji và ký tự từ bất kỳ hệ thống chữ viết nào.
Không, chúng hoàn toàn khác nhau. Mã hóa HTML entity thay thế ký tự bằng chuỗi entity cho tài liệu HTML — `&` thành `&`. Mã hóa URL (mã hóa phần trăm) thay thế ký tự bằng chuỗi byte được mã hóa theo phần trăm cho URL — `&` tương tự thành `%26`. Mỗi phương thức chỉ hợp lệ trong ngữ cảnh của nó. Luôn dùng đúng công cụ cho đúng ngữ cảnh.
Không. Mã hóa HTML entity (công cụ này) chuyển đổi ký tự sang biểu diễn entity và ngược lại, không thêm, xóa hoặc tái cấu trúc phần tử HTML. Làm sạch HTML là thao tác khác xóa thẻ không mong muốn, xử lý thuộc tính hoặc chuẩn hóa markup. Công cụ này không kiểm tra hoặc sửa đổi cấu trúc HTML theo bất kỳ cách nào.
Không. Đầu ra đã giải mã được hiển thị dưới dạng văn bản thuần trong trường văn bản chỉ đọc. Công cụ không bao giờ dùng innerHTML, dangerouslySetInnerHTML, hoặc bất kỳ cơ chế nào khiến trình duyệt phân tích hoặc thực thi đầu ra như HTML. Ví dụ, giải mã `<script>alert(1)</script>` chỉ tạo ra chuỗi theo nghĩa đen `<script>alert(1)</script>` dưới dạng văn bản hiển thị — script không bao giờ được thực thi.
Không. Bộ mã hóa và giải mã chạy hoàn toàn trong trình duyệt của bạn bằng JavaScript thuần. Đầu vào của bạn không bao giờ được gửi đến máy chủ, không bao giờ được lưu trữ, và không bao giờ được ghi log. Đóng tab sẽ xóa tất cả. Công cụ an toàn cho nội dung nhạy cảm như API key, template HTML nội bộ, hoặc tài liệu cá nhân mà bạn không muốn dán vào dịch vụ từ xa.
`htmldecode` là thuật ngữ phổ biến trong giới lập trình viên để mô tả việc giải mã HTML entity trở lại văn bản thường. Trong JavaScript, PHP và các ngữ cảnh lập trình khác, người ta thường dùng các tên như htmlDecode, htmlEncode, HTML escape và HTML unescape cho cùng loại chuyển đổi. Công cụ này cho phép bạn thực hiện chuyển đổi đó trực tuyến mà không cần viết mã.
Công cụ trực tuyến miễn phí để chuyển đổi, mã hóa và biến đổi văn bản
Chuyển đổi kiểu chữ — chữ hoa, chữ thường, title case và nhiều hơn nữa
Chuyển đổi văn bản thành mã Morse và ngược lại
Giải mã mã Morse từ tệp âm thanh hoặc micrô
Chuyển đổi văn bản thành mã nhị phân và ngược lại
Mã hóa và giải mã Base64
Chuyển đổi văn bản thành hệ thập lục phân và ngược lại
Mã hóa và giải mã văn bản bằng mật mã ROT13
Chuyển đổi văn bản thành chữ trên Unicode được hỗ trợ
Chuyển đổi văn bản thành chữ dưới Unicode được hỗ trợ
Tạo ngay văn bản Unicode gạch ngang để sao chép và dán
Chuyển đổi hình ảnh sang Base64 / Data URI
Encode and decode URL components, query strings, and percent-encoded text