보이지 않는 / 제로폭 문자 탐지기
붙여넣은 텍스트의 NBSP·제로폭·양방향 마크·탭을 찾아내고 한 번에 정리.
범례
- · 일반 공백
- → 탭
- ¶ 줄바꿈
- ZW 제로폭 문자
- ␣ NBSP (U+00A0)
- FMT 기타 보이지 않는 / 포맷 문자
HelloZWworld¶ This→line·has·a·tab.¶ Trailing·spaces·here.¶ ···Leading·spaces·here.¶ A␣non-breaking␣space.¶ A00ELRM·and·a02ALRE·inside.¶ ¶ A·blank·line·above.
발견된 보이지 않는 문자
- U+200BZero-width space×1
- U+0009Tab×1
- U+00A0NBSP (non-breaking space)×2
- U+200ELeft-to-right mark×1
- U+202ALeft-to-right embedding×1
정리 옵션
Helloworld This line has a tab. Trailing spaces here. Leading spaces here. A non-breaking space. ALRM and aLRE inside. A blank line above.
사용법
- 텍스트를 붙여넣거나 입력하세요.
- 시각화에서 색상 점·화살표로 공백 확인, ZW는 제로폭.
- '발견된' 목록에서 숨어 있는 유니코드 포인트 확인.
- 정리 옵션을 토글한 뒤 정리된 결과를 복사하세요.
자세한 설명
펼치기접기
텍스트를 붙여 넣으면 모든 공백과 보이지 않는 유니코드 문자를 강조해 줍니다. 보통 공백은 가운뎃점, 탭은 화살표, 줄바꿈은 문단 기호로, 줄바꿈 없는 공백은 호박색, 폭이 없는 문자는 빨강, 양방향과 서식 표시는 자홍색으로 표시합니다. 찾아낸 보이지 않는 코드포인트를 요약으로 나열하고, 한 번 눌러 제거할 수 있습니다. 깨진 JSON이나 뒤틀린 비밀번호, 컴파일되지 않는 복사 붙여넣기 코드를 고칠 때 좋습니다.
하루를 망치는 것은 줄바꿈 없는 공백입니다. 공백과 똑같이 생겼는데 다른 문자이기 때문입니다. 워드프로세서와 채팅 클라이언트, 일부 웹사이트가 자동으로 끼워 넣으므로 문서에서 복사한 텍스트에는 그것들이 흩어져 들어오고, 공백으로 나누는 파서는 그것을 알아보지 못합니다. 증상은 스무 번 읽은 줄에서 실패하는 설정 파일이거나, 어느 칸에서 봐도 맞아 보이는데 거부되는 비밀번호입니다.
폭이 없는 문자는 더 나쁩니다. 흔적을 아예 남기지 않기 때문입니다. 폭 없는 공백과 결합자, 비결합자는 그것을 필요로 하는 문자 체계에서 정당한 쓰임이 있고, 줄바꿈 처리를 위해 삽입된 렌더링된 페이지에서 복사해도 함께 따라옵니다. 똑같이 생긴 문자열과 비교했을 때 같지 않다고 나오는 문자열에는 대개 이것들 중 하나가 들어 있으며, 아무리 눈을 찡그려도 보이지 않습니다.
소스 코드에서 의심하며 다뤄야 할 부류는 양방향 제어 문자입니다. 이것들은 말하는 내용을 바꾸지 않으면서 표시되는 순서를 뒤바꾸므로, 한 줄이 한 순서로 그려지고 다른 순서로 컴파일될 수 있습니다. 2021년에 발표된 트로이 소스 공격의 바탕이 그것입니다. 이제 컴파일러와 코드 호스팅이 이것에 경고를 띄웁니다. 있을 리 없다고 여긴 파일에서 하나를 보게 된다면 잠시 멈출 값어치가 있습니다.
정리 기능은 보이지 않는 문자를 걷어 내고 보통 공백과 줄바꿈은 그대로 둡니다. 비밀번호나 JSON 키에는 알맞은 기본값이고, 이 표시들에 기대는 언어의 텍스트에는 틀린 기본값입니다. 그러니 정리한 뒤가 아니라 정리하기 전에 요약을 확인하십시오.
자주 묻는 질문
제로폭 문자가 뭔가요?
유니코드 코드 포인트인데 시각적 너비가 0(U+200B, U+200C, U+200D, U+FEFF 등). 보이진 않지만 문자로 계산되어 '문자열이 1바이트 더 길다' 같은 버그의 단골 원인.
NBSP는?
줄바꿈하지 않는 공백(U+00A0). 보기엔 일반 공백 같지만 줄바꿈을 막습니다. 일부 워드프로세서가 숫자·단위 사이에 자동 삽입하는데, JSON·코드에 붙여넣으면 깨집니다.
양방향(bidi) 마크는?
U+202A–U+202E(LRE/RLE/PDF/LRO/RLO)는 시각 방향을 재정의합니다. 다국어 혼합 텍스트엔 유용하지만 URL·파일명에 슬쩍 들어가면 피싱 도구가 되는 것으로 알려져 있어요.
정리가 무손실인가요?
대부분 — 제로폭 제거와 줄바꿈 정규화는 보통 안전합니다. 공백 축소·줄 트림은 의도된 포맷을 바꿀 수 있으니 붙여넣기 전에 확인하세요.
이 주제의 가이드
관련 도구
ASCII 코드 표
256행 ASCII / 확장 ASCII 표 — 10진·16진·8진·2진 + 제어 문자 이름. 검색·복사.
개발
글자수 단어수 카운터
글자·단어·문장·줄·바이트 수를 실시간으로 셉니다.
텍스트
유니코드 이스케이프 변환기
텍스트를 \uXXXX, U+XXXX, HTML 엔티티로 인코딩하고, 그 어떤 형식이든 다시 텍스트로 디코딩합니다. 이모지·확장 문자도 처리합니다.
개발
유니코드 문자 검사기
문자열을 분해해 각 문자의 코드포인트·UTF-8 바이트·HTML 엔티티·CSS 이스케이프·유니코드 블록 표시.
텍스트
TXT 레코드 분할기 (255바이트 청크)
긴 SPF·DKIM·DMARC TXT 레코드를 DNS 프로토콜이 요구하는 255바이트 청크로 분할 — BIND·일반 zone 파일·Cloudflare·Route 53 문법 출력.
네트워크
HTML 엔티티 인코더 / 디코더
HTML 특수문자(& < > " ')를 이스케이프하거나 엔티티를 원문으로 디코드합니다.
개발