HTML 엔티티 인코더 / 디코더

HTML 엔티티 인코딩·디코딩. 이름·10진수·16진수 엔티티 지원. 무료, 브라우저에서 처리.

  • 브라우저에서 처리
  • 데이터가 브라우저 밖으로 나가지 않습니다
  • 무료 · 회원가입 불필요
인코딩 또는 디코딩을 선택하세요. 입력을 멈추고 0.3초 뒤 선택한 방향으로 변환합니다. 방향을 바꾸면 대기 중인 변환을 취소하고 현재 입력을 즉시 변환합니다. 지우기는 선택한 방향을 유지합니다.
인코딩은 &, <, >, 큰따옴표와 작은따옴표를 바꿉니다. 이모지를 포함해 ASCII 범위 밖의 각 코드 포인트는 10진수 참조 하나가 됩니다. 공백, 탭, 줄바꿈은 유지됩니다.
디코딩은 브라우저의 textarea 파서로 이름·10진수·16진수 참조를 읽습니다. 태그는 텍스트로 남습니다. 일부 예전 이름은 세미콜론 없이도 인식되며 영어 상태 메시지는 세미콜론으로 끝나는 참조만 셉니다.
현재 표시된 출력 전체를 복사합니다. 실패하면 출력을 선택하여 직접 복사하세요.

인코딩 결과는 HTML 본문과 따옴표로 감싼 속성에 사용하세요. JavaScript, 이벤트 핸들러, CSS, URL에는 문맥에 맞는 별도 이스케이프 규칙이 필요합니다.

빠른 참조 — 자주 쓰는 HTML 엔티티
CharacterNameEntityDecimalHex
&Ampersand&amp;&#38;&#x26;
<Less-than&lt;&#60;&#x3C;
>Greater-than&gt;&#62;&#x3E;
"Double quote&quot;&#34;&#x22;
'Apostrophe&apos;&#39;&#x27;
Non-breaking space&nbsp;&#160;&#xA0;
©Copyright&copy;&#169;&#xA9;
®Registered&reg;&#174;&#xAE;
™Trademark&trade;&#8482;&#x2122;
—Em dash&mdash;&#8212;&#x2014;
–En dash&ndash;&#8211;&#x2013;
«Left guillemet&laquo;&#171;&#xAB;
»Right guillemet&raquo;&#187;&#xBB;
표를 펼쳐 자주 쓰는 이름·10진수·16진수 참조를 확인하세요. 표는 참조용이며 인코딩은 ASCII 범위 밖의 문자를 10진수 참조로 바꿉니다.
자세한 가이드 읽기 HTML 엔티티 완전 가이드: 특수 문자 인코딩·디코딩과 XSS 방어
예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.

변환 예시

아래 출력은 이 도구의 인코딩 함수, 그리고 브라우저와 같은 HTML 파싱 규칙으로 계산한 결과입니다.

태그가 들어간 인사말

<p>안녕하세요 & 반갑습니다</p> 를 인코딩 하면 다음과 같습니다. 상태 메시지는 Encoded — 15 characters converted. 입니다.

&lt;p&gt;&#50504;&#45397;&#54616;&#49464;&#50836; &amp; &#48152;&#44049;&#49845;&#45768;&#45796;&lt;/p&gt;

꺾쇠와 & 는 이름 참조가 되고, 한글 음절은 한 글자마다 10진수 참조 하나가 됩니다. 공백은 그대로 남습니다.

게시판 제목 되돌리기

게시판이나 쇼핑몰 관리 화면에서 내보낸 제목이 &lt;b&gt;공지&lt;/b&gt; &amp; 이벤트 처럼 저장되어 있을 때 디코딩 하면 다음 결과를 얻습니다.

<b>공지</b> & 이벤트

출력에 있는 <b> 는 글자일 뿐이며, 도구가 요소를 만들거나 실행하지 않습니다.

16진수 참조

&#xD55C;&#xAE00; 를 디코딩하면 한글 입니다. 16진수 숫자는 Unicode 표기(U+D55C, U+AE00)와 같으므로 문자표와 대조하기 쉽습니다. 인코딩은 같은 글자를 10진수로 &#54620;&#44544; 처럼 씁니다.

원화 기호

₩12,000 은 &#8361;12,000 이 됩니다. ₩ 에는 이름 참조가 없어서 숫자로만 쓸 수 있습니다.

한글이 참조 세 개가 되는 경우

같은 「한」이라도 저장된 방식에 따라 결과가 다릅니다. 완성된 음절(NFC)로 저장된 「한」은 코드 포인트 하나(U+D55C)라서 &#54620; 하나가 됩니다. 반면 초성·중성·종성의 자모로 분해된 형태(NFD)는 코드 포인트가 셋이므로 참조도 셋이 됩니다.

화면에서는 똑같이 보이는 한 를 인코딩하면 결과는 &#4370;&#4449;&#4523; 입니다.

