유니코드/문자 코드 대조표

문자를 입력하면 유니코드 코드 포인트, UTF-8 바이트 시퀀스, JavaScript/HTML/URL/CSS 이스케이프 표현을 한눈에 비교할 수 있는 무료 도구입니다. 모든 처리는 브라우저 내에서 완료됩니다.

주요 문자 코드 대조표

문자 코드 포인트 UTF-8 비고
A U+0041 41 대문자 (ASCII, 1바이트)
0 U+0030 30 숫자 (ASCII, 1바이트)
␣ U+0020 20 공백 (ASCII, 1바이트)
! U+0021 21 느낌표 (ASCII 기호, 1바이트)
@ U+0040 40 골뱅이 기호 (ASCII 기호, 1바이트)
© U+00A9 C2 A9 저작권 기호 (Latin-1 보충, 2바이트)
€ U+20AC E2 82 AC 유로 기호 (3바이트)
→ U+2192 E2 86 92 오른쪽 화살표 (화살표 블록, 3바이트)
あ U+3042 E3 81 82 히라가나 문자 (3바이트)
漢 U+6F22 E6 BC A2 CJK 통합 한자 (3바이트)
한 U+D55C ED 95 9C 한글 음절 (3바이트)
😀 U+1F600 F0 9F 98 80 이모지 (BMP 밖, 4바이트, JS에서는 서로게이트 쌍으로 표현)

이 유니코드 문자 코드 변환 도구가 하는 일

이 도구는 입력한 문자를 받아 유니코드 코드 포인트, UTF-8 바이트 시퀀스, JavaScript 이스케이프, HTML 엔티티(10진수·16진수), URL 퍼센트 인코딩, CSS 이스케이프까지 일곱 가지 코드 표현을 한 화면에서 동시에 비교해서 보여줍니다. 문자에서 코드 포인트로, 코드 포인트에서 각 바이트 표현으로 이어지는 모든 변환은 서버로 데이터를 전송하지 않고 입력하는 즉시 브라우저 안에서 계산됩니다.

알아두면 좋은 점이 하나 있습니다. 많은 이모지는 유니코드의 기본 다국어 평면(BMP, U+0000~U+FFFF) 밖에 코드 포인트가 있어서, JavaScript 문자열 내부에서는 하나가 아니라 두 개의 16비트 코드 유닛으로 이루어진 서로게이트 쌍으로 표현됩니다. 이 도구는 내부적으로 `codePointAt`을 사용해 서로게이트 쌍을 항상 하나의 올바른 코드 포인트로 되돌려 계산하므로, 이모지를 입력해도 반쪽짜리 문자 두 개가 아니라 정확한 결과를 얻을 수 있습니다. 여러 문자를 입력하면 문자마다 결과 블록이 따로 표시됩니다.

이 유니코드 변환 도구 사용법

  1. 조회할 문자를 입력합니다 입력란에 문자, 기호, 이모지 등을 입력합니다. 여러 문자를 한 번에 붙여넣을 수도 있습니다.
  2. 문자별 결과 블록을 확인합니다 입력한 문자 수만큼 결과 카드가 자동으로 나열되며, 각각 일곱 가지 코드 표현이 표시됩니다.
  3. 필요한 표현 행을 찾습니다 용도에 맞는 코드 포인트, UTF-8, JavaScript 이스케이프 등의 행을 찾습니다.
  4. 복사 버튼으로 값을 가져옵니다 각 행의 복사 버튼을 누르면 해당 값만 클립보드에 복사되어 코드에 바로 붙여넣을 수 있습니다.
  5. 다른 문자를 시도해 봅니다 입력란을 다시 쓰거나 "지우기" 버튼으로 비운 뒤, 다음으로 조회하고 싶은 문자를 입력합니다.

