유니코드 공백·보이지 않는 문자 총정리

화면에는 안 보이는데 분명히 존재하는 문자들. 어디서 생기고, 무슨 문제를 일으키고, 어떻게 찾아 지우는지 한 번에 정리했습니다.

보이지 않는 문자는 왜 생기나요?

유니코드에는 화면에 아무것도 그리지 않으면서 "여기서 줄을 바꾸지 마라", "여기서 단어를 끊어도 된다" 같은 지시만 담는 문자가 여럿 있습니다. 원래는 조판이나 다국어 처리를 위해 만들어진 것이지만, 요즘은 전혀 다른 경로로 일상 문서에 흘러 들어옵니다.

종류별 정리표

아래 표의 코드는 유니코드 코드포인트(U+ 뒤의 16진수)입니다. 코드 편집기나 검색 도구에서 이 값으로 찾을 수 있습니다.

이름코드원래 용도일으키는 문제
제로폭 공백
(Zero Width Space)
U+200B줄바꿈 가능 지점 표시검색 불일치, 글자수 오차, ID·비밀번호 입력 실패
제로폭 비접합자U+200C아랍어 등에서 글자 결합 방지같은 단어가 다른 문자열로 인식됨
제로폭 접합자U+200D이모지·인도계 문자 결합이모지 조합이 깨지거나 문자열 비교 실패
단어 결합자
(Word Joiner)
U+2060줄바꿈 금지제로폭 공백과 같은 문제
BOM
(Byte Order Mark)
U+FEFF파일 인코딩 표시CSV 첫 열 이름 깨짐, 스크립트 첫 줄 오류
소프트 하이픈U+00AD줄 끝에서만 보이는 하이픈단어 중간에 보이지 않는 문자가 끼어 검색 실패
NBSP
(줄바꿈 없는 공백)
U+00A0숫자와 단위 사이 등 줄바꿈 방지엑셀에서 숫자가 텍스트로 인식, trim() 미적용
좁은 NBSPU+202F프랑스어 문장부호 앞 등NBSP와 동일, AI 출력에 자주 등장
전각 공백U+3000동아시아 조판용 한 글자 폭 공백일반 공백보다 넓어 정렬이 어긋남
타이포그래피 공백U+2000~200A인쇄용 다양한 폭의 공백공백으로 인식되지 않아 검색·분리 실패
방향 제어 문자U+200E, U+200F
U+202A~202E
아랍어·히브리어 좌우 방향 지정텍스트 순서가 뒤집혀 보이거나 보안 경고

내 문서에 있는지 확인하는 방법

가장 빠른 방법AI 공백 제거기에 붙여넣는 것입니다. 어떤 문자가 몇 개 있는지 코드와 함께 보여줍니다. 도구 없이 확인하려면 다음 방법도 있습니다.

지우는 방법

워드·한글에서는 찾기·바꾸기에서 특수문자를 직접 입력하기 어렵기 때문에, 텍스트를 도구에 붙여넣어 정리한 뒤 다시 붙여넣는 방식이 가장 확실합니다. 코드 편집기라면 위 정규식으로 찾아 빈 문자열이나 일반 공백으로 바꾸면 됩니다. 엑셀에서는 =SUBSTITUTE(A1, CHAR(160), " ")로 NBSP를 일반 공백으로 바꿀 수 있지만, 제로폭 공백은 CHAR 함수로 표현할 수 없어 =SUBSTITUTE(A1, UNICHAR(8203), "")를 써야 합니다.

붙여넣고 바로 확인하기

함께 읽으면 좋은 글