CSV를 JSON으로 바꾸는 방법
- CSV → JSON을 선택한 채로 데이터를 붙여 넣습니다. Excel, Google 스프레드시트, 데이터베이스에서 내보낸 파일이나 스프레드시트에서 바로 복사한 셀(탭으로 구분되어 들어옵니다) 모두 됩니다.
- 구분자는 자동 감지로 두거나 쉼표, 세미콜론, 탭, 파이프 중에서 직접 고릅니다.
- 첫 행을 헤더로 사용을 켜 두면 각 행이 열 이름을 키로 하는 객체가 됩니다. 끄면 배열의 배열이 나옵니다.
- 숫자와 true/false 변환은 숫자 모양의 텍스트를 JSON 숫자로,
true,false,null을 JSON 값으로 바꿉니다. 끄면 모든 값이 문자열로 남습니다. - 결과를 복사하거나 다운로드를 눌러
data.json으로 저장합니다. 상태 줄에 변환된 행 수가 표시됩니다.
예시를 누르면 선택한 방향에 맞는 샘플 데이터가 들어와 따옴표가 어떻게 처리되는지 바로 볼 수 있습니다.
JSON을 CSV로 바꾸는 방법
JSON → CSV를 선택하고 객체 배열을 붙여 넣습니다. 어느 객체에든 있는 키는 모두 열이 되며, 키가 처음 나온 순서대로 놓입니다. 그래서 필드가 빠지거나 더 있는 레코드도 열이 맞춰지고, 없는 값은 빈칸이 됩니다. 중첩된 객체와 배열은 JSON 텍스트로 한 셀에 들어가고, null은 빈 셀이 됩니다. 배열의 배열은 헤더 없이 한 행씩 그대로 쓰고, 객체 하나만 넣으면 헤더와 한 행이 됩니다. 구분자가 자동 감지일 때 출력은 쉼표를 씁니다.
다운로드는 맨 앞에 UTF-8 바이트 순서 표시(BOM)를 넣어 data.csv로 저장합니다. Excel은 이 표시로 인코딩을 알아보므로, 한글이나 악센트 글자가 깨지지 않고 제대로 열립니다.
CSV 따옴표 규칙 요약
CSV에는 공식 명세가 하나로 정해져 있지 않지만, 널리 쓰이는 형식을 RFC 4180이 설명하고 있으며 이 변환기도 그것을 따릅니다.
- 구분자, 큰따옴표, 줄바꿈이 들어 있는 필드는 큰따옴표로 감쌉니다:
"Paris, France". - 그런 필드 안의 큰따옴표는 두 번 씁니다:
"Carol ""CJ"" Jones"는Carol "CJ" Jones라는 뜻입니다. - 따옴표로 감싼 필드는 여러 줄에 걸칠 수 있고, 그 줄바꿈은 값의 일부가 됩니다.
- CSV를 쓸 때 이 도구는 앞뒤에 공백이 있는 값도 따옴표로 감싸, 파일을 여는 프로그램이 공백을 잘라 내지 않게 합니다.
예시
이 페이지의 CSV 예시는 다음과 같습니다.
name,city,age,member |
Alice,"Paris, France",34,true |
Bob,Tokyo,28,false |
"Carol ""CJ"" Jones",São Paulo,41,true |
변환하면 객체 세 개가 됩니다. 첫 번째는 {"name": "Alice", "city": "Paris, France", "age": 34, "member": true}입니다. 따옴표 안의 쉼표는 값에 그대로 남고, 34는 숫자, true는 불리언이 됩니다. 세 번째 행의 이름은 Carol "CJ" Jones로 나오며, JSON에서는 "Carol \"CJ\" Jones"로 표기됩니다.
반대 방향의 JSON 예시에서는 Bob에게만 tags 배열이 있습니다. 결과는 헤더 name,city,age,tags, Alice의 빈 tags 칸, 그리고 Bob의 "[""new""]"입니다. 배열을 JSON 텍스트로 넣었고, 따옴표가 들어 있어 전체를 따옴표로 감싼 것입니다.
자동 감지와 형 변환의 기준
- 구분자: 첫 줄에서 쉼표, 세미콜론, 탭, 파이프를 세어 가장 많은 것을 고릅니다. 헤더의 따옴표 안에 쉼표가 있거나 첫 줄이 특이하다면 구분자를 직접 고르세요.
- 숫자:
34,-2.5,1e3처럼 평범한 숫자만 변환합니다. 앞에 0이 붙은 값(02134), 플러스 부호, 천 단위 구분 기호, 소수점 쉼표(19,90)가 있는 값은 텍스트로 남으므로 우편번호, 전화번호, 유럽식 가격이 망가지지 않습니다. - 불리언과 null: 소문자
true,false,null만 변환합니다. Excel에서 온TRUE는 문자열로 남습니다. - 헤더: 비어 있는 헤더 칸은 위치에 따라
column1,column2처럼 이름이 붙고, 같은 이름이 반복되면_2를 붙여 어떤 열도 사라지지 않게 합니다.
주의할 점
- 긴 ID. JSON 숫자는 15~16자리를 넘으면 정밀도를 잃어
12345678901234567890이12345678901234567000이 됩니다. 긴 계좌 번호, 주문 번호, 바코드가 든 열이 있다면 형 변환을 끄세요. - 들쭉날쭉한 행. 헤더를 쓸 때 칸이 모자란 행은 빠진 열에 빈 문자열이 들어가고, 마지막 헤더 열을 넘는 칸은 버려집니다. 데이터가 사라진 것 같다면 값 안에 따옴표 없는 쉼표가 있는지 확인하세요.
- Excel용 세미콜론 CSV. 독일이나 프랑스처럼 소수점에 쉼표를 쓰는 지역의 Excel은 세미콜론으로 구분된 파일을 기대합니다. 그런 환경에서 열 파일이라면 JSON을 CSV로 바꾸기 전에 세미콜론을 고르세요.
- 빈 줄은 건너뛰며, Windows(CR LF)와 유닉스(LF) 줄 끝을 모두 이해합니다.
자주 묻는 질문
결과 JSON을 API나 코드에 바로 써도 되나요?
네, 2칸 들여쓰기를 한 표준 JSON입니다. 한 줄로 줄이거나 손으로 고친 파일을 검사하려면 JSON 포매터에 붙여 넣으세요.
Excel 파일을 바로 변환할 수 있나요?
.xlsx 파일 자체는 안 되지만, Excel이나 Google 스프레드시트에서 셀을 선택해 복사한 뒤 여기에 붙여 넣으면 됩니다. 탭으로 구분된 텍스트는 자동으로 감지됩니다.
제 데이터는 어디로 가나요?
아무 데도 가지 않습니다. 해석과 변환은 페이지 안에서 이루어지므로, 고객이나 직원 정보가 담긴 표를 다룰 때도 안심할 수 있습니다.
열 순서가 왜 다르게 나오나요?
JSON → CSV에서는 객체들에서 키가 처음 나온 순서대로 열이 놓입니다. 앞에 두고 싶은 키를 첫 번째 객체에 먼저 넣거나, 스프레드시트에서 나중에 열 순서를 바꾸세요.