더 잘 활용하기 위한 팁

  • 입력란에 여러 문자를 입력할 수 있으며, 이 경우 입력란 아래에 문자별로 결과 블록이 나뉘어 표시됩니다.
  • 😀과 같은 이모지는 유니코드의 기본 다국어 평면(BMP, U+0000~U+FFFF) 밖에 있어, JavaScript 문자열 내부에서는 두 개의 코드 유닛(서로게이트 쌍)으로 표현됩니다. "JavaScript 이스케이프" 행에 `\uXXXX`가 두 개 나타나는 것은 이 때문입니다.
  • CSS 이스케이프(`\41` 등)는 코드 포인트의 16진수를 접두사 없이 그대로 적으며, 뒤에 16진수로 오인될 수 있는 문자가 이어질 경우 끝에 공백을 하나 넣는 것이 안전합니다.
  • 브라우저는 10진수(A)와 16진수(A) HTML 엔티티를 동일하게 해석하므로 마크업에 편한 쪽을 선택하면 됩니다.
  • 각 행의 복사 버튼을 사용하면 값을 바로 클립보드에 복사해 코드나 CSS에 붙여넣을 수 있습니다.

이럴 때 활용할 수 있습니다

글자 깨짐 원인 조사

프로그램이나 데이터베이스에서 예상과 다른 문자가 표시될 때, 실제 코드 포인트와 UTF-8 바이트 시퀀스를 비교하면 인코딩 불일치가 원인인지 가려낼 수 있습니다.

이모지의 코드 포인트 조사

이모지가 서로게이트 쌍으로 몇 개의 코드 유닛이 되는지, UTF-8에서 몇 바이트를 차지하는지 실제 값을 한눈에 확인할 수 있습니다.

데이터베이스 문자 인코딩 확인

MySQL의 utf8mb4 적용 필요 여부 등, 특정 문자가 몇 바이트로 저장되는지 미리 파악하고 싶을 때 검증에 사용할 수 있습니다.

HTML·CSS에 특수 문자 삽입

기호나 외국어 문자를 HTML 엔티티나 CSS 이스케이프로 코드에 직접 적고 싶을 때, 올바른 표기를 그대로 복사해 사용할 수 있습니다.

URL 인코딩 검증

한글이나 기호가 포함된 쿼리 매개변수가 올바르게 퍼센트 인코딩되었는지 실제 변환 결과와 대조해 확인할 수 있습니다.

용어집

유니코드
전 세계 모든 문자에 고유한 번호, 즉 코드 포인트를 부여하는 국제 문자 코드 표준입니다. 언어 간 글자 깨짐을 방지하는 것을 목표로 합니다.
코드 포인트
유니코드가 각 문자에 부여한 번호로, U+0041처럼 "U+" 뒤에 16진수로 표기합니다. 어떤 문자인지를 고유하게 나타내는 식별자입니다.
UTF-8
유니코드 코드 포인트를 컴퓨터에서 바이트 시퀀스로 저장하거나 전송하기 위한 대표적인 인코딩 방식입니다. 문자 하나를 1~4바이트의 가변 길이로 표현하며, ASCII와 완전히 호환되어 웹에서 널리 쓰입니다.
UTF-16
유니코드 코드 포인트를 16비트 단위(코드 유닛)로 표현하는 인코딩 방식입니다. JavaScript 문자열은 내부적으로 이 방식을 사용합니다.
서로게이트 쌍
UTF-16에서 기본 다국어 평면(BMP)을 넘어서는 코드 포인트를 표현하기 위해 사용하는 두 개의 코드 유닛 조합입니다. 대부분의 이모지가 여기에 해당합니다.
BMP(기본 다국어 평면)
유니코드 코드 포인트 공간 중 U+0000~U+FFFF 범위를 가리킵니다. 이 범위의 문자는 UTF-16에서 코드 유닛 하나만으로 표현할 수 있습니다.
HTML 엔티티
HTML 문서 안에서 특수 문자를 안전하게 표기하는 방법으로, A(10진수)나 A(16진수)처럼 씁니다.
퍼센트 인코딩
URL에 포함할 수 없는 문자를 UTF-8 바이트 시퀀스로 변환하고, 각 바이트를 %XX 형식으로 표기하는 방식입니다. 한글이 포함된 URL 등에서 사용됩니다.

