DevToolPal
한국어

CSV JSON 변환기

CSV를 JSON으로, JSON을 다시 CSV로 변환합니다. 구분자 감지, 헤더 처리, 타입 감지를 지원합니다.

로컬에서 실행, 업로드 없음

옵션

방향

입력

0자 · 0 B

출력

0자 · 0 B

기능 소개

이 변환기는 CSV(쉼표로 구분된 값)를 JSON으로, JSON을 다시 CSV로 바꿉니다. CSV는 스프레드시트, 데이터베이스, 분석 도구가 내보내는 형식이고, JSON은 API, JavaScript 코드, 설정 파일이 기대하는 형식입니다. 어느 쪽이든 붙여넣으면 다른 형식이 즉시 나타납니다.

파서는 CSV 표준인 RFC 4180을 따릅니다. 필드는 큰따옴표로 감쌀 수 있고, 따옴표로 감싼 필드 안의 따옴표는 두 개("")로 쓰며, 따옴표로 감싼 필드에는 쉼표와 줄바꿈이 들어갈 수 있습니다. Windows(CRLF)와 Unix(LF) 줄 끝을 모두 지원하고, Excel이 붙이는 UTF-8 BOM은 자동으로 제거됩니다.

사용 방법

  1. 입력 상자에 CSV를 붙여넣거나 .csv 또는 .tsv 파일을 끌어다 놓거나 예시를 클릭합니다.
  2. 구분자는 자동 감지로 두거나 쉼표, 세미콜론(유럽판 Excel 내보내기에서 흔함), 탭, 파이프 중에서 선택합니다.
  3. 첫 행은 헤더를 켜 두면 열 이름을 키로 하는 객체 배열을 얻습니다. 끄면 배열의 배열이 출력됩니다.
  4. 숫자와 불리언 감지는 42를 숫자로, true를 불리언으로 바꿉니다. 모든 셀을 텍스트로 유지하려면 끄세요.
  5. 반대로 변환하려면 방향을 JSON → CSV로 바꿉니다. 결과를 복사하거나 다운로드합니다.

JSON을 CSV로 변환할 때 입력은 객체 배열이어야 합니다. 열은 모든 키의 합집합이며 처음 등장한 순서를 따르므로, 필드가 없는 행은 그냥 빈 셀이 됩니다. 구분자, 따옴표, 줄바꿈이 들어 있는 셀은 자동으로 따옴표로 감쌉니다.

예시

id,name,active
1,Ada Lovelace,true
2,"Turing, Alan",false

변환 결과:

[
  { "id": 1, "name": "Ada Lovelace", "active": true },
  { "id": 2, "name": "Turing, Alan", "active": false }
]

지저분한 파일 처리

비어 있는 헤더 셀에는 column1, column2 같은 이름이 붙고, 중복된 이름에는 name_2 같은 접미사가 붙으므로 어떤 값도 덮어쓰이지 않습니다. 헤더보다 짧은 행은 빈 문자열로 채워지고, 남는 셀에는 별도의 열 이름이 붙습니다. 따옴표로 시작한 필드가 닫히지 않으면 오류 메시지가 그 필드가 시작된 정확한 줄과 열을 알려줍니다.

자주 묻는 질문

› CSV가 서버에 업로드되나요?

아니요. 파싱과 변환은 모두 브라우저 안에서 실행되므로 고객 데이터나 업무 데이터가 담긴 파일도 기기 밖으로 나가지 않습니다.

› 구분자는 어떻게 감지하나요?

자동 감지 모드에서는 첫 줄에 있는 쉼표, 세미콜론, 탭, 파이프의 개수를 세고(따옴표 안의 내용은 무시) 가장 많이 나온 것을 사용합니다. 추측이 틀렸다면 구분자를 직접 선택하세요.

› 긴 숫자가 문자열로 유지되는 이유는 무엇인가요?

JavaScript 숫자는 15~16자리를 넘으면 정밀도가 떨어지므로 ID, 전화번호, 카드 번호 같은 긴 정수는 문자열로 유지됩니다. 007처럼 앞에 0이 붙은 값도 텍스트로 남습니다.

› JSON을 CSV로 변환할 때 중첩 객체는 어떻게 되나요?

중첩 객체와 배열은 압축된 JSON으로 하나의 셀에 기록되므로 데이터가 손실되지 않으며, 나중에 그 셀을 다시 파싱할 수 있습니다.