콘텐츠로 건너뛰기

🧹 CSV 클리너

CSV / TSV를 붙여넣고 중복 제거, 정렬, 빈 행 제거, 셀 trim, 헤더 정규화, 열 추출, 줄바꿈 통일을 한 번에 처리. RFC 4180 따옴표 지원.

완전 무료 가입 불필요 브라우저 완결 5 개 언어 다크 모드

🔒 개인정보 보호

⚙️ 입력 설정

🧹 클리닝 옵션

1부터의 열 번호 또는 헤더명, 쉼표 구분

지정한 열만 출력

🔗 관련 도구

📖 자주 걸리는 지점

붙여 넣은 CSV / TSV 에 대해 중복 행 삭제·빈 행 삭제·셀 trim·헤더 snake_case 화·열 추출·정렬·줄바꿈 코드 통일을 한꺼번에 실행합니다. RFC 4180 의 인용 (필드 안의 쉼표·줄바꿈·이중 인용부호) 을 올바르게 해석합니다. 처리는 브라우저 안에서 끝나며 데이터는 전송되지 않습니다. 다만 이 도구는 텍스트로 처리하므로 값의 「의미」는 알지 못합니다007 이 우편번호인지 숫자인지, 2025/03/04 가 3 월 4 일인지 4 월 3 일인지는 판정할 수 없습니다. 정형은 제대로 통과하는데 내용이 깨지는 일은 대개 이 경계에서 일어납니다.

사례 무슨 일이 일어나는가 어떻게 하면 되는가
구분자와 인용부호의 오인 자동 판정은 앞부분의 출현 횟수로 정하므로 본문에 쉼표가 많은 열이 있으면 빗나갑니다. 특히 주의가 필요한 것이 유럽권의 익스포트로, 소수점에 쉼표를 쓰는 지역에서는 구분자가 세미콜론입니다 — 이것을 쉼표로 읽으면 한 열로 뭉쳐 버립니다. 또 하나 까다로운 것이 인용부호 안의 줄바꿈입니다. RFC 4180 에서는 인용부호로 감싼 필드에 줄바꿈을 넣어도 되므로 「한 줄」과 「한 레코드」는 일치하지 않습니다. 행 수만으로 검산하면 반드시 맞지 않습니다. 나아가 백슬래시로 이스케이프하는 독자 방언 (일부 DB 의 익스포트) 은 RFC 4180 이 아니므로 올바르게 나눌 수 없습니다. 자동 판정에 맡기지 말고 구분자를 명시적으로 고르세요. 그런 다음 검산은 「열 수」로 합니다 — 정형 후에 헤더의 열 수와 각 행의 열 수가 일치하면 분할은 성공한 것입니다. 한 행만 열 수가 다르다거의 확실히 그 행의 인용부호가 닫히지 않은 것이며 (원본을 만든 쪽의 버그입니다). 백슬래시 방언이라면 여기에 붙이기 전에 csvkit 이나 스프레드시트로 한 번 RFC 4180 형식으로 변환하세요. 그리고 가장 먼저 할 일은 변환 전후의 행 수와 열 수를 적어 두는 것입니다 — 건수가 변하지 않았다는 확인만은 눈으로라도 반드시 하세요.
중복 삭제는 「문자열로 같은지」만 본다 비교는 문자열의 일치로 이루어지므로 사람 눈에는 같아 보이는 행이 다른 것으로 남습니다: 끝에 공백이 있는 행, 전각과 반각이 섞인 행, 대소문자가 다른 행, 03-1234-56780312345678, 2025-01-052025/1/5. 반대로 trim 을 먼저 걸면 그때까지 다른 것이던 행이 중복이 됩니다즉 처리 순서에 따라 결과 건수가 달라집니다. 또 하나 중요한 것이 어느 행이 남는가로, 이 도구는 먼저 나온 행을 남기고 뒤에 나온 행을 버립니다. 갱신 일시순으로 늘어선 데이터를 그대로 중복 삭제하면 오래된 쪽이 남습니다. 「정규화한 뒤 중복 삭제」라는 순서를 고정하세요. 이 페이지라면 trim 을 켠 상태로 중복 삭제를 실행합니다. 전각 반각이나 대소문자가 섞여 있다면 먼저 전각 반각 변환대소문자 변환 을 거친 뒤 되돌아오세요. 남기고 싶은 행을 고르려면 먼저 정렬한 다음 중복 삭제를 합니다 — 갱신 일시 내림차순으로 늘어놓으면 새로운 쪽이 남습니다. 그리고 「중복 판정 열」을 쓰세요: 완전 일치가 아니라 email 이나 id 처럼 본래 키여야 할 열만으로 판정하면 다른 열의 흔들림에 끌려가지 않습니다.
깨끗한 CSV 가 Excel 로 여는 순간 깨진다 여기서 출력한 CSV 가 올바르더라도 더블 클릭으로 Excel 에 열게 하면 내용이 다시 쓰입니다. 자주 일어나는 것이 넷. 앞자리 0 이 사라집니다 (0077, 우편번호·사번·전화번호). 날짜로 해석됩니다 (1-2 가 날짜가 되고, 유전자명 MARCH1 이 날짜가 되는 문제는 학계에서 개명으로까지 번졌습니다). 16 자리를 넘는 숫자가 반올림됩니다 (카드 번호나 일부 ID 의 끝자리가 0 이 됩니다). 그리고 BOM 이 없는 UTF-8 이 깨집니다이 도구는 BOM 을 붙이지 않으므로 Windows 판 Excel 에서는 글자가 깨집니다. 어느 쪽이든 「다시 저장」하면 깨진 상태가 파일에 굳어집니다. 더블 클릭으로 열지 마세요. Excel 이라면 데이터 > 텍스트 또는 CSV 에서 를 사용하고 문제가 되는 열의 형식을 「텍스트」로 지정한 뒤 읽어 들입니다. 이것이 유일하게 확실한 방법입니다. 상대가 Excel 로 열 것을 아는 파일을 배포한다면 UTF-8 BOM 을 붙여 내보내세요 — 이 페이지의 출력을 저장한 뒤 에디터에서 「UTF-8 (BOM 포함)」을 지정해 다시 저장하는 것이 간편합니다. 애초에 ID 나 전화번호를 CSV 로 주고받지 않는다는 판단도 유효하며, 상대가 Excel 을 쓴다면 .xlsx 로 건네는 편이 안전합니다 — 형식이 저장되므로 열어도 다시 쓰이지 않습니다.

