CSV(Comma-Separated Values, 쉼표로 구분된 값)는 가장 보편적인 테이블 데이터 텍스트 형식으로, 거의 모든 테이블 소프트웨어(Excel, Google Sheets, Numbers, WPS)가 CSV 가져오기/내보내기를 지원하며, 데이터 교환, 일괄 가져오기/내보내기에 가장 흔히 사용되는 형식 중 하나입니다. JSON(JavaScript Object Notation)은 Web API와 현대 프로그래밍에서 가장 많이 사용되는 데이터 교환 형식입니다. CSV를 JSON으로 변환하는 것은 개발에서 매우 빈번한 요구 사항입니다: 제품/운영 팀에서 받은 Excel 내보내기 CSV를 인터페이스용 JSON으로 변환해야 하고, 데이터베이스에서 내보낸 CSV를 mock 데이터로 JSON을 만들어야 하며, 데이터 마이그레이션 시 CSV를 MongoDB 등 문서 데이터베이스에 가져와야 합니다…… 사용하기 좋은 변환 도구는 JSON을 수동으로 이어 붙이는 많은 시간을 절약해 줍니다.
CSV는 보기에는 간단합니다——쉼표로 필드를 구분하고 개행으로 행을 구분——하지만 실제로는 많은 함정이 있습니다: 필드에 쉼표가 포함되면 어떻게 하나요? 필드에 개행이 있으면 어떻게 하나요? 따옴표는 어떻게 이스케이프하나요? 국가마다 내보내는 CSV는 세미콜론을 구분자로 사용할 수도 있고(유럽에서는 쉼표를 소수점으로 사용), 탭으로 구분할 수도(TSV 형식) 있습니다. 이러한 문제를 제대로 처리하지 않으면 파싱한 데이터가 잘못됩니다. 본 도구는 RFC 4180 CSV 표준을 따라 파서를 구현하여, 따옴표 감싸기, 큰따옴표 이스케이프, 필드 내 쉼표/개행 등 경계 상황을 올바르게 처리합니다. 단순한 string.split(',')이 아니라 결과가 정확하고 신뢰할 수 있습니다.
구분자 자동 인식은 매우 실용적인 기능입니다. 많은 개발자가 CSV 파일을 받으면 첫 반응이 split(',')을 사용하는 것이지만, 유럽 Excel 내보내기는 기본으로 세미콜론(;)을 구분자로 사용하므로 쉼표로 split하면 전체 행이 하나의 필드가 됩니다. TSV 파일은 탭으로 구분되므로 쉼표로 split은 완전히 잘못됩니다. 도구는 각 행에서 쉼표, 세미콜론, 탭이 나타나는 횟수를 계산하여 가장 가능성이 높은 구분자를 자동으로 판단하고 통일 변환하므로, 파일 출처에 관계없이 붙여넣기만 하면 됩니다.
지능 오류 복구는 단순 온라인 도구와 차별화되는 핵심 기능입니다. 실제 업무에서 받는 CSV는 정형화되지 않은 경우가 많습니다: 어떤 행은 열 수가 맞지 않고(복사 붙여넣기할 때 잘렸거나 중간에 쉼표가 추가됨), 어떤 행은 따옴표가 닫히지 않았고(내보내기 문제), 어떤 행은 구분자를 혼용하여 직접 파싱하면 실패하거나 잘못된 결과를 얻습니다. 도구는 이러한 문제를 만나면 바로 변환을 거부하지 않고: ①문제가 있는 모든 행 번호와 오류 원인을 나열; ②한 번에 복구 버튼을 제공하여 자동으로 빈 열 채우기/잘라내기/따옴표 완성; ③경고가 있어도 가능한 사용 가능한 JSON 결과를 출력하여, 한 행의 오류로 전체 파일 변환이 실패하지 않습니다.
보기/압축 이중 모드 출력은 다양한 사용 시나리오에 대응합니다: 개발 디버깅, 읽어서 확인할 때는 보기 모드——2공백 들여쓰기로 계층이 명확하여 객체 구조를 한눈에 볼 수 있음; 프로덕션 환경, API 반환, 설정 파일에 사용할 때는 압축 모드——모든 공백과 개행을 제거하여 용량이 작고 전송이 빠름. 스위치를 전환하면 즉시 다시 렌더링되며 다시 변환할 필요가 없습니다.
왜 순수 로컬 처리가 중요한가요? CSV 파일에는 실제 비즈니스 데이터, 고객 정보, 공개되지 않은 제품 데이터 등 민감한 내용이 포함되는 경우가 많아, 제3자 변환 서버에 업로드하면 데이터 유출 위험이 있습니다. 본 도구는 모든 파싱과 변환 로직이 브라우저 로컬 JavaScript에서 실행되며, 파일은 사용자 컴퓨터 메모리에서만 처리되고 네트워크 요청조차 없어 인터넷이 끊겨도 사용할 수 있으므로 근본적으로 데이터 보안 문제를 해결합니다. 로컬 처리는 속도 장점도 있습니다——수 MB 파일이 순식간에 변환 완료되어 업로드/다운로드를 기다릴 필요가 없습니다.
드래그 가능한 분할 패널과 로컬 히스토리는 고빈도 사용을 위해 최적화된 디테일입니다: 넓은 테이블을 처리할 때는 입력 영역을 넓게 조정하고, 결과에 집중할 때는 출력 영역을 넓게 조정할 수 있습니다; 지난번에 처리하지 못한 CSV를 다음에 열 때 자동 복원되므로, 이메일/채팅 기록에서 파일을 찾아 다시 복사 붙여넣기할 필요가 없습니다. 한 번에 JSON 포맷터로 이동하는 기능은 더욱 실제 워크플로를 고려한 것입니다——JSON 변환 후 보통 형식 맞추기, 검증, 압축이 필요한데, 직접 이동하면 다시 복사 붙여넣기하여 새 페이지를 열 필요가 없습니다.
참고 사항: ①모든 CSV 값은 일괄 문자열 타입으로 변환되는데, 이는 의도된 설계입니다——CSV에는 타입 정보가 없고 숫자/불리언 자동 변환은 오류를 일으킬 수 있으므로(예: 우편번호 00123, 주민등록번호 등 앞자리 0이 손실될 수 있음), 타입 변환이 필요하면 코드에서 처리하시기 바랍니다. ②현재는 CSV→JSON 단방향 변환만 지원하며, JSON→CSV는 본 사이트 해당 도구를 사용하시기 바랍니다. ③아주 큰 파일(>10MB, 백만 행)은 명령줄 도구(예: csvtojson, jq) 사용을 권장하며, 본 도구는 개발 디버깅 시나리오를 대상으로 하여 일상적인 수만 행 이내는 완전히 원활합니다.