HTML 엔티티 변환기

HTML 특수문자를 엔티티로 변환합니다.

옵션
형식
입력 텍스트
인코딩 결과

자주 사용되는 HTML 엔티티

문자 Named Entity Numeric 설명
<&lt;&#60;작다 (Less than)
>&gt;&#62;크다 (Greater than)
&&amp;&#38;앰퍼샌드 (Ampersand)
"&quot;&#34;큰따옴표 (Double quote)
'&apos;&#39;작은따옴표 (Single quote)
 &nbsp;&#160;줄바꿈 없는 공백
©&copy;&#169;저작권 기호
®&reg;&#174;등록상표 기호
&trade;&#8482;상표 기호
&euro;&#8364;유로 기호
£&pound;&#163;파운드 기호
¥&yen;&#165;엔/원 기호

HTML 엔티티 변환기 안내

HTML 엔티티란?

HTML 엔티티는 웹 문서에서 특수한 의미를 가지는 문자를 안전하게 표현하기 위한 코드입니다. &로 시작하고 세미콜론(;)으로 끝나는 형태이며, 브라우저가 이를 해석하여 원래 문자로 화면에 표시합니다. <, >, & 같은 HTML 예약 문자뿐만 아니라 저작권 기호(©), 화폐 기호(€) 등 키보드로 직접 입력하기 어려운 특수 문자도 엔티티를 통해 사용할 수 있습니다. 웹 개발에서 HTML 엔티티를 올바르게 사용하는 것은 페이지의 정상 렌더링과 보안 양쪽 모두에 중요합니다.

시작하기

  1. 상단 탭에서 '인코딩' 또는 '디코딩' 모드를 선택합니다.
  2. 인코딩 옵션에서 특수문자만 변환할지, 모든 문자를 변환할지 정합니다.
  3. 엔티티 형식을 Named, Numeric, Hex 중에서 골라 선택합니다.
  4. 왼쪽 입력창에 변환할 텍스트를 붙여넣거나 직접 입력합니다.
  5. '실시간' 체크가 켜져 있으면 입력 즉시 결과가 오른쪽에 나타납니다.
  6. 교환 버튼을 누르면 출력 결과가 입력으로 이동하며 모드도 자동 전환됩니다.

기능 소개

  • HTML 특수문자를 엔티티 코드로 인코딩
  • 엔티티 코드를 원래 문자로 디코딩
  • Named(&amp;), Numeric(&#38;), Hex(&#x26;) 세 가지 형식 지원
  • 특수문자만 변환하거나 모든 비-ASCII 문자 변환 선택 가능
  • 실시간 자동 변환 및 입출력 즉시 교환 기능
  • 클립보드에 한 번의 클릭으로 결과 복사

주의할 점

  • 보안을 위해서는 사용자 입력을 HTML에 삽입하기 전에 반드시 인코딩하세요.
  • Named Entity는 가독성이 좋지만, 모든 문자에 이름이 있는 것은 아닙니다.
  • Numeric과 Hex 형식은 모든 유니코드 문자를 표현할 수 있어 범용적입니다.
  • 이미 인코딩된 텍스트를 다시 인코딩하면 이중 인코딩이 되므로 주의하세요.
  • 이 도구는 브라우저에서 모든 처리가 이루어지며, 데이터가 서버로 전송되지 않습니다.

활용 팁

  • 블로그나 웹페이지에 HTML 코드 예제를 텍스트로 표시할 때
  • 사용자 입력 데이터를 안전하게 HTML에 출력하여 XSS 공격 방지
  • 이메일 템플릿 작성 시 특수문자가 깨지지 않도록 변환
  • CMS나 게시판에서 HTML 태그가 실행되지 않도록 이스케이프 처리
  • 국제 문자(악센트, 한자 등)를 ASCII 호환 형태로 변환

자주 하는 질문

Q: 왜 HTML 엔티티를 사용해야 하나요?

HTML에서 <, >, & 같은 문자는 태그와 엔티티를 정의하는 예약 문자입니다. 이 문자들을 텍스트로 표시하려면 엔티티로 변환해야 브라우저가 코드로 해석하지 않고 화면에 그대로 보여줍니다.

Q: Named Entity와 Numeric Entity의 차이점은 무엇인가요?

Named Entity(&amp; 등)는 사람이 읽기 쉬운 이름을 사용하고, Numeric Entity(&#38; 등)는 유니코드 코드 포인트 숫자를 사용합니다. Named는 일부 문자에만 존재하지만, Numeric은 모든 유니코드 문자를 표현할 수 있습니다.

Q: XSS 공격 방지에 HTML 엔티티가 어떻게 도움이 되나요?

사용자 입력을 HTML에 출력할 때 엔티티로 변환하면 <script> 같은 태그가 실행되지 않고 텍스트로만 표시됩니다. 이를 통해 악성 스크립트 삽입(XSS)을 효과적으로 차단할 수 있습니다.

Q: Hex 엔티티는 언제 사용하나요?

Hex 형식(&#x26; 등)은 16진수 코드를 사용하며, CSS나 JavaScript에서 유니코드 이스케이프와 형태가 비슷해 개발자에게 익숙합니다. 특히 비-라틴 문자를 다룰 때 유용합니다.

Q: 특수문자만 변환과 모든 문자 변환의 차이는?

특수문자만 변환은 <, >, &, ", ' 등 HTML 예약 문자만 처리합니다. 모든 문자 변환은 비-ASCII 문자(한글, 이모지, 악센트 문자 등)까지 모두 엔티티로 바꿉니다.

Q: 이중 인코딩이란 무엇인가요?

이미 엔티티로 변환된 텍스트를 다시 인코딩하면 &amp;amp; 같은 형태가 됩니다. 이를 방지하려면 인코딩 전에 텍스트가 이미 인코딩되어 있는지 확인하세요.

Q: &nbsp;는 일반 공백과 뭐가 다른가요?

&nbsp;는 줄바꿈이 일어나지 않는 공백(Non-breaking space)입니다. 일반 공백은 브라우저가 연속된 공백을 하나로 축소하지만, &nbsp;는 그대로 유지됩니다. 여러 칸의 공백이 필요한 경우에 사용합니다.

Q: 입력 데이터가 서버로 전송되나요?

아닙니다. 이 도구는 브라우저 내에서 JavaScript로 모든 변환을 처리합니다. 입력한 데이터는 외부 서버로 전송되지 않으므로 민감한 정보도 안심하고 사용할 수 있습니다.

Q: 교환 버튼은 어떤 기능인가요?

교환 버튼을 누르면 출력 결과가 입력창으로 이동하고, 인코딩/디코딩 모드가 자동으로 반전됩니다. 인코딩 결과를 바로 다시 디코딩하여 원본을 확인하고 싶을 때 편리합니다.

Q: 모든 브라우저에서 HTML 엔티티가 동일하게 작동하나요?

Named Entity 중 일부는 오래된 브라우저에서 지원되지 않을 수 있습니다. 가장 안전한 방법은 Numeric 또는 Hex 형식을 사용하는 것입니다. 기본적인 엔티티(&lt;, &gt;, &amp;, &quot;)는 모든 브라우저에서 동일하게 지원됩니다.