헤더의 snake_case 화는 「원래 이름을 버리는」 조작입니다. 비라틴 문자 헤더나 기호가 든 헤더는 변환 후에 되돌릴 수 없습니다DB 에 투입하기 직전에 한 번만 실행하고 원본 파일은 반드시 남기세요. 열 대응표 (원래 이름 → 새 이름) 를 적어 두면 나중에 「이 열이 무엇이었는가」를 추적할 수 있습니다. 줄바꿈 코드 선택도 눈에 보이지 않아 잊기 쉽습니다: Windows 도구에 넘긴다면 CRLF, Unix 계열 스크립트나 Git 에 올린다면 LF 가 기본입니다 — 섞인 채로 Git 에 넣으면 차분이 전체 행이 됩니다 (자세히는 줄바꿈 코드 변환). 그리고 마지막으로 브라우저 내 처리이므로 다룰 수 있는 크기는 단말의 메모리에 달려 있습니다. 수십 MB 를 넘는 CSV 는 이 페이지가 아니라 csvkit·xsv·duckdb 같은 커맨드라인 도구를 쓰세요그것들은 파일을 전부 메모리에 올리지 않고 처리할 수 있습니다.

📖 사용법

  1. 1
    CSV / TSV 붙여넣기
    왼쪽 입력란에 데이터를 붙여넣으세요. 구분자는 자동 또는 수동 선택.
  2. 2
    클리닝 옵션 선택
    중복 제거, 정렬, 빈 행 제거, 열 추출 등 필요한 옵션을 선택. 키 열은 번호나 헤더명으로 지정.
  3. 3
    결과 복사 또는 다운로드
    오른쪽에 결과가 표시됩니다. 복사 또는 다운로드 (.csv / .tsv).

❓ 자주 묻는 질문

중복 행은 어떻게 판정되나요?
기본적으로 모든 셀이 같으면 중복입니다. 키 열을 지정하면 해당 열만 비교합니다. 처음 등장한 행이 유지됩니다.
따옴표로 감싼 쉼표나 줄바꿈은 보존되나요?
아니오. RFC 4180 파서를 사용하므로 따옴표 안의 쉼표, 줄바꿈, 이스케이프 ("")가 보존됩니다.
큰 CSV도 처리되나요?
모든 처리가 브라우저 내에서 수행됩니다. 수만 행까지 잘 작동하며, 매우 큰 파일은 일시적으로 느려질 수 있습니다. 미리보기는 100행 제한.
🐛 이 도구에서 문제가 발생했나요?

무료 · 가입 불필요. 재현 절차만이라도 도움이 됩니다. 보고는 운영자에게 직접 전달되어 개선에 사용됩니다.

※ 재현을 위해 브라우저 정보 (UA / 화면 / 언어 / URL) 가 자동 전송됩니다