CSV → JSON 변환기

엑셀에서 내보낸 CSV를 JSON으로 바꿔 줍니다. 큰따옴표 안에 든 쉼표와 줄바꿈까지 규격대로 읽으므로, 주소나 비고처럼 쉼표가 섞인 칸에서도 어긋나지 않습니다.

설정

CSV 입력

JSON 결과

변환은 브라우저 안에서만 이루어지며 파일이나 내용을 서버로 보내지 않습니다.

CSV → JSON 변환기는 엑셀에서 내보낸 표 데이터를 프로그램에서 쓰는 JSON 형식으로 바꿔 줍니다. 큰따옴표 안에 든 쉼표와 줄바꿈까지 규격대로 읽으므로, 주소나 비고처럼 쉼표가 섞인 칸에서도 데이터가 어긋나지 않습니다. 구분자는 알아서 찾아내고, 탭·세미콜론으로 나뉜 파일도 그대로 읽습니다.

CSV→JSON 사용 방법

  1. 왼쪽 칸에 CSV 를 붙여 넣거나 파일 버튼으로 파일을 고릅니다.
  2. 첫 줄이 항목 이름이면 그대로 두고, 아니면 체크를 풉니다(그러면 배열의 배열로 나옵니다).
  3. 숫자·참거짓을 값 형식으로 바꿀지 정합니다. 끄면 모두 문자열로 나옵니다.
  4. 오른쪽 결과를 복사하거나 .json 파일로 내려받습니다.

지원 형식과 입력 조건

규격
RFC 4180. 따옴표 안의 쉼표·줄바꿈, 이중따옴("")을 규격대로 처리합니다
구분자
자동 인식 · 쉼표 · 탭 · 세미콜론 · 파이프
줄바꿈
LF · CRLF · CR 모두 인식합니다
파일 크기
10MB 까지. UTF-8 로 읽고 깨지면 EUC-KR 로 다시 읽습니다
처리 위치
브라우저 안에서만 처리하며 파일을 서버로 보내지 않습니다

왜 쉼표로 그냥 자르면 안 되나

  • CSV 는 큰따옴표로 감싸면 그 안에 쉼표와 줄바꿈을 넣을 수 있습니다. "서울시 강남구, 테헤란로" 는 한 칸입니다.
  • 쉼표로 그냥 자르면 이런 칸이 두 개로 쪼개지고, 그 뒤의 모든 값이 한 칸씩 밀립니다. 이름 자리에 나이가, 나이 자리에 주소가 들어갑니다.
  • 더 나쁜 것은 **오류가 나지 않는다는 점**입니다. 결과가 그럴듯해 보여서 한참 뒤에야 발견됩니다.
  • 이 도구는 한 글자씩 읽으며 따옴표 안인지 밖인지를 추적합니다. 따옴표 안의 쉼표·줄바꿈은 값의 일부로 남습니다.

숫자로 바꾸면 안 되는 값들

  • 앞자리가 0 인 값은 문자열로 남깁니다. 우편번호 01234 를 숫자로 바꾸면 1234 가 되어 앞의 0 이 사라집니다.
  • 자릿수가 아주 큰 값도 문자열로 남깁니다. 카드번호나 주문번호를 숫자로 바꾸면 컴퓨터가 다룰 수 있는 정밀도를 넘어 뒷자리가 달라집니다.
  • 값을 바꾼 뒤 다시 문자로 되돌려 원래와 같은지 확인하고, 다르면 문자열로 둡니다.
  • 이 판단이 마음에 들지 않으면 "숫자·참거짓을 값 형식으로 바꾸기" 체크를 풀어 모두 문자열로 받으면 됩니다.

어긋난 데이터를 조용히 넘기지 않습니다

  • 항목 이름이 겹치면 뒤엣것이 앞엣것을 덮어써 데이터가 사라집니다. 이 도구는 이름 뒤에 _2 를 붙여 구분하고 그 사실을 알려 줍니다.
  • 줄마다 칸 수가 다르면 몇 번째 줄이 몇 칸인지 알려 줍니다. 모자란 칸은 빈 값(null)으로 채웁니다.
  • 따옴표가 닫히지 않으면 그 지점부터 전부 한 칸이 됩니다. 이 경우 변환을 멈추고 오류로 알립니다.
  • 항목 이름이 비어 있으면 열1, 열2 처럼 자리 번호로 채웁니다.

자주 묻는 질문

한글이 깨져 보입니다.

엑셀에서 저장한 CSV 는 EUC-KR 인 경우가 많습니다. 파일로 올리면 UTF-8 로 먼저 읽고, 글자가 깨지면 EUC-KR 로 다시 읽어 알려 드립니다. 붙여 넣기로 넣을 때는 이미 브라우저가 읽은 글자라 문제되지 않습니다.

반대로 JSON 을 CSV 로 바꾸려면?

JSON → CSV 도구를 쓰세요. 이 사이트 안에 있습니다.

첫 줄이 항목 이름이 아니면 어떻게 되나요?

체크를 풀면 각 줄이 배열이 되어 [["a","b"],["1","2"]] 형태로 나옵니다.

아주 큰 파일도 되나요?

10MB 까지 받습니다. 다만 수십만 줄이면 브라우저가 잠시 멈칫할 수 있습니다.