Peli Tools
CSV JSON

CSV JSON 변환기

브라우저에서 스프레드시트 내보내기를 깔끔한 JSON으로 바꾸세요. 파일은 기기에 남고, 아무것도 업로드되지 않습니다.

파일 선택

또는 여기에 놓으세요

Ctrl+V로 클립보드에서 붙여넣기

  • CSV
  • TSV

최대 1개 파일, 각 25.0 MB

기기에서만 처리됩니다. 아무것도 업로드되지 않습니다.

사용법 CSV를 JSON으로

  1. CSV 파일을 선택하거나 페이지에 끌어다 놓으세요. TSV와 구분자가 없는 텍스트도 됩니다.
  2. 구분자와 첫 행이 열 이름인지 확인하세요.
  3. 출력 형태를 고르세요. 객체 배열 또는 행 배열입니다.
  4. 변환을 누르고 JSON 파일을 내려받으세요.

이 변환에 대하여

파서는 CSV 파일이 실제로 따른다고 주장하는 명세인 RFC 4180을 따릅니다. 따옴표로 감싼 필드, 따옴표 안의 겹따옴표("a""b"는 a"b"가 됩니다), 따옴표 셀 안의 줄바꿈, 윈도우 내보내기의 CRLF 줄 끝을 처리합니다. Excel, Google Sheets, Numbers, LibreOffice에서 저장한 파일은 바이트 순서 표시가 있든 없든 모두 올바르게 파싱됩니다.

자동 구분자 감지는 파일 앞부분에서 따옴표 밖의 쉼표, 세미콜론, 탭 후보를 세고 모든 줄을 일관되게 나누는 것을 고릅니다. Excel이 내보낸 프랑스어 CSV(세미콜론)와 진짜 TSV는 설정을 건드리지 않아도 감지됩니다.

숫자는 JSON 숫자가 되므로 “42”는 42로, “3.14”는 3.14로 들어옵니다. 빈 셀은 null이 되고, 나머지는 모두 문자열로 남아 우편번호와 전화번호의 앞자리 0을 보존합니다. 이 중간 지점은 스크립트가 식별자를 조용히 망가뜨리지 않게 하면서 계산용 숫자 필드는 그대로 제공합니다.

출력 형태 선택

객체는 거의 모든 곳에서 원하는 형태입니다. “첫 행은 헤더”가 켜져 있으면 각 행이 {"name": "Ada", "score": 36}이 됩니다. 중복되거나 빈 헤더 이름은 조용히 덮어쓰지 않고 접미사를 붙여 중복을 풉니다. name, name, name은 name, name_2, name_3이 됩니다.

헤더가 꺼져 있으면 열 이름은 column_1, column_2 등이 됩니다. 행은 원시 그리드를 유지합니다. 모든 셀이 텍스트이고 구조는 파일과 동일합니다. 값 변환을 전혀 원하지 않는 아카이빙과 줄 단위 처리에 적합합니다.

“형식” 옵션은 JSON을 두 칸으로 들여써 읽기와 비교(diff)를 돕습니다. 파일을 기계가 읽게 할 거라면 한 줄로 압축되도록 이 옵션을 끄세요.

한계와 솔직한 안내

변환당 파일 하나, 최대 25MB이며 수백만 행을 포함합니다. 파싱은 이 탭에서 일어나고 큰 파일은 몇 초 걸립니다.

인코딩은 UTF-8로 읽습니다. 악센트 문자가 있는 레거시 윈도우 인코딩으로 저장된 파일은 글자가 깨져 보일 수 있습니다. 그렇다면 원본 애플리케이션에서 CSV를 UTF-8로 다시 저장하세요.

출력은 데이터이지 스프레드시트가 아닙니다. 수식, 스타일, 여러 시트는 CSV에 존재하지 않으며 여기서 만들어 낼 수도 없습니다.

자주 묻는 질문

세미콜론 CSV도 지원하나요?

네, 탭도 됩니다. 자동 감지가 올바른 구분자를 고르며 직접 강제로 지정할 수도 있습니다.

숫자가 문자열이 된 이유는 무엇인가요?

깨끗한 숫자 값만 변환됩니다. 01234 같은 우편번호는 의도적으로 앞자리 0을 유지합니다. 숫자로 바꾸면 값이 손상되기 때문입니다.

빈 셀은 어떻게 처리되나요?

객체 모드에서 빈 문자열이 아니라 null이 되므로 스크립트가 ‘없음’과 ‘비어 있음’을 구분할 수 있습니다.

쉼표가 들어간 따옴표 필드도 처리하나요?

네. 따옴표 필드는 이스케이프된 따옴표와 셀 안의 줄바꿈을 포함해 RFC 4180을 따릅니다.

파일이 업로드되나요?

아니요. 파싱은 전적으로 브라우저에서 실행됩니다.

프라이버시 바이 디자인

기기에서만 처리됩니다. 아무것도 업로드되지 않습니다. 변환은 브라우저에서 실행됩니다. 변환 중 네트워크 탭을 열면 아무것도 전송되지 않는 것을 확인할 수 있습니다. 계정 불필요, 워터마크 없음, 일일 제한 없음.