본문으로 건너뛰기
ToolMug

HTML 엔티티 인코더·디코더

텍스트를 HTML 안에서 안전하게 표시되도록 이스케이프하거나, 엔티티로 가득한 텍스트를 읽을 수 있는 문자로 되돌리거나, JavaScript·JSON·CSS용 유니코드 이스케이프 시퀀스로 변환하세요. 디코딩은 HTML5 표준의 모든 이름 엔티티를 인식해요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

사용 방법

  1. 인코딩 또는 디코딩을 고르고, HTML과 '유니코드 이스케이프' 중에서 선택하세요.
  2. 텍스트를 붙여넣으세요. 입력하는 대로 결과가 바로 바뀌어요.
  3. HTML 인코딩에서는 특수 문자 5개만 이스케이프할지, ASCII 외 문자도 모두 이스케이프할지 선택하세요.
  4. 결과를 복사하세요.

옵션 설명

특수 문자 이스케이프
다섯 문자 & < > " '를 엔티티로 바꿔요. UTF-8 웹 페이지에는 이것만으로 충분하고, 다른 문자는 읽을 수 있는 그대로 유지돼요.
ASCII 외 문자도 이스케이프
ASCII 범위 밖의 모든 문자를 숫자 엔티티로 바꿔요. UTF-8을 저장할 수 없는 시스템용이에요.
이름 있는 엔티티 사용
이름이 있는 문자는 &copy;, &nbsp; 같은 이름 엔티티로, 나머지는 숫자 엔티티로 바꿔요.
유니코드 이스케이프
JavaScript와 JSON용 \uXXXX(이모지는 서로게이트 쌍인 두 개의 이스케이프가 돼요), 최신 JavaScript용 \u{…}, 코드 포인트를 나타내는 U+XXXX, 10진수 HTML 엔티티인 &#…;를 지원해요.

자주 쓰는 엔티티

문자 이름 엔티티 숫자 엔티티
& &amp; &#38;
< &lt; &#60;
> &gt; &#62;
“ &quot; &#34;
’ &apos; &#39;
줄 바꿈 없는 공백 &nbsp; &#160;
© &copy; &#169;
— &mdash; &#8212;

자주 묻는 질문

HTML을 이스케이프하면 XSS를 막을 수 있나요?

텍스트를 HTML 요소 내용에 넣기 전에 이스케이프하는 것은 꼭 필요한 방어책 중 하나예요. 속성, URL, JavaScript, CSS 컨텍스트에는 각각 다른 이스케이프 규칙이 필요하므로, 직접 처리하기보다는 프레임워크에 내장된 이스케이프 기능을 사용하세요.

&nbsp;와 일반 공백은 뭐가 다른가요?

줄 바꿈 없는 공백(U+00A0)은 공백처럼 보이지만 브라우저가 그 위치에서 줄을 바꾸지 못하게 하고, 여러 개가 연속되어도 하나로 합쳐지지 않아요.

세미콜론 없는 &copy도 디코딩되는 이유는 뭔가요?

역사적인 이유로 HTML 표준은 일부 흔한 엔티티를 끝의 세미콜론 없이도 디코딩해요. 이 디코더는 브라우저와 같은 규칙을 따라요.

JSON에서 이모지를 이스케이프로 표시하려면 어떻게 하나요?

유니코드 이스케이프에서 \uXXXX 스타일을 선택하세요. 기본 다국어 평면(BMP) 밖의 이모지는 두 개의 이스케이프가 돼요. 예를 들어 😀는 \uD83D\uDE00이에요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구