Markdown 표 생성기

Markdown 표를 격자에서 만들거나 Excel, Google 스프레드시트, CSV, JSON, HTML을 붙여 넣어 변환합니다. 파이프와 줄바꿈을 이스케이프하고 한글도 열이 맞습니다.

  • 브라우저에서 처리
  • 데이터가 브라우저 밖으로 나가지 않습니다
  • 무료 · 회원가입 불필요
「열 맞춤」은 각 셀을 그 열에서 가장 넓은 셀의 폭까지 공백으로 채웁니다. 폭은 표시 칸 수로 세며 한글·한자·가나와 이모지는 2칸입니다. 「간결하게」는 셀 양쪽에 공백을 하나씩만 넣고 폭을 맞추지 않습니다. 「Markdown」은 입력한 그대로 쓰므로 **굵게**, `코드`, 링크가 동작합니다. 「일반 텍스트」는 Markdown이 서식으로 읽는 문자(* ` ~ [ $, 그리고 서식이 되는 위치의 _ < & \) 앞에 백슬래시를 붙여 입력한 글자가 그대로 보이게 합니다. 파이프는 두 모드 모두에서 이스케이프합니다. 표의 한 행은 한 줄에 써야 하므로 셀 안 줄바꿈(Shift+Enter)은 <br>로 씁니다. HTML을 걸러 내는 렌더러라면 「공백」을 고르세요. 「열 맞춤」 배치에만 영향을 줍니다. 켜면 글꼴에 따라 폭이 달라지는 문자(○ × ① →)를 공백으로 채울 때 2칸으로 셉니다. 끄면 1칸입니다. 편집기에서 이 문자들이 한글과 같은 폭으로 보이면 켜세요.

셀을 클릭해 입력합니다. Enter는 아래 셀로 이동하고 마지막 행에서는 행을 추가합니다. Shift+Enter는 셀 안 줄바꿈입니다. 한글 조합이나 한자 변환을 확정하는 Enter로는 셀이 이동하지 않습니다. Excel, 한셀, Google 스프레드시트, 웹 페이지에서 복사한 셀은 아무 셀에나 붙여 넣을 수 있고 표는 필요한 만큼 늘어납니다. 헤더 위의 선택 상자로 열마다 정렬을 정합니다. 기본은 ---, 왼쪽은 :---, 가운데는 :---:, 오른쪽은 ---:로 씁니다. 격자에는 처음 1,000행만 보이고 Markdown에는 모든 행이 들어갑니다.
선택한 셀을 기준으로 동작합니다. 그 셀 위치에 행·열을 추가하거나 삭제하고, 그 열을 옮기고, 그 열로 행을 정렬합니다. 열의 비어 있지 않은 셀이 모두 숫자이면 숫자로, 아니면 텍스트로 정렬하며 빈 셀은 맨 뒤에 옵니다. 「행/열 바꾸기」는 행과 열을 맞바꾸고 정렬을 기본으로 되돌립니다. 「실행 취소」는 버튼 동작, 붙여넣기, 가져오기를 최대 50단계까지 되돌립니다. 셀에 글자를 입력하는 것은 단계로 세지 않습니다. 「지우기」는 표를 3 × 3으로 되돌립니다.
Markdown 표 입력하는 대로 갱신됩니다. 「미리보기」는 GFM 파서(micromark)로 표를 그립니다. 셀에 쓴 HTML은 글자로 보이고 <br>만 줄바꿈이 됩니다. 어느 화면에서든 「Markdown 복사」와 「.md 다운로드」는 Markdown을 내보내며 파일 이름은 table.md입니다.

자세한 가이드 읽기 Markdown 테이블 생성기: CSV·JSON 가져오기 지원 비주얼 에디터
예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.

예시: 업무 현황표를 스프레드시트에서 복사

한 셀에 두 줄짜리 상태가 들어 있는 업무 표를 복사해 첫 헤더 셀에 붙여 넣으면 다음과 같습니다.

| 항목           | 담당   | 상태                |
| -------------- | ------ | ------------------- |
| 로그인 개선    | 김민준 | 진행 중             |
| 결제 오류 수정 | 이서연 | 완료<br>(배포 대기) |

셀 안의 줄바꿈은 <br>로 바뀝니다. 실제 줄바꿈은 행을 끝내기 때문입니다(GFM 사양 4.10절). 한글 한 글자를 2칸으로 세어 공백을 채우므로, 한글 고정폭 글꼴에서는 세로선이 한 줄로 맞습니다.

예시: 셸 명령이 들어간 표 정리하기

「데이터 가져오기 → Markdown 표」는 GitHub과 같은 방식으로 표를 읽고 열을 맞춰 다시 씁니다. 코드 안의 이스케이프된 파이프도 그대로 유지됩니다.

|명령|설명|
|-|-|
|`git log --oneline \| head`|최근 커밋 목록|
| 명령                        | 설명           |
| --------------------------- | -------------- |
| `git log --oneline \| head` | 최근 커밋 목록 |

GFM에서는 코드 안이라도 |를 \|로 써야 합니다. 백슬래시 없이 `a|b`라고 쓰면 GitHub, Qiita, Zenn, micromark 모두 그 자리에서 셀을 끊습니다(이 도구의 테스트에 각 렌더러의 출력을 기록해 두었습니다).

일반 텍스트 모드

셀은 기본적으로 Markdown으로 처리되어 **굵게**, `코드`, 링크를 쓸 수 있습니다. 스프레드시트 데이터의 *나 _가 서식으로 바뀌면 안 될 때는 「셀 내용」을 일반 텍스트로 바꿉니다. 5*3*2는 5\*3\*2, 맨 앞의 _id는 \_id가 되고, 단어 안의 user_id는 강조가 될 수 없으므로 그대로 둡니다. Markdown 모드에서는 출력 아래에 렌더링 결과가 입력과 다른 셀 수를 알려 줍니다.

렌더러별 차이

2026-10-02에 이 도구의 출력을 GitHub과 Gitee의 Markdown API, Qiita 렌더러(qiita_marker 0.23.9.0), Zenn 렌더러(zenn-markdown-html 0.5.4), micromark로 그려 셀 텍스트를 비교했습니다.

  • \|로 쓴 파이프는 모두 셀 안의 |입니다.
  • <br>은 모두 줄바꿈입니다(micromark는 HTML을 허용할 때).
  • x\\|y는 GitHub·Gitee·Qiita·Zenn에서 셀 하나, micromark에서 셀 두 개입니다. 도구는 이 형태를 출력하지 않고 \\\|로 씁니다.
  • 헤더보다 셀이 많은 행의 남는 셀은 모두 표시되지 않습니다. 가져올 때 도구는 그 셀을 추가 열로 남기고 알려 줍니다.

한글 열이 맞는 원리

「열 맞춤」은 각 셀을 열에서 가장 넓은 셀의 표시 폭까지 공백으로 채웁니다. 한글 음절·한자·가나·전각 문자·이모지는 2칸, 결합 문자는 0칸이며 기준은 Unicode UAX #11과 EastAsianWidth 18.0.0 데이터입니다. 계산 방식은 markdownlint MD060이 쓰는 string-width 8.1.0과 같고, 테스트에서 무작위 표 200개의 두 배치에 MD055·MD056·MD058·MD060을 적용합니다. ○ × ① → 같은 문자는 UAX #11에서 폭이 모호한 문자(동아시아 옛 문자 집합에서는 전각)라서, 편집기에서 2칸으로 보이면 해당 옵션을 켜세요.

다른 도구와 비교

2026-10-02에 같은 데이터(왼쪽 위 빈 셀, 두 줄 셀, a|b, 5*3*2, 東京)로 시험했습니다.

  • markdowntoword.org(Bing 「markdown 표 생성기」 1위)는 빈 셀 위치를 지키고 |, *, _를 모두 이스케이프하지만, 공백으로 열을 맞추지 않고 모든 열을 :---(왼쪽 정렬)로 씁니다.
  • tableconvert.com(Excel에서 변환)은 왼쪽 위 빈 셀을 버려 헤더가 한 열 밀리고, a|b도 그대로 둡니다.
  • tablesgenerator.com의 「Paste table data」는 붙여 넣은 텍스트를 폼으로 자사 서버에 POST하고, 두 줄 셀을 두 개의 행으로 나눕니다.

제한

  • 병합 셀은 만들 수 없습니다. GFM에는 colspan / rowspan이 없어서 HTML의 병합 셀은 나누고 첫 셀에 텍스트를 넣습니다.
  • 셀에는 인라인 Markdown만 쓸 수 있습니다. 목록, 인용, 코드 블록은 들어가지 않습니다.
  • 셀 앞뒤 공백은 GFM이 지우고, 탭은 공백으로 씁니다.
  • 격자에는 처음 1,000행만 보이고, Markdown 출력에는 모든 행이 들어갑니다.
  • 가져오기는 텍스트의 첫 Markdown 표, HTML의 첫 <table>만 읽습니다.
  • 가져올 텍스트를 읽을 수 없으면 아무것도 가져오지 않고, 읽을 수 있을 때까지 출력은 비어 있습니다. 문법 오류가 있는 JSON은 행과 열을 알려 줍니다(「자동 감지」에서도 텍스트가 JSON 값처럼 시작하면 같으며, [{"a":1},은 「1행 10열」). 구분 행의 셀 수가 헤더 행과 다른 Markdown 표는 그 행을 알려 줍니다. 따옴표로 시작해 닫히지 않은 CSV 필드는 그대로 가져오고 그 행을 알려 줍니다.
  • 「파일 열기」와 끌어다 놓기는 10MB 이하의 CSV, TSV, JSON, Markdown, HTML 파일 하나를 UTF-8로 읽습니다. 다른 인코딩의 파일은 열지 않습니다. Excel이 EUC-KR로 저장한, 첫 행이 name,city인 CSV는 「10번째 바이트(0부터 셈)가 올바른 UTF-8이 아니어서」라고 알려 줍니다. Excel에서 「CSV UTF-8」로 다시 저장한 뒤 여세요.

CSV를 한 방향으로만 바꿀 때는 CSV → Markdown 표, 페이지 전체는 HTML → Markdown 변환기, 문서 안에서 표가 어떻게 보이는지는 Markdown 미리보기에서 확인할 수 있습니다.

FAQ

Markdown 표 셀 안에서 줄을 바꾸려면?

GFM 표는 한 행을 한 줄에 써야 해서, 셀 안에 실제 줄바꿈이 있으면 그 행이 끊깁니다. 셀에서 Shift+Enter를 누르면 그 자리에 <br>이 들어가고, GitHub·Gitee·Qiita·Zenn에서 줄바꿈으로 보입니다. HTML을 걸러 내는 렌더러라면 「줄바꿈」을 공백으로 바꾸세요.

셀 안의 | 때문에 표가 깨지는 이유는?

이스케이프하지 않은 |는 `코드` 안에서도 새 셀을 시작합니다. 도구는 셀 안의 |를 \|로 씁니다. 백슬래시 바로 뒤의 파이프는 \\\|로 씁니다. \\|는 GitHub에서는 셀 하나, micromark(remark, MDX, Astro)에서는 셀 두 개로 나뉘기 때문입니다.

Excel이나 Google 스프레드시트에서 복사한 셀을 바로 붙여 넣을 수 있나요?

네. 아무 셀에나 붙여 넣으면 됩니다. 클립보드에 HTML 표가 있으면 그것을 읽고(병합 셀은 나누고 셀 안 줄바꿈은 유지), 없으면 탭으로 구분된 텍스트로 읽습니다. 왼쪽 위 빈 셀 같은 빈칸도 제자리에 남습니다.

편집기에서 열이 맞지 않는 이유는?

도구는 표시 폭으로 공백을 채웁니다. 한글·한자·전각 기호·이모지는 2칸입니다(Unicode UAX #11). 한글 글자가 영문의 정확히 두 배 폭인 글꼴(터미널, 한글 고정폭 글꼴)에서만 열이 맞고, 비례 글꼴에서는 맞지 않습니다.

표 내용이 서버로 전송되나요?

아니요. 편집, 가져오기, 미리보기 모두 브라우저에서 처리합니다. 이 페이지가 기기에 저장하는 것은 출력 옵션(배치, 셀 내용, 줄바꿈, 모호한 폭, Markdown / 미리보기 화면)뿐이고 표 내용은 저장하지 않습니다.