텍스트 ↔ 유니코드

텍스트를 유니코드 코드포인트(U+…)로, 또는 반대로 변환합니다.

결과

이모지·희귀 한자처럼 U+FFFF를 넘는 문자는 자바스크립트에서 서로게이트 페어로 저장되어 UTF-16 기준 2칸을 차지합니다. 자바스크립트 형식을 고르면 이런 문자가 두 개의 코드 유닛으로 표시되고, ES6·유니코드 표준 표기를 고르면 하나의 코드포인트로 표시됩니다. 이 도구는 코드포인트 단위로 순회하므로 이모지가 쪼개지지 않고 정확히 변환·복원됩니다. 아래 상세표의 UTF-16 열에서 실제 구성을 확인할 수 있습니다.

코드 → 텍스트 방향은 형식 선택과 상관없이 U+ 표기, 자바스크립트 이스케이프, ES6 중괄호 표기, HTML 10진수(😀)·16진수(😀) 엔티티, 명명 엔티티(♥)를 모두 자동으로 인식합니다.

텍스트 ↔ 유니코드란?

깨진 글자, 특수문자, 이모지(😀)의 정체가 궁금하신가요? 텍스트를 컴퓨터가 이해하는 고유한 번호, 즉 유니코드 코드포인트(U+…)로 변환하거나 그 반대로 변환해주는 도구입니다. 개발자가 코드에 문자를 삽입할 때, 디자이너나 콘텐츠 제작자가 웹에 안전하게 특수문자를 표시해야 할 때 유용합니다. 단순히 텍스트를 코드로 바꾸는 것을 넘어, 입력한 모든 글자를 하나씩 분해하여 코드포인트, UTF-8 바이트, 유니코드 분류까지 상세한 분석표로 보여주는 것이 특징입니다. 자바스크립트(`\uXXXX`), HTML 엔티티(`&#...;`), 유니코드 표준(`U+XXXX`) 등 7가지 표현 형식과 ASCII 문자 유지 옵션을 제공하여 어떤 환경에서도 필요한 결과물을 바로 얻을 수 있습니다. 모든 변환 과정은 사용자의 브라우저 안에서만 이루어지며, 입력한 내용은 서버로 절대 전송되지 않아 안심하고 사용할 수 있습니다.

사용 방법

  1. 왼쪽 입력창에 변환하고 싶은 텍스트를 쓰거나 붙여넣습니다.
  2. 변환 방향은 기본적으로 '🔄 자동 감지'되어, 입력이 텍스트인지 코드인지에 따라 알맞게 동작합니다. 필요시 '텍스트 → 코드' 또는 '코드 → 텍스트'로 직접 지정할 수 있습니다.
  3. 텍스트를 코드로 바꿀 때는 '표현 형식' 메뉴에서 자바스크립트, HTML 엔티티 등 원하는 출력 형식을 선택합니다. 'ASCII는 그대로 두기' 옵션으로 가독성을 높일 수도 있습니다.
  4. 변환 결과가 오른쪽 창에 즉시 나타납니다. '복사' 버튼을 눌러 필요한 곳에 사용하세요.
  5. 결과 아래에서 글자 수, UTF-8/UTF-16 크기 등 통계 정보와 글자별 상세 분석표를 확인할 수 있습니다.

텍스트 ↔ 유니코드 사용 가이드

실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.

이모지가 2글자로 세지는 이유

"😀".length 를 자바스크립트에서 재면 2가 나옵니다. 버그가 아니라 저장 방식 때문입니다. 자바스크립트 문자열은 UTF-16이고, UTF-16은 16비트 단위라 U+FFFF까지만 한 칸에 담습니다. 그보다 큰 문자는 두 칸(서로게이트 페어)에 나눠 저장합니다.

이 도구의 통계에서 "글자 수(코드포인트)"와 "UTF-16 길이"를 나란히 보여 주는 이유가 그것입니다. 이모지가 하나 있으면 두 숫자가 1씩 벌어지고, "서로게이트 페어" 칸에 몇 개인지 표시됩니다.

