콘텐츠로 건너뛰기

📊 CSV ⇔ JSON 변환

CSV ⇔ JSON 양방향 변환. 구분자, 헤더 행, 따옴표, 빈 셀 처리 지원.

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

🔗 관련 도구

📖 자주 걸리는 지점

CSV 와 JSON 을 상호 변환합니다. 구분 문자, 헤더 행 유무, 따옴표 처리를 지정할 수 있습니다. 처리는 브라우저 안에서 끝납니다. CSV 에는 공식 사양이 없습니다 — RFC 4180 은 흔한 구현을 나중에 정리한 것이며 구속력이 없습니다. 그래서 변환에서 문제가 생기는지는 상대 소프트웨어가 무엇을 CSV 라고 부르는지로 정해집니다.

사례 무슨 일이 일어나는가 어떻게 하면 되는가
엑셀에서 열면 글자가 깨진다 엑셀은 CSV 를 열 때 BOM 이 없으면 시스템 기본 문자 코드로 해석합니다. 일본어판 윈도우에서는 Shift_JIS 계열(CP932)이 기본이므로 UTF-8 CSV 가 깨집니다. 파일은 올바르고 엑셀의 추측이 빗나갔을 뿐이지만 받은 쪽에서는 망가진 파일로 보입니다. 엑셀에 넘길 CSV 는 UTF-8 with BOM 으로 저장합니다. BOM(EF BB BF)이 앞에 있으면 엑셀은 UTF-8 로 확정해 엽니다. 다만 BOM 은 다른 도구에서는 방해가 됩니다 — 프로그램으로 읽으면 첫 컬럼명에 비가시 문자가 붙어 id 인 줄 알았던 것이 id 가 되어 키가 일치하지 않습니다. 엑셀용과 시스템 연계용으로 파일을 나누는 것이 결국 가장 덜 다툽니다.
값 안의 쉼표나 줄바꿈으로 열이 어긋난다 CSV 는 값 안에 구분 문자 자체가 들어갈 수 있는 형식입니다. 주소나 자유 기술에는 쉼표가 흔히 들어가고 여러 줄 코멘트도 있습니다. 큰따옴표로 감싸면 표현할 수 있지만 따옴표 안에 큰따옴표가 나오면 "" 로 이중으로 한다는 규칙을 지키지 않은 출력이 세상에 대량으로 있습니다. 가져오기에서 열 수가 맞지 않는 행이 나오면 그 행을 버리지 말고 별도 파일로 대피시키세요. 원인은 대개 따옴표 불일치이고 한 행이 어긋나면 거기서부터 뒤의 전 행이 깨집니다. 자신이 출력하는 쪽이라면 구분 문자를 탭(TSV) 으로 하면 사고가 급감합니다 — 값 안에 탭이 들어가는 일은 드물기 때문입니다. CSV 클리너로 열 수가 맞지 않는 행을 먼저 찾아낼 수 있습니다.
숫자나 날짜가 멋대로 바뀐다 CSV 에는 타입 정보가 없습니다. 모두 문자열이고 읽는 쪽이 추측합니다. 그 결과 앞의 0 이 사라지고(우편번호 0123456123456), 하이픈 구분이 날짜가 되고, 긴 숫자가 지수 표기가 되는(전화번호나 16자리 ID) 파괴가 일어납니다. JSON 으로 변환할 때도 숫자로 보이는 것이 number 타입이 되면 같은 문제가 남습니다. ID · 우편번호 · 전화번호는 처음부터 문자열로 다룬다고 정하세요. JSON 쪽에서는 "id": "0123456" 처럼 따옴표로 감쌉니다. 엑셀로 여는 전제라면 값 앞에 = 를 붙여 ="0123456" 이라고 쓰는 방법도 있지만 이는 엑셀 전용 서식이라 다른 도구에서는 깨집니다. 실무상으로는 엑셀로 열어 편집하고 다시 저장하는 경로를 업무 흐름에서 빼는 것이 가장 확실합니다 — 그 한 왕복에서 타입이 사라지기 때문입니다.

CSV → JSON 에서는 중첩 구조를 표현할 수 없습니다. user.name 처럼 점 구분 컬럼명으로 계층을 나타내는 관습은 있지만 표준이 아니므로 받는 쪽 구현에 달려 있습니다. 반대로 JSON → CSV 에서는 배열이나 객체를 포함한 필드를 어떻게 평탄화하느냐에서 정보가 떨어집니다. 표 형식에 담기지 않는 데이터를 무리하게 CSV 로 하기보다 1행 1 JSON 인 JSON Lines(.jsonl)로 하는 편이 스트림 처리도 되고 덜 깨집니다. CSV 가 어울리는 것은 어디까지나 사람이 표 계산 소프트웨어로 열어 보는 경우입니다.

📖 사용법

  1. 1
    방향과 구분자 설정
    CSV → JSON 또는 JSON → CSV 방향과 구분자(쉼표, 탭, 세미콜론, 파이프)를 선택하세요.
  2. 2
    데이터 입력
    왼쪽 입력란에 데이터를 붙여넣으세요. 샘플 버튼으로 예시 데이터를 확인할 수 있습니다.
  3. 3
    결과 복사
    변환 결과가 오른쪽에 표시됩니다. 복사 버튼으로 클립보드에 복사하세요.

❓ 자주 묻는 질문

헤더 행이 없는 CSV도 지원하나요?
네. "헤더 행 없음"을 선택하면 각 행이 배열 형식으로 출력됩니다.
따옴표로 둘러싸인 값(쉼표 포함)은 올바르게 처리되나요?
네. RFC 4180 인용 처리를 지원하여 쉼표나 줄바꿈이 포함된 필드도 올바르게 파싱합니다.
큰 파일도 처리할 수 있나요?
모든 처리가 브라우저에서 이루어지므로 매우 큰 파일은 처리가 느려질 수 있습니다.
🐛 이 도구에서 문제가 발생했나요?

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

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