CSV→JSON 변환기

CSV 파일을 JSON 배열(객체 배열)로 변환합니다. 구분자와 첫 행을 헤더로 사용할지 여부를 지정할 수 있으며, 변환 결과는 복사・다운로드할 수 있습니다. 모든 처리는 브라우저 내에서 이루어지며 서버로 전송되지 않습니다.


구분자
첫 행을 헤더로 사용
들여쓰기하여 표시


            
            복사했습니다!
            
          

CSV를 입력하면 여기에 JSON이 표시됩니다.

CSV 행과 JSON 객체의 대응 관계

CSV의 한 행 name,age,city
변환된 JSON 객체 {"name": "...", "age": "...", "city": "..."}

첫 행을 헤더로 사용하면, 두 번째 행부터 각 행이 헤더의 열 이름을 키로 하는 객체로 변환됩니다.

Tips

  • "첫 행을 헤더로 사용"을 활성화하면 첫 행의 값이 JSON 객체의 키 이름으로 사용됩니다. 비활성화하면 col1, col2… 와 같은 순번 키가 됩니다.
  • 헤더에 빈 칸이나 중복된 열 이름이 있으면 해당 열만 자동으로 col{열 번호} 키로 대체되어 값 손실을 방지합니다.
  • 자매 도구인 "JSON→CSV 변환"과 함께 사용하면 CSV와 JSON을 몇 번이든 상호 변환할 수 있습니다.
  • 큰따옴표로 둘러싸인 셀 안의 쉼표・줄바꿈・이스케이프된 인용부호("")까지 처리하는 RFC 4180 준수 파서를 사용하므로, Excel 등에서 내보낸 복잡한 CSV도 정확하게 변환됩니다.

자주 묻는 질문

기본적으로 첫 행을 헤더로 취급하여, 두 번째 행부터 각 행을 {"헤더명": "값", ...} 형태의 객체로 변환하고, 이를 배열로 모은 JSON(객체 배열)을 출력합니다. API 응답이나 NoSQL 데이터베이스에 데이터를 입력할 때 자주 사용되는 형식입니다.

네. "구분자"에서 "탭"을 선택하면 TSV 파일도 CSV와 동일하게 JSON으로 변환할 수 있습니다.

네, CSV의 모든 값은 텍스트로 취급되므로 숫자나 불리언처럼 보이는 값도 JSON에서는 문자열("123"이나 "true" 등)로 출력됩니다. 숫자로 다루고 싶다면 변환 후 JSON 쪽에서 형 변환을 해주세요.

아니요. 변환 처리는 모두 브라우저 내 JavaScript에서 이루어지며, 입력한 CSV 내용이 서버로 전송되는 일은 없습니다. 개인정보가 포함된 데이터도 안심하고 사용할 수 있습니다.
ツールくん

여담이지만 ― API가 CSV보다 JSON을 선호하는 이유

CSV는 표 형식 데이터를 간단하게 표현할 수 있지만, 배열이나 중첩 객체 같은 계층 구조는 표현할 수 없다는 제약이 있습니다. 대부분의 REST API 응답이 JSON 형식을 채택하는 이유는, 하나의 레코드 안에 배열과 객체를 자유롭게 담을 수 있어 CSV로는 표현할 수 없는 복잡한 데이터 구조도 그대로 송수신할 수 있기 때문입니다.

한편 CSV에는 "Excel이나 스프레드시트로 바로 열 수 있다", "한 행이 하나의 레코드라 사람이 눈으로 확인하기 쉽다"는 버리기 어려운 장점이 있습니다. 실무에서는 "집계・확인은 CSV, 시스템 간 연계는 JSON"이라는 역할 분담이 자리 잡았으며, 이 도구와 같은 상호 변환 수요가 꾸준히 존재하는 이유입니다.

JSON(JavaScript Object Notation)이라는 이름에도 불구하고, 현재는 JavaScript뿐 아니라 거의 모든 언어에서 표준 데이터 형식으로 지원됩니다. 2001년 Douglas Crockford가 이 규격을 공개한 이후, 특정 언어에 의존하지 않는 최소한의 데이터 표현 방식으로 의도적으로 설계된 것이 이렇게 널리 보급된 큰 이유입니다.