글자코드포인트UTF-16코드포인트 / UTF-16 길이
AU+004100411 / 1
U+D55CD55C1 / 1
😀U+1F600D83D DE00 (페어)1 / 2
실무 버그는 대부분 여기서 납니다. 글자 수 제한 카운터가 이모지를 2글자로 세고, substring(0, 10)으로 자르면 페어 가운데가 잘려 깨진 문자가 남습니다. 자를 때는 Array.from(text)로 코드포인트 배열을 만든 뒤 다루세요. 이 도구가 이모지를 쪼개지 않고 정확히 왕복시키는 것도 같은 방식이기 때문입니다.

보이지 않는 문자 잡아내기

"분명 똑같이 썼는데 검색이 안 되고 비교가 실패한다"면 눈에 안 보이는 문자가 섞인 경우입니다. 문제의 문자열을 그대로 붙여넣고 글자별 상세표의 코드포인트·분류 열을 훑으면 정체가 드러납니다.

문자코드포인트어디서 들어오나
줄바꿈 없는 공백(NBSP)U+00A0웹페이지·워드·엑셀에서 복사할 때. 코드에 붙여넣으면 문법 오류
제로폭 공백U+200B위지윅 에디터·번역 도구. 아예 안 보임
BOMU+FEFF파일 맨 앞. JSON 파싱 실패의 단골 원인
이형 선택자U+FE0F이모지 뒤에 붙어 컬러 표시를 지정
좌우 방향 표시U+200E, U+200F아랍어·히브리어 혼용 문서
상세표에서 공백은 ␠, 줄바꿈은 ␊ 기호로 표시되고 제어문자는 가운뎃점으로 나옵니다. 평범한 공백(U+0020)인지 NBSP(U+00A0)인지는 코드포인트 열을 보면 바로 구분됩니다.

표현 형식 7가지, 언제 무엇을 쓰나

형식을 바꾸면 구분자가 그 형식의 관례값으로 자동으로 맞춰집니다. \u0041\u0042는 붙여 쓰고 U+0041 U+0042는 띄어 쓰는 게 관례라서입니다. 자동으로 바뀐 뒤 직접 고른 값은 그대로 유지됩니다.

"ASCII는 그대로 두기"를 켜면 영문·숫자는 읽히는 채로 두고 한글·이모지·특수문자만 이스케이프합니다. 코드에 넣을 문자열을 만들 때 가장 실용적인 조합입니다.

형식결과 예 (😀)쓰는 자리
자바스크립트 \uXXXX\uD83D\uDE00JS 문자열 리터럴 · 옛 코드베이스
ES6 \u{XXXXX}\u{1F600}요즘 JS · 코드포인트가 그대로 읽힘
U+XXXXU+1F600문서·이슈·대화에서 문자를 지칭할 때
HTML 10진수😀HTML 본문 · 메일 템플릿
HTML 16진수😀위와 같되 코드포인트가 보임
명명 엔티티& · ♥ 등알려진 기호만. 없으면 16진수로 대체
10진수 코드포인트128512숫자만 필요할 때

자모가 따로 노는 한글 — 정규화 문제

맥에서 압축한 파일을 윈도우에서 풀면 파일명의 자모가 흩어져 보이는 일이 있습니다. 같은 "한글"인데 저장 방식이 두 가지이기 때문입니다. 완성형(NFC)은 한 글자를 코드포인트 하나로, 조합형(NFD)은 초성·중성·종성 코드포인트 여러 개로 저장합니다.

이 도구로 어느 쪽인지 판별할 수 있습니다. 문제의 문자열을 붙여넣고 글자 수와 분류 열을 보세요.

  • "한글 음절"(U+AC00~U+D7A3)로 나오고 "한글"의 글자 수가 2 → 완성형(NFC). 정상입니다.
  • "한글 자모"(U+1100~U+11FF)가 여러 개로 나오고 글자 수가 6 → 조합형(NFD). 맥 파일 시스템이 쓰는 방식입니다.
  • "한글 호환 자모"(U+3130~U+318F)로 나옴 → 자판에서 ㄱ·ㅏ를 낱개로 입력한 것. 조합형과도 또 다릅니다.