Apple의 기술 문서 QA1173에 따르면 macOS의 HFS Plus(Mac OS 확장) 볼륨은 파일 이름을 분해형 Unicode로 저장합니다. 그런 파일 이름을 복사해 붙여 넣었을 때 참조 개수가 글자 수보다 많다면 이 차이를 의심해 볼 수 있습니다. 브라우저는 두 형태를 같은 글자로 그리므로 화면만으로는 구별하기 어렵습니다.

디코딩 규칙

디코딩은 입력을 브라우저 자신의 HTML 파서에 넘겨(textarea 의 innerHTML 에 넣은 뒤 텍스트로 다시 읽음) 문자 참조만 바꿉니다.

  • 이름 참조, 10진수 참조, 16진수 참조를 모두 읽습니다.
  • 일부 예전 이름은 세미콜론 없이도 인식됩니다. 예를 들어 &copy 2024 는 © 2024 가 됩니다. 영어 상태 메시지는 세미콜론으로 끝나는 참조만 세므로 실제로 바뀐 수보다 작게 나올 수 있습니다.
  • &#128; 부터 &#159; 까지는 HTML 표준에 따라 Windows-1252로 해석되어 &#128; 은 € 가 됩니다.
  • 한 번에 한 단계만 되돌립니다. &amp;lt; 는 &lt; 가 되며 < 가 되지는 않습니다.

UTF-8로 저장한 페이지라면 한글을 엔티티로 바꿀 필요가 없습니다. W3C 문서 「Using character escapes in markup and CSS」도 페이지에는 UTF-8을 쓰고 일반 문자는 이스케이프하지 말라고 권합니다. 꼭 이스케이프할 것은 <, >, &, 그리고 속성값 안에서 바깥과 같은 종류의 따옴표입니다.

제한

  • 인코딩 결과는 HTML 본문과 따옴표로 감싼 속성값에만 사용하세요. <script> 안, 인라인 이벤트 핸들러, CSS, URL에는 다른 이스케이프 규칙이 필요합니다. JavaScript·JSON 문자열은 문자열 이스케이프 변환기, 쿼리 매개변수는 URL 인코드 / 디코드를 사용하세요.
  • 인코딩은 &copy; 같은 이름 참조를 출력하지 않습니다. ASCII 밖의 문자는 모두 10진수 참조가 되고, 이모지도 한 글자에 참조 하나입니다.
  • 상태 메시지는 모든 언어 페이지에서 영어로 표시됩니다.

자주 사용하는 HTML 엔티티

문자이름 참조10진수설명
&&amp;&#38;앰퍼샌드
<&lt;&#60;부등호(작음)
>&gt;&#62;부등호(큼)
"&quot;&#34;큰따옴표
'&apos;&#39;작은따옴표
©&copy;&#169;저작권 기호
₩없음&#8361;원화 기호
·&middot;&#183;가운뎃점

FAQ

HTML 엔티티란 무엇입니까?

HTML 엔티티(문자 참조)는 문자 하나를 나타내는 코드입니다. 예를 들어 < 를 &lt; 로 쓰면 브라우저가 태그의 시작으로 읽지 않습니다. © 는 &copy; 또는 &#169; 로 쓸 수 있습니다.

언제 인코딩해야 합니까? XSS를 막을 수 있습니까?

사용자가 입력한 문자열이나 코드 예시를 HTML 본문 또는 따옴표로 감싼 속성값에 넣을 때 인코딩합니다. 그 자리에서 <, >, &, 따옴표를 이스케이프하면 화면 깨짐과 HTML 삽입(XSS)을 막을 수 있습니다. 다만 결과는 HTML 전용입니다. JavaScript 문자열, 이벤트 핸들러, CSS, URL에는 각 문맥에 맞는 이스케이프가 필요합니다.

이름·10진수·16진수 참조는 무엇이 다릅니까?

이름 참조는 HTML 이름 목록에 있는 이름(&amp;)을, 10진수 참조는 Unicode 코드 포인트의 10진수 값(&#38;)을, 16진수 참조는 16진수 값(&#x26;)을 씁니다. 세 가지 모두 같은 문자를 뜻하며 디코딩은 셋 다 읽습니다. 인코딩은 &, <, >, 큰따옴표에만 이름을 쓰고 나머지 문자는 10진수 참조로 출력합니다.

데이터가 서버로 전송됩니까?

아니요. 변환은 브라우저 탭 안에서 이루어지며, 입력한 문자열을 서버로 보내거나 브라우저 저장소에 저장하지 않습니다. 페이지의 방문 통계에는 사용 이벤트(도구 이름과 바꾼 방향)만 기록되고 문자열은 포함되지 않습니다.

원화 기호 ₩ 는 엔티티로 어떻게 씁니까?

₩(U+20A9)에는 HTML 이름 참조가 없습니다. 이 도구로 인코딩하면 10진수 참조 &#8361; 가 나오며, 16진수로는 &#x20A9; 입니다. 한국어 Windows 글꼴에서 ₩ 모양으로 보이는 백슬래시(U+005C)는 ASCII 문자라서 인코딩해도 바뀌지 않습니다.