마크다운 표와 CSV·엑셀을 서로 바꾸고, 칸이 어떻게 나뉘는지 보여 줍니다
마크다운 표 CSV 변환기는 |와 ---로 적은 마크다운 표를 CSV·엑셀 파일로 바꾸고, 반대로 CSV나 엑셀에서 복사한 칸을 마크다운 표로 바꾸는 도구입니다. 표만 따로 잘라 넣지 않아도 됩니다. 문서 전체를 붙여 넣으면 GitHub이 표로 그리는 부분(GFM 표)을 모두 찾아내고, 표마다 바로 위 제목을 이름으로 붙입니다.
원문의 형식은 저절로 알아봅니다. 마크다운 표가 있으면 CSV로, 쉼표·세미콜론·탭으로 나뉜 글이면 마크다운 표로 바꾸며, 가운데 표에서 칸이 제대로 나뉘었는지 곧바로 보여 줍니다. 마크다운으로 쓸 때는 열 너비를 맞춰 줄을 가지런히 하고, 엑셀로 저장할 때는 표마다 시트를 하나씩 만들어 숫자 칸을 숫자로 넣습니다.
이럴 때 씁니다
- AI 답변의 표를 엑셀·구글 시트로 옮길 때: 복사 단추가 답변을 마크다운 원문으로 넘기는 서비스에서는 표가
| 요금제 | 월 요금 |같은 글자로 들어옵니다. 그대로 시트에 붙이면 한 칸에 몰리지만, 여기서 '표로 복사'를 누르면 칸이 나뉜 채로 붙고 '엑셀'을 누르면 .xlsx 파일이 됩니다.**굵게**같은 서식 기호는 지우고 글자만 남깁니다. - 엑셀 표를 README·이슈·위키에 붙일 때: 시트에서 칸을 선택해 복사하면 탭으로 나뉜 글자가 클립보드에 들어갑니다. 그 글자를 붙여 넣으면 마크다운 표가 되고, 숫자만 있는 열은 오른쪽 정렬(
---:)로 시작합니다. - 한 문서에 흩어진 표를 한 파일로 모을 때: 회의록이나 보고서에 표가 여러 개 있으면 엑셀 파일 하나에 표마다 시트를 만들고, 시트 이름은 표 바로 위 제목으로 붙입니다.
- 마크다운 표를 읽기 쉽게 다듬을 때: 마크다운에서 마크다운으로 바꾸면 열 너비를 맞춰 세로줄을 가지런히 합니다. 한글은 영문 두 글자 폭으로 세므로 고정폭 글꼴 편집기에서 줄이 맞습니다.
- 표가 깨지는 이유를 찾을 때: 구분 줄의 칸 수가 머리글과 다르거나 구분 줄이 빠지면 GitHub에서는 표가 아니라 글자로 보입니다. 이 도구는 몇 번째 줄이 문제인지 알려 주고, 단추 하나로 구분 줄을 고칩니다.
쓰는 법
- 원문 넣기: 마크다운 문서나 표, CSV, 엑셀·구글 시트에서 복사한 칸을 원문 칸에 붙여 넣습니다. MD·CSV·TSV·TXT 파일은 '파일 열기'로 고르거나 칸에 끌어다 놓습니다. 처음 보이는 예시는 원문 칸을 누르면 모두 선택되어 붙여 넣는 즉시 바뀝니다.
- 읽은 형식 확인: '자동' 단추 옆에 알아본 형식(표 개수, CSV 구분 문자, TSV)이 나옵니다. 다르게 읽혔으면 마크다운·CSV·TSV를 직접 고릅니다. CSV를 읽을 때는 첫 행을 머리글로 쓸지 정할 수 있습니다.
- 바꿀 형식과 표 고르기: '마크다운 표'나 'CSV'를 고릅니다. 문서에 표가 여러 개면 표 이름 단추를 누르거나, 원문 칸에서 원하는 표 안을 누릅니다.
- 정렬 정하기: 표 맨 위 열 머리(A, B, C…)를 누를 때마다 정렬 없음 → 왼쪽 → 가운데 → 오른쪽 순서로 바뀌고, 마크다운 구분 줄과 엑셀 칸 정렬에 함께 반영됩니다.
- 가져가기: '복사'는 아래 원문을, '표로 복사'는 엑셀·시트·문서에 붙일 표를 클립보드에 넣습니다. 저장 단추는 .md·.csv·.tsv 파일을, '엑셀'은 .xlsx 파일을 만듭니다. 입력한 내용은 서버로 보내지 않고 저장하지도 않습니다.
GitHub 마크다운 표(GFM) 문법
GitHub과 여러 메모 앱이 따르는 GFM 명세의 표 규칙입니다. 이 도구는 문서에서 표를 찾을 때 이 규칙을 그대로 적용합니다.
| 요소 | 규칙 | 예 |
|---|---|---|
| 머리글 줄 | 첫 줄의 칸이 열 이름이 됩니다. 비워 둔 칸도 열로 셉니다. | | 이름 | 지역 | |
| 구분 줄 | 머리글 바로 아래에 칸마다 하이픈을 둡니다. 칸 수가 머리글과 같아야 표가 됩니다. | | --- | --- | |
| 정렬 | 콜론 위치로 정합니다. 콜론이 없으면 정렬을 정하지 않은 열입니다. | :--- 왼쪽, :---: 가운데, ---: 오른쪽 |
양 끝 | | 줄 처음과 끝의 |는 없어도 되지만 열 사이의 |는 있어야 합니다. | 이름 | 지역 |
칸 안 | | \|로 씁니다. 백틱으로 감싼 코드 안에서도 같습니다. | `a\|b` |
| 칸 안 서식 | 굵게·기울임·코드·링크를 쓸 수 있고, 칸 안 줄바꿈은 <br>로 적습니다. | **중요**, 첫 줄<br>둘째 줄 |
| 칸 수가 다른 줄 | 모자란 칸은 빈 칸으로 채우고 넘친 칸은 버립니다. | 2열 표의 | a | b | c |는 c를 버림 |
| 표가 끝나는 곳 | 빈 줄, 또는 제목·인용·목록·코드 블록처럼 다른 블록이 시작하는 줄에서 끝납니다. | # 다음 절, - 목록 |
두 형식 사이에서 바뀌는 것
| 항목 | 마크다운 → CSV·엑셀 | CSV·엑셀 → 마크다운 |
|---|---|---|
| 칸 나누기 | |를 쉼표로(세미콜론·탭도 고를 수 있음) | 구분 문자를 |로 |
칸 안 | | \|를 |로 풂 | |를 \|로 씀 |
| 쉼표·큰따옴표 | 그 칸을 큰따옴표로 감싸고 칸 안 "는 ""로 씀(RFC 4180) | 따옴표를 풀어 글자만 남김 |
| 칸 안 줄바꿈 | <br>을 칸 안 줄바꿈으로(서식 기호 지우기를 켰을 때) | 줄바꿈을 <br>로 |
| 정렬 | CSV에는 담기지 않고 엑셀에서는 칸 정렬로 | 숫자만 있는 열은 오른쪽 정렬로 시작 |
| 서식 기호 | **굵게**·`코드`·링크 기호를 지우고 글자만 남김(끌 수 있음) | 서식으로 읽힐 *·_·~ 같은 기호 앞에 \를 붙여 글자 그대로 보이게 함(끌 수 있음) |
| 머리글 | 마크다운 머리글 줄이 첫 행 | 첫 행을 머리글로 쓰고, 끄면 '열 1, 열 2…'를 만듦 |
| 칸 수가 다른 행 | GFM 규칙대로 채우거나 버리고 표에 표시 | 가장 긴 행에 맞춰 빈 칸으로 채움 |
예시: 같은 표가 바뀌는 모습
CSV → 마크다운 표
쉼표가 든 칸은 큰따옴표로 감싸고, 칸 안 큰따옴표는 두 번 쓴 CSV입니다.
상품,가격,메모
"키보드, 무선",45000,"""저소음"" 스위치"
마우스,19000,버튼 6개 | 좌우 대칭
USB 허브,12500,*4포트* 확장
마크다운 표로 바꾸면 따옴표가 풀리고, 칸 안 |는 \|로, 기울임으로 읽힐 *4포트*는 \*4포트\*로 바뀝니다. 가격 열은 숫자만 있어서 오른쪽 정렬로 시작합니다.
| 상품 | 가격 | 메모 |
| ------------ | ----: | --------------------- |
| 키보드, 무선 | 45000 | "저소음" 스위치 |
| 마우스 | 19000 | 버튼 6개 \| 좌우 대칭 |
| USB 허브 | 12500 | \*4포트\* 확장 |
마크다운 표 → CSV
굵게·코드·링크와 칸 안 줄바꿈, 이스케이프한 |가 섞인 마크다운 표입니다.
| 항목 | 금액 | 메모 |
| :--- | ---: | --- |
| **교통비** | 12,000 | 택시<br>(심야) |
| 회의 다과 | 8,500 | 커피 \| 쿠키 |
| `조정` | -3,000 | [환불](https://example.com) 반영 |
서식 기호 지우기를 켠 기본 설정에서는 기호가 빠지고 <br>이 칸 안 줄바꿈이 되며, 쉼표나 줄바꿈이 든 칸은 큰따옴표로 감쌉니다.
항목,금액,메모
교통비,"12,000","택시
(심야)"
회의 다과,"8,500",커피 | 쿠키
조정,"-3,000",환불 반영
서식 기호 지우기를 끄면 **교통비**, 택시<br>(심야), [환불](https://example.com) 반영처럼 원문 기호가 그대로 들어갑니다. 엑셀로 저장하면 12,000과 -3,000은 숫자 칸(#,##0 서식)이 되어 합계를 바로 낼 수 있습니다.
열 너비 맞춤과 글자 폭
열 너비 맞춤은 칸마다 공백을 채워 세로줄 |가 한 줄로 서게 하는 기능입니다. 고정폭 글꼴에서 한글·한자·일본 가나와 대부분의 그림 문자는 영문 두 글자 폭으로 그려지므로, 유니코드 UAX #11(동아시아 글자 폭)이 '넓은 글자'로 분류한 문자는 2칸, 결합 문자는 0칸으로 셉니다. 위 예시에서 '키보드, 무선'은 12칸, 'USB 허브'는 8칸이라 뒤에 공백 4칸이 붙었습니다.
- ①·“” 같은 '애매한 폭' 글자는 1칸으로 셉니다. 한국어 글꼴에서 이 글자를 넓게 그리는 편집기에서는 그 줄만 조금 어긋나 보일 수 있습니다.
- 비례 글꼴 화면에서는 공백 폭이 글자마다 달라 줄이 맞지 않아 보입니다. 공백은 표 모양에 영향을 주지 않으므로 GitHub 같은 곳에서 그린 표는 맞춤을 켜든 끄든 같습니다.
- 칸이 아주 길면 모든 줄이 그 폭만큼 길어집니다. 원문 길이가 중요하면 '열 너비 맞춤'을 꺼서
| a | b |처럼 간결하게 씁니다.
엑셀·구글 시트로 가져갈 때
CSV 저장과 BOM
CSV는 UTF-8로 저장합니다. Microsoft 지원 문서에 따르면 BOM(UTF-8 표시)이 붙은 UTF-8 CSV는 엑셀에서 그대로 열리고, BOM이 없으면 데이터 > 데이터 가져오기 > 텍스트/CSV에서 UTF-8로 가져오면 됩니다. 그래서 'BOM'은 기본으로 켜 두었습니다. BOM을 글자로 읽는 프로그램에 넣을 파일이라면 끄고 저장하세요. 소수점을 쉼표로 쓰도록 설정한 엑셀은 CSV 목록 구분 기호로 세미콜론을 쓰므로, 그런 환경에 보낼 파일은 구분 문자를 세미콜론으로 고릅니다.
엑셀 파일(.xlsx)로 저장
- 문서에 표가 여러 개면 표마다 시트를 하나씩 만들고, 표 바로 위 제목(
#제목, 밑줄 제목, 굵은 글씨 한 줄)을 시트 이름으로 씁니다. 엑셀 규칙에 맞춰/ \ ? * : [ ]는 공백으로 바꾸고 31자에서 자르며, 이름이 겹치면 뒤에 '(2)'를 붙입니다. - 머리글 행은 굵게 칠하고 틀 고정을 걸며, 마크다운에서 정한 정렬을 칸 정렬로 옮깁니다.
- 9,900이나 1.50처럼 글자 그대로 되돌릴 수 있는 수는 숫자 칸으로, 0012처럼 앞자리 0이 있는 값, 12자리 이상 번호, 12% 같은 값은 글자 칸으로 넣어 모양이 바뀌지 않게 합니다.
- 엑셀 한 칸에는 32,767자까지 들어가므로 그보다 긴 칸은 잘라 넣고 상태 줄에 알립니다(엑셀 사양 한도는 1,048,576행 × 16,384열).
표로 복사
'표로 복사'는 클립보드에 HTML 표와 탭으로 나뉜 글자를 함께 넣습니다. 엑셀·구글 시트에 붙이면 칸이 나뉘고, 구글 문서·워드 같은 문서 편집기에 붙이면 표가 됩니다. 아래 수식 보호에 걸린 칸이 있으면 HTML 표는 넣지 않고 탭으로 나뉜 글자만 넣습니다.
수식 보호
스프레드시트는 =, +, -, @로 시작하는 칸을 수식으로 실행할 수 있습니다. OWASP는 이런 칸(탭·줄바꿈으로 시작하는 칸과 전각 =+-@ 포함)을 따옴표로 감싸고 맨 앞에 탭 문자를 넣는 방식을 엑셀에 맞는 대응으로 소개합니다. 이 도구도 '수식 보호'가 켜져 있으면 =1+1을 "⇥=1+1"(⇥는 탭)로 씁니다. 한 글자 칸과 -3,000 같은 부호 있는 숫자는 그대로 둡니다. 다만 OWASP는 엑셀에서 파일을 다시 저장하면 이런 보호가 풀릴 수 있다고도 적고 있고, 칸 글자에 탭이 더해지므로 다른 프로그램이 읽을 CSV라면 끄는 편이 맞습니다.
자주 틀리는 경우
- 구분 줄 칸 수가 머리글과 다를 때:
| a | b | c |아래에|---|---|를 두면 표가 아니라 글자로 보입니다. 이 도구는 그 줄 번호를 알려 주고 '구분 줄 고치기'로 칸 수를 맞춥니다. - 표 바로 아래에 빈 줄 없이 문장을 쓸 때:
|가 없는 문장도 표의 마지막 행으로 들어갑니다(GFM 명세 예시 202). 표가 끝나면 빈 줄을 하나 두세요. - 행을
-나1.로 시작할 때: 맨 앞|를 생략한 행이- 항목 | 값이나1. 준비 | 5분처럼 시작하면 목록으로 읽혀 표가 거기서 끝납니다. 행 맨 앞에|를 붙이면 됩니다. - 코드 안의
|를 그대로 둘 때: 백틱으로 감싸도|는 칸을 나눕니다.`a\|b`처럼 써야 합니다(GFM 명세 예시 200). - 표를 네 칸 이상 들여쓸 때: 들여쓴 줄은 코드 블록이 되어 표로 읽지 않습니다. 목록 안에 넣을 표는 목록 글자 위치에 맞춰 들여씁니다.
- 하이픈을 하나만 쓸 때: GFM 명세는
|-|-|도 표로 받지만 GitHub 도움말은 하이픈 세 개 이상을 적어 두었습니다. 이 도구는 쓸 때 언제나 세 개 이상으로 씁니다. 같은 도움말은 표 앞에 빈 줄을 두라고 하므로, 결과를 문서에 붙일 때 앞에 빈 줄을 남기세요. - CSV를 엑셀에서 바로 열 때: 0012는 12로, 12자리 이상 번호는 지수 표기로 바뀔 수 있습니다. 모양을 지켜야 하면 .xlsx로 저장하세요. 이 값들은 글자 칸으로 들어갑니다.
한계
- 마크다운 표에는 병합 셀과 여러 줄짜리 칸이 없어서, 엑셀의 병합 셀은 펼친 칸으로만 옮길 수 있습니다. HTML
<table>은 읽지 않으므로 HTML 표는 HTML Markdown 변환기로 먼저 바꾸세요. - 표 찾기는 GitHub이 쓰는 GFM 규칙을 따릅니다. 다른 편집기는
|만 있는 줄이나 목록처럼 시작하는 줄을 다르게 읽을 수 있습니다. 목록 안에서 깊이 들여쓴 표는 찾지 못할 수 있습니다. - 서식 기호 지우기와 표 미리 보기는 흔한 표기(굵게·기울임·취소선·코드·링크·그림·
<br>·HTML 태그·문자 참조)만 다룹니다.2*3*4처럼 낱말 안의 별표는 지우지 않으므로, GitHub에서 기울임으로 그려지는 일부 표기와 미리 보기 모양이 다를 수 있습니다. - 마크다운 표의 칸 앞뒤 공백은 사라지므로, CSV 값의 앞뒤 공백은 마크다운으로 옮기면 보이지 않습니다.
- 파일은 10 MB, 표는 50만 칸·1,000열까지 읽습니다. 표 미리 보기는 앞 200행·40열, 원문 보기는 앞 400줄까지 그리며 복사·저장에는 전부 들어갑니다.
- 파일은 BOM·UTF-8·UTF-16으로 읽고, UTF-8로 읽히지 않는 바이트가 많으면 EUC-KR로 읽습니다. 엑셀 통합 문서(.xlsx·.xls)는 직접 읽지 않으니 엑셀에서 표를 복사해 붙여 넣으세요.
출처
기준: 표 문법은 GFM 0.29-gfm 명세와 GitHub 도움말, CSV 규칙은 RFC 4180, 수식 보호는 OWASP, 엑셀 동작과 한도는 Microsoft 지원 문서를 2026년 10월 22일에 확인했습니다. 표 찾기와 이스케이프 결과는 marked(GFM)와 markdown-it으로 다시 그려 대조했습니다.
- 01GitHub Flavored Markdown Spec 0.29-gfm — Tables (extension)머리글·구분 줄·정렬, 칸 안 \|(코드 안 포함, 예시 200), 표가 끝나는 곳(예시 201·202), 칸 수가 다른 행(예시 204)
- 02GitHub Flavored Markdown Spec 0.29-gfm — Strikethrough (extension)물결표 하나 짝도 취소선(예시 491): CSV 값의 ~ 를 이스케이프하는 근거
- 03GitHub Docs — Organizing information with tables하이픈 세 개 이상, 표 앞 빈 줄, 정렬 콜론, \| 이스케이프
- 04CommonMark Spec 0.31.2역슬래시 이스케이프, 강조(* _)와 코드·링크·자동 링크·HTML·문자 참조
- 05RFC 4180 — Common Format and MIME Type for CSV Files쉼표·큰따옴표·줄바꿈이 든 칸의 인용, CRLF 줄 끝
- 06OWASP — CSV Injection수식으로 시작하는 문자 목록, 따옴표 안 탭 대응과 다시 저장할 때의 한계
- 07Microsoft 지원 — Opening CSV UTF-8 files correctly in ExcelBOM이 있는 UTF-8 CSV와 텍스트/CSV 가져오기
- 08Microsoft 지원 — Import or export text (.txt or .csv) files소수점을 쉼표로 바꾸면 CSV 목록 구분 기호가 세미콜론이 됨
- 09Microsoft 지원 — Excel specifications and limits1,048,576행 × 16,384열, 한 칸 32,767자
- 10Microsoft 지원 — Rename a worksheet시트 이름 31자, / \ ? * : [ ] 금지, 앞뒤 작은따옴표 금지, History 금지
- 11Unicode Standard Annex #11 — East Asian Width넓은 글자(W·F)와 애매한 폭(A) 분류
자주 묻는 질문
마크다운 표를 엑셀로 옮기려면 어떻게 하나요?
표를 붙여 넣고 '엑셀'을 누르면 .xlsx 파일로 저장됩니다. 파일 없이 바로 옮기려면 '표로 복사'를 누른 뒤 엑셀이나 구글 시트의 칸에 붙여 넣으세요. 문서에 표가 여러 개면 엑셀 파일에는 표마다 시트가 하나씩 들어갑니다.
엑셀·구글 시트의 표를 마크다운 표로 바꾸려면?
시트에서 칸을 선택해 복사한 뒤 원문 칸에 붙여 넣으세요. 복사한 칸은 탭으로 나뉜 글자(TSV)로 들어오므로 자동으로 알아보고 마크다운 표로 바꿉니다. 숫자만 있는 열은 오른쪽 정렬로 시작하고, 열 머리를 눌러 바꿀 수 있습니다.
구분 줄의 콜론(:)은 무엇을 뜻하나요?
열 정렬입니다. :--- 는 왼쪽, :---: 는 가운데, ---: 는 오른쪽이고 콜론이 없으면 정렬을 정하지 않은 것입니다. CSV에는 정렬이 없어 콜론이 값으로 들어가지 않으며, 엑셀 파일로 저장할 때는 칸 정렬로 옮깁니다.
칸 안에 | 문자를 넣으려면 어떻게 쓰나요?
마크다운 표에서는 \|로 써야 칸이 나뉘지 않습니다. 백틱으로 감싼 코드 안에서도 같습니다. 이 도구는 마크다운을 읽을 때 \|를 |로 풀고, 마크다운으로 쓸 때 다시 \|로 바꿉니다.
열 너비 맞춤에서 한글은 몇 칸으로 세나요?
한글·한자·일본 가나와 그림 문자는 고정폭 글꼴에서 영문 두 글자 폭이라 2칸으로 세어 공백을 채웁니다(유니코드 UAX #11). 비례 글꼴에서는 줄이 조금 어긋나 보일 수 있지만, 공백은 표 모양에 영향을 주지 않아 GitHub 같은 곳에서 보이는 결과는 같습니다.
엑셀에서 CSV를 열면 한글이 깨지는 이유는?
UTF-8 CSV 앞에 BOM이 없으면 엑셀이 다른 인코딩으로 읽을 수 있습니다. 'BOM'을 켠 채 저장하면 엑셀에서 바로 열리고, 끄고 저장한 파일은 데이터 > 텍스트/CSV에서 UTF-8을 골라 가져오면 됩니다. .xlsx로 저장하면 인코딩 문제가 생기지 않습니다.
수식 보호를 켜면 값이 어떻게 바뀌나요?
=, +, -, @로 시작하는 칸은 엑셀이 수식으로 실행할 수 있어서 OWASP 권고대로 따옴표 안 맨 앞에 탭 문자를 넣습니다. 한 글자 칸과 -5 같은 부호 있는 숫자는 그대로 둡니다. 칸 글자가 바뀌므로 다른 프로그램이 읽을 CSV라면 끄세요.
서식 기호 지우기는 무엇을 지우나요?
엑셀·CSV·표로 복사할 때 **굵게**, `코드`, ~~취소선~~, [링크](주소)의 기호를 지우고 글자만 남기며, <br>은 칸 안 줄바꿈으로 바꿉니다. 2*3*4처럼 낱말 안 별표와 10~20 같은 물결표 하나는 그대로 둡니다. 마크다운 표로 쓸 때는 지우지 않습니다.