자주 묻는 질문

JavaScript 문자열은 내부적으로 UTF-16 방식으로 표현되며, 하나의 코드 유닛은 16비트(0~65535)만 표현할 수 있습니다. 유니코드에는 이 범위를 넘어서는 코드 포인트가 다수 존재하는데(대부분의 이모지가 포함되는 U+10000 이상), 이런 문자는 "상위 서로게이트"와 "하위 서로게이트"라는 두 개의 특수한 코드 유닛을 조합한 서로게이트 쌍으로 표현됩니다. `charCodeAt`으로 한 유닛씩 읽으면 이 두 값이 따로 반환되므로, 올바른 전체 코드 포인트를 얻으려면 `codePointAt`을 사용해야 합니다.

유니코드 코드 포인트(예: U+3042)는 문자를 식별하기 위해 부여된 번호 그 자체입니다. 반면 UTF-8은 그 코드 포인트를 컴퓨터에서 바이트 시퀀스로 저장하거나 전송하기 위한 구체적인 인코딩 방식 중 하나입니다. 같은 코드 포인트라도 인코딩 방식에 따라 바이트 시퀀스가 달라지는데, UTF-8은 1~4바이트의 가변 길이를 사용하고 UTF-16이나 UTF-32는 다른 바이트 시퀀스를 만들어냅니다.

UTF-8은 순수 ASCII 문자(영문자, 숫자, 기본 기호)를 각각 1바이트로 표현할 수 있어 기존 영어권 시스템과의 호환성이 뛰어나면서도, 유니코드의 모든 문자를 표현할 수 있습니다. 2026년 현재 웹상의 텍스트 대부분이 UTF-8로 인코딩되어 있으며, HTML 문서의 권장 기본 문자 인코딩으로도 UTF-8이 사용됩니다.

아니요, 서로 다릅니다. HTML 엔티티는 A(10진수) 또는 A(16진수, `x` 접두사 포함) 형식으로 작성하며 HTML 마크업 안에서만 유효합니다. CSS 이스케이프는 `U+`나 `x` 접두사 없이 16진수만 적는 `\41` 형식으로 작성하며 CSS 선택자나 속성 값 안에서 사용합니다. 사용하는 맥락에 맞는 올바른 형식을 선택해야 합니다.
툴군

여담 ― 뿔뿔이 흩어진 문자 코드를 통일한 유니코드

유니코드가 등장하기 전, 컴퓨터의 문자 코드는 국가와 언어마다 제각각이었습니다. 일본어 텍스트만 하더라도 Shift_JIS, EUC-JP, JIS 코드 등 여러 방식이 공존했고, 서로 다른 인코딩을 쓰는 시스템 간에 텍스트를 주고받으면 글자가 깨지는 일이 자주 일어났습니다. 1991년 공개된 유니코드 1.0은 전 세계에서 사용되는 모든 문자에 단일한 번호(코드 포인트)를 부여함으로써 이런 혼란을 해소하고자 했습니다.

유니코드와 국제 표준인 ISO/IEC 10646은 처음에는 어느 정도 독립적으로 개발되었지만, 이후 서로 협력하여 동일한 문자 목록과 코드 포인트 할당을 공유하게 되었습니다. 오늘날 유니코드는 이모지를 포함해 15만 자가 넘는 문자를 수록하고 있으며, 매년 새 버전이 공개되어 문자가 계속 추가되고 있습니다.

UTF-8은 1992년 켄 톰프슨(Ken Thompson)과 롭 파이크(Rob Pike)가 설계한 인코딩 방식으로, ASCII 텍스트와 완전한 하위 호환성을 유지하면서도 모든 유니코드 문자를 표현할 수 있다는 점이 획기적이었습니다. 이 설계 덕분에 UTF-8은 웹 문서 인코딩의 사실상 표준으로 자리 잡았습니다.