Markdown table generator | Tạo bảng MD từ hàng/cột Excel·CSV không bị lệch【2026】
Đừng đếm dấu | bằng tay khi bảng có từ 4–5 cột trở lên. Soạn hàng/cột trên Excel hoặc Sheets, dán vào Tạo bảng Markdown, lấy output đã có header + --- + escape |, rồi preview trên GitHub. Generator chạy trong trình duyệt — nhanh hơn viết pipe thủ công và ít lệch cột hơn.
Developer / freelancer Việt Nam hay gặp cảnh này: PM gửi bảng so sánh gói trên Sheets, bạn cần nhét vào README, Issue GitHub, hoặc HackMD trước standup. Gõ tay | Free | Pro | lần đầu ổn; lần thứ ba thêm cột “Enterprise” là một hàng thiếu pipe và cả PR preview vỡ.
Markdown table generator giải bài toán đó: nhận dữ liệu hàng/cột (paste UI), xuất cú pháp GFM chuẩn. Bài này tập trung luồng từ lưới Excel → Markdown, lỗi thường gặp, và checklist trước khi paste — không phải lý thuyết “bảng Markdown là gì” chung chung.
Bài viết này giúp bạn
- Hiểu generator nhận tab / CSV và pad cột như thế nào
- Quy trình 5 phút: Sheets → paste → convert → preview
- Ví dụ cụ thể (bảng feature, checklist API) kèm output
- Sửa alignment (
:---) sau khi generate - Biết khi nào nên dừng table và chuyển CSV (xem bài so sánh riêng)
Markdown table generator làm gì?
Generator không thay editor Markdown. Nó chỉ làm một việc đáng tin: từ block text dạng bảng, sinh:
- Hàng header (tên cột)
- Hàng separator
| --- | --- | - Các hàng body với cùng số cột, escape
|trong cell thành\|
Cấu trúc tối thiểu hợp lệ (GFM):
| Endpoint | Method | Auth |
| -------- | ------ | ---- |
| /users | GET | JWT |
| /orders | POST | JWT |
Thiếu hàng separator → GitHub thường không render thành table. Số | lệch giữa các hàng → cột trôi hoặc ô “nuốt” sang cột bên.
Paste UI: hàng/cột từ đâu?
Trên công cụ Tạo bảng Markdown:
- Copy vùng từ Excel / Google Sheets (thường ra tab) hoặc dán CSV
- Nhấn Chuyển đổi
- Sao chép output Markdown
Không cần đăng ký. Dữ liệu không upload server — phù hợp bảng nội bộ trước khi public README.
Vì sao gõ tay hay fail (3 pattern)
| Triệu chứng | Nguyên nhân | Cách tránh |
|---|---|---|
| Không thành table | Thiếu hàng --- ngay dưới header | Luôn generate hoặc copy template đủ 3 phần |
| Cột lệch / ô dồn | Số | khác nhau giữa các hàng | Pad ô trống; dùng generator |
| Cột cắt giữa chừng | Cell có | (OR, version) chưa escape | Dùng \| — tool tự escape khi convert |
| Nhìn lệch trên editor | Tab / fullwidth space lẫn trong source | Paste từ Sheets sạch; tránh căn bằng space tay |
Case thực tế: bảng so sánh plan có cột SSO | SAML. Nếu viết SSO | SAML trong một cell mà không escape, parser tưởng thêm một cột. Generator thay bằng SSO \| SAML.
Quy trình khuyến nghị (Sheets → README)
Bước 1 — Soạn trên lưới
Giữ header ở hàng 1. Mỗi cột một ý (Feature, Free, Pro…). Tránh merge cell — Markdown table không hỗ trợ merge.
Bước 2 — Copy & dán
Chọn vùng → Copy → dán vào ô input của tool. Placeholder gợi ý dạng:
Cột 1 Cột 2 Cột 3
A B C
1 2 3
(Tab giữa các ô; mỗi hàng một dòng.)
Bước 3 — Convert & đọc nhanh output
Kiểm tra:
- Dòng 2 là separator toàn
-và| - Mọi hàng có cùng số cột
- Cell có
|đã thành\|
Bước 4 — Preview trước khi merge
Paste vào PR description hoặc file .md → xem Files changed / preview VS Code. Đừng tin vào “source nhìn thẳng hàng” trong monospaced font — renderer mới là chuẩn.
Bước 5 — Alignment (tuỳ chọn)
Output mặc định:
| Giá (VND) | Status |
| --------- | ------ |
| 199000 | OK |
Muốn số căn phải / status căn giữa, sửa separator:
| Giá (VND) | Status |
| --------: | :----: |
| 199000 | OK |
:---hoặc---→ trái:---:→ giữa---:→ phải
Tool hiện tại xuất --- (trái). Chỉnh tay vài ký tự : sau khi generate là đủ cho README.
Ví dụ 1: Bảng feature SaaS
Input (tab từ Sheets):
Tính năng Free Pro
SSO Không Có
Audit log Không Có
Seat 3 Không giới hạn
Output kỳ vọng:
| Tính năng | Free | Pro |
| --- | --- | --- |
| SSO | Không | Có |
| Audit log | Không | Có |
| Seat | 3 | Không giới hạn |
Dán vào README → reviewer đọc được ma trận mà không mở file Excel đính kèm.
Ví dụ 2: Checklist API cho Issue
Endpoint,Method,Owner,Done
/api/v1/login,POST,An,yes
/api/v1/cart,GET,Binh,no
CSV với dấu phẩy cũng được. Ô có dấu phẩy bên trong phải "như thế này". Sau convert, paste vào Issue GitHub làm acceptance checklist — rõ hơn bullet dài.
Giới hạn cần biết (để không kỳ vọng sai)
- Không multi-line trong một cell theo chuẩn pipe table — xuống dòng trong ô thường vỡ. Dùng
<br>(một số renderer) hoặc tách hàng / chuyển HTML table. - Không merge ô như Excel.
- Bảng rất rộng (20+ cột) khó đọc trên mobile GitHub — cân nhắc CSV đính kèm hoặc rút cột.
- Tiếng Việt / Unicode trong cell ổn trên GFM; tránh fullwidth
|nhìn giống pipe.
Khi dữ liệu là nguồn sự thật để import Sheets / script / Notion database → ưu tiên CSV, không nhồi README. Chi tiết tiêu chí chọn: Markdown table vs CSV. Tương thích GitHub ↔ Notion: Bảng Markdown GitHub vs Notion.
Checklist trước khi paste PR
- Hàng 1 = header có nghĩa (không để
Col1 Col2) - Có hàng
---ngay dưới header - Số cột mỗi hàng khớp (kể cả ô trống)
-
|trong nội dung đã\| - Preview GitHub/VS Code OK trên mobile hẹp nếu README public
- Không nhét PII / giá nội bộ chưa public vào README công khai
Case study ngắn
Freelancer outsource: khách gửi bảng 8 cột so sánh module trên Sheets. Gõ tay mất ~15 phút và lệch 2 hàng. Dán vào generator → 30 giây có Markdown; sửa :---: cho cột Status; preview PR xanh. Reviewer approve vì bảng đọc được ngay trong diff.
Sinh viên / đồ án: nhóm viết báo cáo Markdown trên HackMD. Copy điểm số từ Excel → convert → paste. Tránh cảnh “bảng trên local đẹp, trên HackMD thành đoạn text” vì thiếu separator.
Cách dùng nhanh trên Kawa
- Mở Tạo bảng Markdown
- Dán TSV/CSV (ưu tiên dữ liệu đã che thông tin nhạy cảm)
- Chuyển đổi → kiểm tra separator
- Sao chép → paste README / Issue / HackMD
- (Tuỳ chọn) thêm
:cho alignment, preview lại
Liên kết liên quan
- Tạo bảng Markdown — paste Excel/CSV → Markdown
- Markdown table vs CSV — khi nào giữ CSV
- Bảng Markdown GitHub vs Notion — tương thích platform
- Markdown cheatsheet — ký pháp xung quanh bảng
- Danh sách công cụ