HTML 엔티티 변환기

HTML 특수문자를 엔티티로 인코딩하거나 원래대로 되돌립니다. 명명 엔티티와 숫자 엔티티를 모두 처리합니다.

HTML 엔티티 변환기란?

HTML에서 < > & 같은 문자는 태그나 특수 용도로 쓰이기 때문에, 화면에 글자 그대로 보여 주려면 HTML 엔티티로 바꿔 써야 합니다. 이 도구는 특수문자를 엔티티로 변환하거나(인코딩), 엔티티가 들어간 텍스트를 사람이 읽을 수 있는 원래 문자로 되돌립니다(디코딩).

사용법

  • 인코딩 → 버튼을 누르고 텍스트를 입력하면 즉시 엔티티로 변환됩니다.
  • ← 디코딩 버튼을 누르고 엔티티가 포함된 텍스트를 입력하면 원래 문자로 복원됩니다.
  • 입력하는 즉시 자동으로 변환되며, 복사 버튼으로 결과를 바로 가져갈 수 있습니다.
  • 인코딩 대상은 & < > " ' 다섯 가지 최소 필수 문자입니다.
  • 모든 비-ASCII 문자도 숫자 엔티티로 인코딩 옵션을 켜면 한글·이모지 등 ASCII를 벗어난 모든 문자를 &#NN; 형태의 숫자 엔티티로 변환합니다(이모지 같은 4바이트 문자도 정확히 처리).

왜 엔티티가 필요한가 — 동작 원리

브라우저는 HTML을 읽을 때 <를 만나면 태그의 시작으로, &를 만나면 엔티티의 시작으로 해석합니다. 그래서 이런 문자를 화면에 글자 그대로 보여 주려면 브라우저가 태그로 오해하지 않도록 &lt;, &amp; 같은 엔티티로 바꿔 써야 합니다. 인코딩은 이 변환을, 디코딩은 그 반대를 수행합니다. 이 도구는 인코딩 시 HTML에서 의미가 충돌하는 최소 필수 문자 & < > " ' 다섯 가지를 각각 &amp; &lt; &gt; &quot; &#39; 로 변환하고, 나머지 일반 문자와 한글은 그대로 둡니다.

명명 엔티티와 숫자 엔티티

엔티티에는 두 종류가 있습니다. &amp;·&lt; 처럼 이름으로 정의된 명명 엔티티와, 문자의 코드값을 쓰는 숫자 엔티티입니다. 숫자 엔티티는 10진수(&#65; → A)와 16진수(&#x41; → A) 두 형태가 있습니다. 이 도구의 디코딩은 세 가지를 모두 원래 문자로 복원합니다. 인코딩에서 모든 비-ASCII 문자도 숫자 엔티티로 옵션을 켜면, 한글·이모지처럼 ASCII를 벗어난 모든 문자를 &#NN; 형태로 바꿉니다. 이때 이모지 같은 4바이트 문자(서로게이트 페어)도 실제 코드포인트로 정확히 계산해 처리합니다.

실무 활용 예시

게시판·블로그에 코드 예제를 그대로 보여 주고 싶을 때, <div> 같은 태그를 엔티티로 인코딩하면 태그로 실행되지 않고 글자 그대로 표시됩니다. 반대로 다른 시스템에서 엔티티로 인코딩된 텍스트를 받았을 때 디코딩하면 사람이 읽을 수 있는 원래 문장으로 되돌릴 수 있습니다. 사용자 입력을 화면에 출력하기 전 인코딩하는 것은 XSS 같은 보안 문제를 막는 기본 습관이기도 합니다.

인코딩과 디코딩은 서로 정확히 반대 동작이라, 인코딩한 결과를 다시 디코딩하면 원래 텍스트로 돌아옵니다. 이 성질을 이용하면 다른 시스템에서 넘어온 텍스트가 이미 인코딩된 상태인지 확인하거나, 이중으로 인코딩되어 &amp;lt;처럼 깨진 문자열을 단계적으로 되돌릴 때도 도움이 됩니다. 입력하는 즉시 자동으로 변환되며 결과는 복사 버튼으로 바로 가져갈 수 있고, 모든 처리는 브라우저 안에서만 이루어져 입력한 내용이 외부로 전송되지 않습니다.

자주 묻는 질문

HTML 엔티티란 무엇인가요?

HTML에서 < > & 같은 문자를 화면에 그대로 표시하기 위해 &lt; &gt; &amp; 처럼 바꿔 쓰는 코드입니다.

어떤 문자가 인코딩되나요?

HTML에서 의미가 충돌하는 최소 필수 문자인 & < > " ' 다섯 가지를 각각 &amp; &lt; &gt; &quot; &#39; 로 변환합니다. 한글과 일반 문자는 그대로 둡니다.

명명 엔티티와 숫자 엔티티는 무엇이 다른가요?

명명 엔티티는 &amp; 처럼 이름으로 정의된 형태이고, 숫자 엔티티는 문자의 코드값을 쓰는 &#65;(10진수)·&#x41;(16진수) 형태입니다. 둘 다 결과는 같은 문자를 나타냅니다.

숫자 엔티티(&#NN;)도 디코딩되나요?

네. &amp; &lt; 같은 명명 엔티티는 물론 &#65;(10진수), &#x41;(16진수) 형태의 숫자 엔티티도 원래 문자로 복원합니다.

한글이나 이모지도 인코딩할 수 있나요?

모든 비-ASCII 문자도 숫자 엔티티로 인코딩 옵션을 켜면 한글·이모지 등 ASCII를 벗어난 문자를 &#NN; 형태로 변환합니다. 이모지 같은 4바이트 문자도 정확히 처리합니다.

입력한 내용이 서버로 전송되나요?

아니요. 모든 변환은 브라우저 안에서만 실행되며 입력한 내용은 서버로 전송되거나 저장되지 않습니다.