HTML 엔티티 변환
블로그·게시판에 코드를 그대로 보여 주고 싶을 때 ‘인코딩’, 복사한 글에 &· 가 보일 때 ‘디코딩’을 쓰세요.
자주 쓰는 엔티티 표
HTML 엔티티는 왜 필요한가요
HTML에서 <와 >는 태그를 여닫는 기호, &는 엔티티를 시작하는 기호라서, 글 안에 이 글자들을 그대로 쓰면 브라우저가 태그로 오해해 글이 사라지거나 화면이 깨져요. 그래서 <, >, &처럼 ‘엔티티’로 바꿔 적어요. 사용자가 입력한 글을 웹페이지에 넣을 때 이 변환을 빠뜨리면 다른 사람의 스크립트가 실행되는 XSS 보안 문제가 생길 수 있어요.
인코딩 범위 고르기
‘꼭 필요한 5개만’은 < > & " '만 바꿔요. UTF-8로 저장하는 요즘 웹페이지에서는 이것으로 충분하고, 한글은 그대로 두는 게 읽기 좋아요. ‘이름 있는 기호’는 ©, ™, —, “ ” 같은 기호를 © 같은 이름 엔티티로, 나머지 영어 외 글자는 숫자 엔티티로 바꿔요. ‘영어 외 모든 글자’는 한글까지 홍처럼 바꿔서, 인코딩이 맞지 않는 옛 시스템이나 이메일 본문에서도 글자가 깨지지 않게 해요. 이모지처럼 큰 글자도 하나의 숫자 엔티티로 정확히 바꿔요.
디코딩
디코딩은 브라우저의 HTML 해석기를 그대로 써서 HTML5에 정의된 이름 엔티티 2,000여 개와 10진수·16진수 숫자 엔티티를 모두 원래 글자로 풀어요. 세미콜론이 빠진 옛 표기(© 등)도 브라우저 규칙대로 처리해요. 태그는 실행하지 않고 글자 그대로 남겨요. 두 번 인코딩된 글(&lt;)은 디코딩을 두 번 하면 돼요 — ‘결과를 입력으로’를 누르세요.
참고한 자료
자주 묻는 질문
를 일반 빈칸으로 바꾸고 싶어요.
디코딩하면 줄바꿈 안 되는 빈칸(U+00A0)이 돼요. 일반 빈칸이 필요하면 ‘공백 정리’ 도구로 한 번 더 바꾸세요.
한글도 엔티티로 바꿔야 하나요?
페이지가 UTF-8이면 바꿀 필요가 없어요. 인코딩이 다른 옛 시스템에 넣을 때만 숫자 엔티티로 바꾸세요.
원(₩) 기호는 이름 엔티티가 없나요?
HTML에는 원 기호 이름 엔티티가 없어서 ₩(숫자 엔티티)로 써요.
함께 쓰면 좋은 도구
- HTML 태그 제거 (웹 글에서 글자만 뽑기)HTML 소스에서 태그를 지우고 글자만, 줄바꿈 살리기·링크 주소 남기기·특수문자 풀기
- 유니코드 이스케이프 변환 (가 ↔ 한글, U+ 코드 포인트)한글·이모지를 홍, \u{1F600}, \U0001F600, 홍, U+D64D, %uD64D 형식으로 바꾸고, 섞여 있는 이스케이프를 한글로 풀기
- URL 인코딩·디코딩 (한글 주소 %EC 변환)한글 주소를 %EC%95%88 형식으로, 깨진 %주소를 한글로, 옛 EUC-KR 주소·검색어 파라미터 풀기
- 특수문자 모음☆♡→※ 등 누르면 바로 복사
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