데이터 변환
스프레드시트, 데이터베이스, API, 주소록이 요구하는 형식으로 데이터 행을 옮깁니다. CSV, 엑셀 통합 문서, JSON이나 XML 파일, 연락처 목록, PDF 속 표를 업로드하면 다음 프로그램이 읽을 수 있는 형태로 같은 레코드를 돌려받습니다.
데이터 변환
또는 CSV, TSV, TXT … 파일을 여기에 끌어다 놓으세요 ·
파일당 최대 95 MB· 최대 20개 파일· 30분 뒤 삭제
파일은 UltKit 서버에서 처리되며 30분 뒤 삭제됩니다.
CSV와 텍스트 파일에서 열을 나누는 문자로, 읽기와 쓰기에 모두 쓰입니다. 자동은 입력에서 감지하고 쉼표로 씁니다.
UTF-8은 모든 언어에 쓸 수 있습니다. Windows의 Excel에서 CSV를 열 때 악센트 문자나 아시아 문자가 깨지면 BOM 포함 UTF-8을 선택하십시오.
Excel, ODS, Numbers 입력은 첫 시트만 변환하거나 모든 시트를 변환합니다(ZIP 안에 시트마다 CSV 하나, 또는 시트마다 JSON 키 하나).
새 스프레드시트의 시트 탭 이름으로, 최대 31자입니다.
객체 배열은 모든 행에 열 이름을 키로 쓰고, 배열의 배열은 더 간결하며 머리글을 첫 배열로 유지합니다.
모든 행을 감싸는 바깥 요소의 이름이며, 각 행은 그 안의 <row>가 됩니다.
CREATE TABLE과 INSERT 문에 쓰입니다. 영문자, 숫자, 밑줄만 사용할 수 있습니다.
따옴표 처리와 열 유형은 데이터베이스마다 조금씩 다릅니다. 가져올 데이터베이스를 고르십시오.
날짜 셀을 한 가지 형식으로 다시 씁니다. 데이터베이스와 코드에는 ISO (2026-10-18)가 가장 안전하며, 그대로 유지는 원본에 보이는 대로 둡니다.
사용 방법
- 1
데이터 파일 업로드
CSV, TSV, XLSX, XLS, ODS, Numbers, JSON, XML, YAML, VCF, SQL, Parquet, HTML, PDF 파일을 한 번에 최대 20개, 파일당 95 MB까지 추가합니다.
- 2
변환할 형식 고르기
변환할 형식에서 XLSX, CSV, JSON, XML, SQL 등 원하는 형식을 검색합니다. 구분자, 인코딩, 머리글 행, 날짜 설정은 고급 설정에 있습니다.
- 3
변환하고 가져오기
XLSX로 변환을 누르고(버튼 이름은 고른 형식에 따라 바뀝니다) 파일을 다운로드합니다. 여러 시트가 여러 파일이 되면 ZIP으로 받습니다.
스프레드시트·텍스트·코드 형식별 쓰임새
데이터 형식이 여러 가지인 이유는 프로그램마다 데이터를 읽는 방식이 다르기 때문입니다. XLSX 같은 스프레드시트는 셀, 시트, 숫자 서식을 보존합니다. 2005년 RFC 4180으로 정리된 CSV는 가장 기본적인 공통분모로, 쉼표로 값을 나눈 평범한 줄의 모음이라 어떤 데이터베이스나 회계 시스템도 가져올 수 있습니다. RFC 8259와 ECMA-404로 표준화된 JSON은 웹 API가 보내고 JavaScript가 읽는 형식입니다. XML은 JSON보다 오래되었고 지금도 세금계산서, 피드, 오피스 문서 형식에 쓰이며, YAML은 들여쓰기로 구조를 나타내는 설정 파일 형식입니다.
대부분의 변환은 이 영역들 사이를 오가는 일입니다. 분석가는 JSON으로 받은 API 내보내기를 시트로 봐야 하고(JSON 엑셀 변환), 개발자는 고객이 보낸 스프레드시트로 시드 파일을 만들어야 하며(CSV SQL 변환), 사무실에서는 목록을 내보내 다른 시스템에 넘깁니다(엑셀 CSV 변환). 각각 알맞은 기본값이 설정된 전용 페이지가 있으며, 이 글 아래에 모아 두었습니다.
변환 전에 형식별 한계를 알아 두면 좋습니다. XLSX 시트는 1,048,576행 × 16,384열까지 담지만, 예전 XLS 형식은 65,536행 × 256열에서 멈추므로 아주 큰 데이터는 XLSX, CSV, Parquet으로 보내야 합니다. 엑셀의 시트 이름은 31자로 제한되어 있어 시트 이름도 그 이상은 받지 않습니다.
지원하는 데이터 변환 조합
| from ↓ · to → | XLSX | CSV | JSON | XML | YAML | SQL | VCF | Parquet | MD |
|---|---|---|---|---|---|---|---|---|---|
| CSV/TSV | CSV/TSV to XLSX: yes | CSV/TSV to CSV: yes | CSV/TSV to JSON: yes | CSV/TSV to XML: yes | CSV/TSV to YAML: yes | CSV/TSV to SQL: yes | CSV/TSV to VCF: yes | CSV/TSV to Parquet: yes | CSV/TSV to MD: yes |
| XLSX/XLS | XLSX/XLS to XLSX: yes | XLSX/XLS to CSV: yes | XLSX/XLS to JSON: yes | XLSX/XLS to XML: yes | XLSX/XLS to YAML: yes | XLSX/XLS to SQL: yes | XLSX/XLS to VCF: yes | XLSX/XLS to Parquet: yes | XLSX/XLS to MD: yes |
| ODS/Numbers | ODS/Numbers to XLSX: yes | ODS/Numbers to CSV: yes | ODS/Numbers to JSON: yes | ODS/Numbers to XML: yes | ODS/Numbers to YAML: yes | ODS/Numbers to SQL: yes | ODS/Numbers to VCF: yes | ODS/Numbers to Parquet: yes | ODS/Numbers to MD: yes |
| JSON | JSON to XLSX: yes | JSON to CSV: yes | JSON to JSON: yes | JSON to XML: yes | JSON to YAML: yes | JSON to SQL: yes | – JSON to VCF: no | JSON to Parquet: yes | JSON to MD: yes |
| XML | XML to XLSX: yes | XML to CSV: yes | XML to JSON: yes | XML to XML: yes | XML to YAML: yes | XML to SQL: yes | – XML to VCF: no | XML to Parquet: yes | XML to MD: yes |
| YAML | YAML to XLSX: yes | YAML to CSV: yes | YAML to JSON: yes | YAML to XML: yes | YAML to YAML: yes | YAML to SQL: yes | – YAML to VCF: no | YAML to Parquet: yes | YAML to MD: yes |
| VCF | VCF to XLSX: yes | VCF to CSV: yes | VCF to JSON: yes | VCF to XML: yes | – VCF to YAML: no | VCF to SQL: yes | VCF to VCF: yes | – VCF to Parquet: no | VCF to MD: yes |
| SQL | SQL to XLSX: yes | SQL to CSV: yes | SQL to JSON: yes | SQL to XML: yes | – SQL to YAML: no | SQL to SQL: yes | – SQL to VCF: no | SQL to Parquet: yes | SQL to MD: yes |
| Parquet | Parquet to XLSX: yes | Parquet to CSV: yes | Parquet to JSON: yes | Parquet to XML: yes | – Parquet to YAML: no | Parquet to SQL: yes | – Parquet to VCF: no | Parquet to Parquet: yes | Parquet to MD: yes |
| HTML/PDF 표 | HTML/PDF 표 to XLSX: yes | HTML/PDF 표 to CSV: yes | HTML/PDF 표 to JSON: yes | HTML/PDF 표 to XML: yes | – HTML/PDF 표 to YAML: no | HTML/PDF 표 to SQL: yes | – HTML/PDF 표 to VCF: no | HTML/PDF 표 to Parquet: yes | HTML/PDF 표 to MD: yes |
출력 형식별 데이터 변환 설정
구분자로 나뉜 텍스트를 읽고 쓸 때 적용되는 설정입니다.
- 구분자: 자동 감지, 쉼표, 세미콜론, 탭, 파이프, 공백 중에서 고릅니다. 자동 감지는 입력 파일의 구분자를 읽고 출력은 쉼표로 씁니다.
- 텍스트 인코딩: 기본값은 UTF-8입니다. Windows용 엑셀에는 UTF-8 (BOM 포함)을, 오래된 시스템에는 UTF-16이나 레거시 코드 페이지를 씁니다.
- 첫 행을 머리글로 사용: 열 이름이 JSON 키, XML 태그, SQL 열, vCard 필드가 됩니다.
- 모든 값에 따옴표: 엄격한 가져오기 도구를 위해 모든 필드를 큰따옴표로 감쌉니다.
엑셀, ODS, Numbers 입력과 출력에 적용됩니다.
- 변환할 시트: 첫 시트만, 또는 모든 시트를 변환합니다. 모든 시트는 시트마다 CSV 하나씩 ZIP으로 묶이거나 시트마다 JSON 키 하나가 됩니다.
- 시트 이름: 새 통합 문서의 탭 이름이며 기본값은 Sheet1입니다.
코드와 데이터베이스용 구조 옵션입니다.
- 보기 좋게 정렬: 들여쓰기한 읽기 쉬운 JSON, XML, YAML을 만듭니다. 끄면 압축된 출력이 나옵니다.
- JSON 구조: 행마다 키가 있는 객체 배열, 또는 더 간결한 배열의 배열 중에서 고릅니다.
- XML 루트 태그: 바깥 요소로, 기본값은 rows이고 레코드마다 row 요소가 됩니다.
- SQL 테이블 이름과 SQL 방언: MySQL, PostgreSQL, SQLite, SQL Server 중에서 고릅니다.
모든 셀에 적용되는 정리 작업입니다.
- 날짜: 그대로 유지, ISO 8601(2026-10-18), 18/10/2026, 10/18/2026, Unix 타임스탬프 중에서 고릅니다.
- 공백 제거: 앞뒤 공백을 지웁니다. 조회 함수가 실패하는 흔한 원인입니다.
- Data URI 접두사: Base64 출력에만 해당하며 data:image/png;base64, 처럼 알맞은 형식의 접두사를 붙입니다.
CSV 한 행을 JSON으로 변환한 결과
[
{
"id": 1,
"name": "Ana",
"city": "리스본"
}
]데이터 가져오기 오류 해결 방법
엑셀에서 한글이나 악센트 문자가 깨져 보입니다
Windows용 엑셀이 레거시 인코딩으로 추측한 것입니다. 텍스트 인코딩을 UTF-8 (BOM 포함)으로 두고 다시 변환하세요.
가져온 뒤 날짜의 일과 월이 뒤바뀌었습니다
대상 프로그램이 03/04를 반대로 읽었습니다. 날짜를 ISO로 두면 어떤 데이터베이스와 언어도 똑같이 읽습니다.
값이 똑같아 보이는데 조회가 실패합니다
셀 끝에 보이지 않는 공백이 있습니다. 공백 제거를 켜 두세요.
첫 번째 데이터 행이 열 이름이 되어 버렸습니다
파일에 머리글 행이 없습니다. 첫 행을 머리글로 사용을 끄면 1행이 데이터로 남습니다.
SQL 파일을 가져오다 오류가 납니다
방언이 데이터베이스와 맞지 않습니다. 알맞은 SQL 방언을 고르고 SQL 테이블 이름에는 영문자, 숫자, 밑줄만 쓰세요.
데이터 변환 자주 묻는 질문
JSON 파일을 엑셀에서 열려면 어떻게 하나요?
JSON 파일을 업로드해 XLSX로 변환하세요. 객체 배열은 객체 하나가 한 행이 되고 키가 열 머리글이 되며, 중첩된 객체는 펼쳐져 여러 열로 들어갑니다. 중첩 배열을 어떻게 처리하는지는 JSON 엑셀 변환에서 설명합니다.
CSV 파일을 엑셀에서 열면 한 열에 몰려 보이는 이유는?
엑셀은 시스템 지역 설정의 목록 구분 기호를 씁니다. 독일, 프랑스, 브라질처럼 소수점을 쉼표로 쓰는 나라에서는 세미콜론을 기대합니다. 구분자를 세미콜론으로 바꿔 다시 변환하거나, 엑셀의 데이터 탭에서 가져오기로 구분 기호를 직접 고르세요.
Parquet 옵션은 어떤 용도인가요?
Parquet은 데이터 웨어하우스와 Spark, pandas, DuckDB 같은 도구가 쓰는 Apache의 열 지향 형식입니다. 열 단위로 묶어 저장하고 압축률이 좋아서 큰 CSV가 크게 줄어드는 경우가 많습니다. 분석 파이프라인용이면 Parquet으로 변환하고, 반대로 스프레드시트에서 읽으려면 Parquet CSV 변환을 쓰세요.
엑셀에 정리한 연락처를 휴대폰으로 옮길 수 있나요?
네. 이름, 전화번호, 이메일을 머리글 행이 있는 열에 정리하고 시트를 VCF로 변환한 뒤, .vcf 파일을 Google 주소록, iCloud, Outlook으로 가져오면 됩니다. 머리글 이름은 RFC 6350에 정의된 vCard 필드에 대응됩니다. 반대로 휴대폰 연락처를 시트로 내보내려면 VCF CSV 변환을 이용하세요.
SQL 방언은 무엇을 골라야 하나요?
가져올 데이터베이스에 맞춰 MySQL, PostgreSQL, SQLite, SQL Server 중에서 고릅니다. 이름을 감싸는 방식(MySQL은 백틱, PostgreSQL과 SQLite는 큰따옴표, SQL Server는 대괄호)과 열 타입이 서로 달라서, 맞는 방언을 골라야 가져올 때 문법 오류가 나지 않습니다.
Base64로 인코딩한 텍스트가 원본 파일보다 큰 이유는?
RFC 4648에 정의된 Base64는 3바이트를 텍스트 4글자로 적기 때문에 결과가 입력보다 약 3분의 1 커집니다. 파일을 HTML, CSS, JSON, 이메일 본문에 그대로 붙여 넣을 수 있는 대가입니다. Data URI 접두사를 켜면 img src에 바로 넣을 수 있는 문자열을 얻습니다.
PDF 안에 있는 표를 CSV로 바꿀 수 있나요?
텍스트가 실제로 들어 있는 PDF라면 가능합니다. PDF를 업로드하고 CSV나 XLSX를 고르면 페이지마다 표를 찾아냅니다. 스캔한 PDF나 표를 찍은 사진이라면 OCR로 먼저 표를 읽는 이미지 엑셀 변환을 쓰세요.
데이터 변환 도구 전체
요구받은 목표값에 맞는 페이지를 고르세요. 아래 페이지는 모두 같은 도구이며 기본값만 다릅니다.
- CSV 마크다운 표 변환기CSV를 GitHub, GitLab, Obsidian, Jupyter용 Markdown 파이프 표로 변환합니다. 파이프 이스케이프, 머리글 유지, 모든 구분자 지원. 결과를 문서에 바로 붙여 넣으세요.
- CSV Parquet 변환기CSV를 열 타입과 압축을 갖춘 Apache Parquet로 변환해 pandas, DuckDB, Spark, BigQuery, Athena에서 바로 씁니다. Python이나 Spark 설치가 필요 없습니다.
- CSV SQL 변환기CSV를 SQL로 변환합니다. MySQL, PostgreSQL, SQLite, SQL Server용 CREATE TABLE과 INSERT 문을 원하는 테이블 이름으로 만듭니다. 계정 불필요.
- CSV TXT 변환기텍스트 파일만 받는 업로드 양식, Excel로 열면 안 되는 수신자, 모든 텍스트 편집기를 위해 CSV를 .txt 파일로 변환합니다. 한 번에 20개 파일.
- CSV VCF 변환기CSV 연락처 목록을 iPhone, iCloud, Android, Google 주소록용 VCF 파일로 변환합니다. 머리글 이름에 따라 열이 vCard 필드에 매핑됩니다. 계정 불필요.
- CSV XLS 변환CSV를 구형 시스템이 요구하는 엑셀 97–2003 XLS로 변환합니다. 구분자 자동 감지, 한 번에 최대 20개 파일.
- CSV XLSX 변환CSV를 엑셀 XLSX로 변환하면서 앞자리 0, 긴 ID, 악센트 문자를 그대로 지킵니다. 쉼표·세미콜론·탭 파일을 자동 감지합니다.
- CSV XML 변환CSV 행을 원하는 루트 태그의 올바른 XML로 변환합니다. 특수문자 이스케이프, 구분자 감지, UTF-8 출력, 한 번에 최대 20개.
- 엑셀 CSV 변환엑셀 통합 문서(XLS, XLSX, XLSM)의 시트를 각각 CSV 파일로 변환합니다. 쉼표·세미콜론 구분자, 엑셀에서 깨지지 않는 UTF-8 지원.
- 엑셀 JSON 변환엑셀 시트를 온라인에서 JSON으로 변환합니다. 머리글 행은 키, 각 행은 객체, 날짜는 ISO 문자열. XLSX, XLS, ODS, Numbers 지원.
- 엑셀 SQL 변환엑셀 시트를 MySQL, PostgreSQL, SQLite, SQL Server용 SQL 스크립트로 변환합니다. 머리글은 열, 각 행은 INSERT 문이 됩니다.
- 엑셀 VCF 변환엑셀 연락처 목록을 .vcf vCard 파일로 변환해 iPhone, Android, Google 주소록, iCloud로 가져옵니다. XLSX, XLS, ODS, Numbers 지원.
- 엑셀 XML 변환XML 맵이나 개발 도구 탭 없이 엑셀 시트를 XML로 변환합니다. 각 행은 레코드, 각 머리글은 태그가 됩니다. XLSX, XLS, ODS 지원.
- HTML CSV 변환저장한 웹 페이지의 표를 엑셀·구글 스프레드시트용 CSV로 변환합니다. 링크·스타일·숨은 서식 없이 값만 남깁니다. HTML·HTM 지원.
- HTML JSON 변환HTML 표를 JSON으로 변환합니다. 머리글 셀은 키가, 각 행은 객체가 됩니다. 저장한 .html·.htm 페이지만 올리면 되고 스크래퍼 코드는 필요 없습니다.
- 이미지 Base64 변환PNG, JPG, GIF, WebP, SVG 이미지를 data:image 접두사가 붙은 Base64 텍스트로 인코딩합니다. HTML src, CSS url(), JSON용. 최대 20장.
- JSON Base64 변환Kubernetes Secret, CI 변수, API 요청, 토큰용으로 JSON 파일을 한 줄 Base64로 인코딩합니다. 바이트 단위로 되돌릴 수 있고 data URI도 선택 가능.
- JSON CSV 변환JSON·JSON Lines를 CSV로 변환합니다. 객체마다 한 행, 중첩 필드는 열로 펼침, Excel에서 악센트 문자가 깨지지 않는 BOM 포함 UTF-8. 한 번에 20개.
- JSON 엑셀 변환JSON·JSON Lines를 엑셀 XLSX 시트로 변환합니다. 키는 열 머리글, 레코드는 행이 됩니다. 한 번에 20개 파일, 가입 불필요.
- JSON HTML 표 변환JSON을 HTML 표로 변환합니다. 키는 열 머리글, 레코드는 행이 됩니다. CMS, 이메일, 사내 페이지에 바로 붙여 넣으십시오. 코딩 불필요.
- JSON TXT 변환JSON을 텍스트 파일로 변환합니다. 한 줄에 레코드 하나, 필드는 탭이나 원하는 구분자로 나눕니다. 메모장, Excel, 명령줄 도구에서 열립니다.
- JSON XML 변환JSON을 XML로 온라인 변환합니다. 키는 요소, 배열은 반복 요소가 되고 모두 직접 정한 루트 태그 안에 들어갑니다. 들여쓰기 출력, 가입 불필요.
- JSON YAML 변환Kubernetes, GitHub Actions, Compose, Ansible 파일용으로 JSON을 YAML로 변환합니다. 들여쓰기·따옴표 안전 출력, 한 번에 20개 파일, 가입 불필요.
- Numbers CSV 변환Apple Numbers 스프레드시트를 쇼핑몰·CRM·은행 업로드용 CSV로 변환합니다. UTF-8, ISO 날짜, 시트별 CSV, 모든 기기 지원.
- Numbers 엑셀 변환Apple Numbers 스프레드시트를 Windows, Google 스프레드시트에서 열리는 Excel XLSX로 변환합니다. 모든 시트 유지, Mac 불필요.
- ODS XLSX 변환LibreOffice·OpenOffice Calc의 ODS 스프레드시트를 엑셀 XLSX로 변환합니다. 모든 시트 포함, 최대 20개, 설치 불필요.
- Parquet CSV 변환Apache Parquet 파일을 온라인에서 CSV로 변환해 엑셀, Google Sheets에서 엽니다. Python, Spark, DuckDB 불필요. 최대 20개.
- PDF CSV 변환텍스트 기반 PDF의 표를 CSV로 저장해 가계부 앱, QuickBooks, pandas, 데이터베이스로 가져옵니다. 날짜는 ISO 형식, 공백은 자동 제거.
- PDF JSON 변환PDF 속 표를 JSON으로 변환합니다. 각 행이 열 머리글을 키로 쓰는 객체가 되어 스크립트, API, 데이터베이스에 바로 씁니다. 최대 20개 PDF.
- SQL CSV 변환.sql 덤프의 INSERT 문을 Excel·Google Sheets용 CSV로 변환합니다. MySQL, phpMyAdmin, SQLite, SQL Server 지원.
- TXT CSV 변환구분자 있는 .txt 파일을 CSV로 변환합니다. 탭, 파이프, 세미콜론, 공백을 자동 감지하고 인코딩을 바로잡으며 RFC 4180에 맞게 따옴표를 붙입니다.
- TXT JSON 변환TXT를 JSON으로 변환합니다. 탭, 파이프, 쉼표, 공백으로 구분된 줄이 첫 행을 키로 하는 객체가 됩니다. 오래된 인코딩 지원, 한 번에 20개 파일.
- TXT XML 변환탭, 쉼표, 세미콜론, 파이프로 구분된 TXT를 XML로 변환합니다. 줄마다 요소 하나, 열 이름은 태그, 루트 태그는 직접 지정. 한 번에 최대 20개 파일.
- VCF CSV 변환iPhone, Android, iCloud, Outlook의 vCard(.vcf) 연락처를 Google 주소록, Outlook.com, CRM용 CSV로 변환합니다. 2.1–4.0 버전 지원.
- VCF 엑셀 변환VCF 연락처 파일을 엑셀 통합 문서로 변환해 주소록을 정렬하고 중복을 지우고 정리합니다. 전화번호는 텍스트로 유지, 연락처당 한 행, 모든 vCard 버전 지원.
- XLS XLSX 변환Excel 97–2003 .xls 통합 문서를 .xlsx로 온라인 변환. 모든 시트 유지, 65,536행 한계 해제, 엑셀 설치 불필요. 한 번에 20개.
- XLSX CSV 변환XLSX를 쇼핑몰·메일링·CRM·DB 가져오기용 UTF-8 CSV로 무료 변환. 수식은 값으로, 날짜는 ISO 형식으로.
- XLSX XLS 변환XLSX를 Excel 2003, 구형 ERP, XLSX를 거부하는 포털용 XLS로 무료 변환. 모든 시트 유지, 한 번에 20개.
- XML CSV 변환XML 피드, 송장, 시스템 내보내기를 CSV로 무료 변환. 반복 레코드는 행, 하위 태그는 열. 최대 20개, 파일당 95 MB.
- XML 워드 변환XML을 워드로 무료 변환. 반복 레코드는 인쇄·메모·전송할 수 있는 .docx 표의 행으로, 요소와 속성은 열로.
- XML 엑셀 변환XML 송장, 은행 거래 내역, 상품 피드, 시스템 내보내기를 엑셀 XLSX 표로 무료 변환. XML 맵·개발 도구 탭 불필요, Mac에서도 가능.
- XML JSON 변환XML을 읽기 쉬운 JSON으로 무료 변환. 속성은 @ 키, 반복 태그는 배열, 텍스트는 그대로. SOAP 응답, 피드, 레거시 내보내기용.
- YAML JSON 변환.yaml·.yml 파일을 API, 검증기, JSON 전용 도구용 JSON으로 무료 변환. 기본 들여쓰기 정렬, 한 번에 20개, 30분 뒤 파일 삭제.