엑셀 JSON 변환
엑셀(xlsx·xls)·ODS·CSV를 JSON 객체 배열, JSON Lines, HTML 표로 바꾸고, 반대로 JSON·JSON Lines를 엑셀(.xlsx) 파일로 만듭니다. 날짜는 ISO 형식으로 바꾸고 전화번호 앞의 0은 그대로 둡니다. 파일은 서버로 전송되지 않습니다.
내 기기 안에서만 처리돼요. 서버로 전송하지 않아요.
관련 도구
Excel ↔ CSV
엑셀 파일을 CSV로, CSV를 엑셀(.xlsx)로 변환합니다. 여러 시트는 시트별 CSV로 나눠 저장됩니다.
엑셀 파일 합치기
여러 엑셀(xlsx·xls)·CSV 파일을 한 파일로 합칩니다. 시트로 모으거나 한 시트에 아래로 이어 붙이고, 열 순서가 달라도 제목이 같은 열끼리 맞춥니다. 파일은 서버로 전송되지 않습니다.
연락처 변환 (vCard ↔ 엑셀·CSV)
아이폰·갤럭시·구글 주소록에서 내보낸 vCard(.vcf)를 엑셀(.xlsx)·CSV 표로 바꾸고, 엑셀·CSV 연락처 목록을 vCard 3.0으로 만듭니다. 열 이름이 달라도 자동으로 맞춰 주며 파일은 서버로 전송되지 않습니다.
자주 묻는 질문
파일이 서버로 올라가나요?
아니요. 엑셀 파일 읽기, JSON·HTML 만들기, 엑셀 파일 쓰기까지 모두 브라우저 안에서 처리합니다. 처음 쓸 때 엑셀 엔진(SheetJS)을 한 번 내려받을 뿐 데이터는 기기 밖으로 나가지 않습니다.
JSON Lines(JSONL)는 무엇인가요?
한 줄에 JSON 객체 하나씩 적는 형식으로, 로그나 대용량 데이터를 한 줄씩 처리할 때 많이 씁니다. 이 도구는 엑셀 한 행을 한 줄로 내보내고, 반대로 .jsonl·.ndjson 파일을 엑셀로 바꿀 수 있습니다.
'Excel ↔ CSV'나 'JSON ↔ CSV'와 무엇이 다른가요?
CSV를 거치지 않고 엑셀과 JSON을 바로 바꿉니다. 그래서 숫자·참거짓·날짜가 글자로 뭉개지지 않고 JSON의 숫자·불리언·ISO 날짜로 나오며, 시트 선택이나 중첩 객체 펼치기처럼 CSV로는 하기 어려운 처리를 함께 합니다.
모든 시트를 한 번에 바꿀 수 있나요?
JSON과 HTML 표에서 '모든 시트'를 고르면 됩니다. JSON은 {"시트이름": [...]} 꼴로 시트 이름별로 묶고, HTML은 시트마다 표를 만들어 <caption>에 시트 이름을 넣습니다. 이렇게 만든 JSON을 'JSON → 엑셀'에 넣으면 시트별로 되돌아갑니다. JSON Lines는 시트를 하나만 고를 수 있습니다.
JSON → 엑셀에서 키가 객체마다 달라도 되나요?
됩니다. 모든 객체의 키를 처음 나온 순서대로 모아 열을 만들고, 키가 없는 칸은 비워 둡니다. 배열 안에 객체 대신 ["이름", 30] 같은 배열이 들어 있으면 머리글 없이 그대로 행으로 넣습니다.
엑셀 JSON 변환, 어떤 도구인가요?
엑셀(xlsx·xls)·ODS·CSV 표를 JSON 객체 배열·2차원 배열, JSON Lines, HTML 표(<table>)로 바꾸고, 반대로 JSON·JSON Lines를 엑셀(.xlsx) 파일로 만듭니다. 엑셀로 정리한 목록을 웹 페이지나 코드에 넣을 때, API로 받은 JSON을 엑셀에서 열어 볼 때 씁니다. 날짜 칸은 2026-10-20 같은 ISO 형식으로 바꾸고, 010으로 시작하는 전화번호처럼 앞의 0이 중요한 값은 숫자로 바꾸지 않고 글자로 둡니다. 파일은 서버로 전송되지 않습니다.
이럴 때 쓰세요
엑셀 목록을 웹·앱 데이터로 넣을 때
상품·지점·직원 목록을 엑셀로 관리하다 웹 페이지나 앱에 넣어야 할 때, 첫 줄 머리글을 키로 쓴 JSON 객체 배열로 바꿔 복사하면 됩니다. 시트가 여러 개면 시트 하나만 고르거나 모든 시트를 시트 이름별로 묶을 수 있습니다.
API로 받은 JSON을 엑셀에서 볼 때
JSON 배열이나 줄마다 객체가 든 JSON Lines(.jsonl)를 붙여 넣으면 엑셀 파일로 만듭니다. 주소 안에 시·구가 든 값처럼 중첩된 객체는 '주소.시'·'주소.구' 열로 펼치고, 머리글에 자동 필터를 걸어 바로 정렬·검색할 수 있습니다.
엑셀 표를 블로그·게시판에 HTML로 붙일 때
출력 형식을 'HTML 표'로 고르면 <table>·<thead>·<tbody>만 쓴 깔끔한 표 코드가 나옵니다. 꺾쇠(<·>)와 & 같은 글자는 HTML에 맞게 바꾸고, 칸 안 줄바꿈은 <br>로 넣습니다.
사용 방법
변환 방향 고르고 파일 넣기
'엑셀 → JSON'에서는 엑셀·ODS·CSV 파일을 올리고, 'JSON → 엑셀'에서는 JSON을 붙여 넣거나 .json·.jsonl 파일을 엽니다.
- 엑셀 쪽은 .xlsx·.xlsm·.xls·.ods·.csv·.tsv 파일 1개, 최대 50MB입니다. CSV는 UTF-8·UTF-16(BOM)·CP949(EUC-KR)를 자동으로 알아봅니다.
- JSON 쪽은 .json·.jsonl·.ndjson·.txt 파일을 최대 30MB까지 열 수 있고, 입력창에 직접 붙여 넣어도 됩니다. 전체가 JSON이 아니고 줄마다 JSON 객체·배열이 있으면 JSON Lines로 읽습니다.
형식과 옵션 고르기
엑셀 → JSON은 시트, 출력 형식(JSON·JSON Lines·HTML 표), 행 모양(객체·2차원 배열)을 고르면 결과가 바로 바뀝니다.
- 객체는 값이 든 첫 행을 키로 씁니다. 빈 머리글은 'C열'처럼 열 이름으로, 같은 머리글이 또 나오면 '이름_2'처럼 번호를 붙입니다. 빈 칸은 null이 됩니다.
- '빈 행 건너뛰기', '0으로 시작하는 번호와 16자리 이상 숫자는 글자로 두기', '모든 값을 엑셀 화면에 보이는 글자 그대로', JSON '들여쓰기'를 켜고 끌 수 있습니다. 날짜는 어느 설정에서나 YYYY-MM-DD(시각이 있으면 YYYY-MM-DDTHH:mm:ss)로 냅니다.
- JSON → 엑셀은 '2026-10-20 꼴 글자를 엑셀 날짜로 넣기'를 고를 수 있습니다. 중첩 객체는 점 표기 열, 배열 값은 JSON 글자 그대로 한 칸에 들어가고, {"시트이름": [...]} 묶음은 시트별로 나뉩니다.
복사하거나 저장하기
엑셀 → JSON 결과는 복사 버튼으로 가져가거나 .json·.jsonl·.html 파일로 저장합니다. JSON → 엑셀은 '엑셀(.xlsx) 파일 만들기'를 누른 뒤 저장합니다.
- 결과가 30만 자를 넘으면 미리보기에는 앞부분만 나옵니다. 이때 복사 버튼은 미리보기 부분만 복사하므로 전체는 파일로 저장하세요.
- 만든 엑셀 파일은 다시 열어 센 시트 수·행 수와 앞부분 미리보기를 함께 보여 줍니다. 열 너비는 내용 길이에 맞추고 머리글 행에 자동 필터를 겁니다.
자주 나는 문제와 해결
- 전화번호·우편번호가 숫자로 바뀌어 앞의 0이 사라졌어요
- '0으로 시작하는 번호… 글자로 두기'를 켜 두세요(기본값). 엑셀에 숫자로 입력하고 000-0000-0000 같은 서식으로만 0을 보이게 한 칸도 화면에 보이는 글자(010-1234-5678)로 냅니다. 서식 없이 숫자로만 저장돼 0이 이미 없어진 칸은 되살릴 수 없습니다.
- 날짜가 46000 같은 숫자로 나와요
- 엑셀이 날짜 서식을 붙인 칸만 날짜로 알아봅니다. 엑셀에서 그 열을 선택해 셀 서식을 '날짜'로 바꾼 뒤 저장해 다시 올려 주세요. CSV는 날짜가 글자 그대로 들어오므로 원래 적힌 모양대로 나옵니다.
- '올바른 JSON이 아닙니다'라고 나와요
- 끝에 쉼표가 남았거나 작은따옴표를 썼는지 확인하세요. JSON Lines라면 '○번째 줄'이 어느 줄인지 알려 주니 그 줄을 고치면 됩니다. 구조를 눈으로 확인하는 데는 'JSON Pretty'가 편합니다.
- 머리글이 'C열'·'이름_2'로 나와요
- 첫 행의 그 칸이 비어 있거나 같은 머리글이 두 번 있어서입니다. 키가 겹치면 값이 덮어써지므로 이름을 바꿔 구분합니다. 원하는 키 이름이 있으면 엑셀에서 첫 행을 고친 뒤 다시 올려 주세요.
- '엑셀 파일로 읽지 못했어요'라고 나와요
- 암호가 걸린 파일이거나 확장자만 .xlsx인 다른 파일일 수 있습니다. 엑셀에서 열어 암호를 풀고 '다른 이름으로 저장'으로 .xlsx를 고른 뒤 다시 올려 주세요.
주의사항
- 수식 칸은 마지막으로 계산된 값이 들어가고 수식 자체는 옮기지 않습니다.
- 병합된 칸은 맨 왼쪽 위 칸에만 값이 있고 나머지는 빈 칸(null)으로 나옵니다. 숨긴 행·열도 그대로 포함됩니다.
- 숫자는 엑셀처럼 유효 숫자 15자리까지만 씁니다(0.30000000000000004 → 0.3). JSON → 엑셀에서 엑셀 한 칸에 32,767자가 넘는 값은 뒷부분을 자르고 몇 칸을 잘랐는지 알려 줍니다.
- JSON → 엑셀은 한 시트에 1,048,576행·16,384열까지 만들 수 있고, 넘으면 데이터를 나누라는 안내가 나옵니다. 시간대가 붙은 날짜(2026-10-20T09:00:00Z 등)와 없는 날짜(2026-02-30)는 날짜로 바꾸지 않고 글자로 둡니다.