이 도구에는 정규화(NFC/NFD 변환) 기능이 없습니다. 어느 쪽인지 확인하는 데까지만 쓸 수 있고, 실제 변환은 코드에서 text.normalize("NFC")로 하거나 정규화를 지원하는 도구를 쓰세요. 파일명·검색어 비교는 양쪽을 NFC로 맞춘 뒤 하는 것이 원칙입니다.

되돌리기와 자동 감지의 경계

코드 → 텍스트 방향은 형식 선택과 무관하게 알려진 표기를 전부 인식합니다. U+D55C, \uD55C, \u{D55C}, 한, 한, ♥ 를 한 입력에 섞어 넣어도 됩니다.

다만 자동 감지는 접두어가 붙은 표기가 입력 전체를 덮을 때만 코드로 판단합니다. "D55C AE00"처럼 접두어 없이 숫자만 나열하면 평범한 텍스트일 수 있어 함부로 되돌리지 않습니다.

  1. 접두어 없는 코드를 되돌리려면 "코드 → 텍스트"를 직접 누릅니다.
  2. 값이 16진수면 표현 형식을 자바스크립트·U+ 등 16진 계열로 둡니다.
  3. 10진수 코드포인트(54620 같은)를 되돌릴 때는 표현 형식을 "10진수 코드포인트"로 바꿔야 10진으로 읽습니다.
접두어 없는 숫자는 16진인지 10진인지 알아낼 방법이 없어 표현 형식 선택으로 판단합니다. 55는 16진으로 읽으면 U, 10진으로 읽으면 7이 됩니다.

자주 묻는 질문

이모지(emoji)도 변환되나요?

네, 완벽하게 지원합니다. 😀 같은 이모지를 입력하면 'U+1F600' 같은 코드포인트로 변환되며, 반대로 코드포인트를 입력해 이모지를 복원할 수 있습니다. 자바스크립트에서 까다로운 서로게이트 페어(surrogate pair) 문제 없이 정확하게 처리하며, 글자별 상세표에서 UTF-16 인코딩 구조까지 확인할 수 있습니다.

입력한 텍스트 데이터는 안전한가요?

네, 안전합니다. 이 도구는 서버와의 통신 없이 100% 사용자의 웹 브라우저 내부에서만 동작합니다. 입력하신 텍스트는 외부로 일절 전송되지 않으므로, 민감한 내용이나 개인정보가 포함된 텍스트도 안심하고 변환할 수 있습니다.

유니코드 표현 형식이 여러 가지인데, 어떤 것을 써야 하나요?

사용 목적에 따라 다릅니다. 웹 페이지에 특수문자를 표시하려면 HTML 엔티티(`A`, `A`)를, 자바스크립트나 JSON 문자열 안에 넣으려면 `\u0041` 형식을 사용합니다. 유니코드 문서를 작성하거나 단순히 코드포인트를 확인할 때는 `U+0041` 표준 표기가 유용합니다. 각 형식 이름에 대표적인 사용처가 함께 표시되어 있어 쉽게 선택할 수 있습니다.

'ASCII는 그대로 두기'는 어떤 기능인가요?

영문, 숫자, 기본 기호 등 ASCII 문자는 변환하지 않고 그대로 남겨두는 기능입니다. 예를 들어 'Hello © 2024'를 변환할 때, 이 옵션을 켜면 'Hello'와 '2024'는 그대로 두고 특수문자 '©'만 `©`나 `U+00A9` 등으로 변환합니다. 코드나 텍스트의 가독성을 해치지 않으면서 필요한 부분만 이스케이프할 때 매우 유용합니다.