HTML 엔티티 인코딩 및 디코딩

&, <, > 등의 특수 문자를 HTML 엔티티로 변환하거나, HTML 엔티티를 원래 문자로 디코딩합니다.

기능

명명된 엔터티
숫자 엔터티
빠른 참조 표

사용 방법

1. 인코딩 또는 디코딩을 선택하세요.

2. 입력란에 텍스트를 붙여넣으세요.

3. 오른쪽에 결과가 표시됩니다. 복사 버튼을 클릭하세요.

이 도구에 대하여

HTML에서 <, >, & 같은 문자는 특별한 의미가 있어 글자로 보여 주려면 &lt;, &gt;, &amp; 같은 엔티티로 써야 합니다. 사용자가 입력한 텍스트를 이렇게 인코딩한 뒤 페이지에 넣는 것은 크로스사이트 스크립팅을 막는 기본 방법 중 하나이기도 합니다. 이 도구는 다섯 개의 예약 문자(& < > " ')와 모든 비ASCII 문자를 엔티티로 바꿉니다. "이름형"은 &eacute;나 &copy;처럼 읽기 쉬운 이름이 있으면 그것을 쓰고, "숫자형"은 모두 &#233; 같은 번호로 씁니다. 디코딩은 이름형이든 숫자형이든 실제 문자로 되돌립니다. 블로그 글의 코드 예제 준비, CMS에서 이중으로 인코딩된 텍스트 수정, API 응답의 이스케이프된 문자열 확인에 편리합니다.

자주 묻는 질문

HTML에서 반드시 인코딩해야 하는 문자는 무엇인가요?
텍스트 내용에서는 &와 <를 항상 인코딩하고, 일관성을 위해 >도 보통 함께 인코딩합니다. 속성 값 안에서는 값을 감싼 따옴표(" 또는 ')도 인코딩해야 합니다. 페이지가 UTF-8이면 나머지 문자는 그대로 써도 됩니다.
이름형 엔티티와 숫자형 엔티티는 어떻게 다른가요?
이름형 엔티티는 &copy;나 &euro;처럼 읽기 쉬운 이름을 쓰지만 정해진 문자 목록에만 있습니다. 숫자형 엔티티인 &#169;나 &#x20AC;는 어떤 유니코드 문자든 표현할 수 있습니다. 브라우저는 둘을 똑같이 처리합니다.
텍스트에 &amp;amp;가 보이는 이유는 무엇인가요?
텍스트가 두 번 인코딩되어 &amp;가 다시 &amp;amp;가 된 것입니다. 엔티티가 사라질 때까지 한두 번 디코딩하고, 애플리케이션에서는 최종 출력 단계에서 한 번만 이스케이프하도록 하세요.
HTML 인코딩만으로 XSS를 막을 수 있나요?
HTML 요소 안이나 따옴표로 감싼 속성에 들어가는 텍스트는 보호됩니다. JavaScript, CSS, URL, 따옴표 없는 속성에 들어가는 내용은 문맥에 맞는 이스케이프가 필요하므로 직접 인코딩하기보다 프레임워크의 템플릿 기능을 쓰세요.
디코딩할 때 HTML이나 스크립트가 실행되나요?
아니요. 디코딩은 실행되지 않는 방식으로 엔티티를 문자로 바꾸고 결과를 일반 텍스트로 보여 주므로, 입력에 있는 태그는 렌더링되지 않고 스크립트도 실행되지 않습니다.

관련 도구