Cú pháp Markdown – bảng tra cứu nhanh
Cập nhật
Markdown là cách định dạng văn bản bằng các ký tự thông thường: # cho tiêu đề, ** cho chữ đậm, - cho danh sách. Trang này liệt kê mọi thành phần, cú pháp bên trái và kết quả hiển thị bên phải — gồm markdown cơ bản, GitHub Flavored Markdown (GFM), khung cảnh báo, emoji, link neo và sơ đồ mermaid. Bấm Sao chép để lấy đoạn mẫu.
Ngôn ngữ khác: English · Русский · Español · Português (Brasil)
Tóm tắt cú pháp Markdown
| Thành phần | Cú pháp | Ghi chú |
|---|---|---|
| Tiêu đề | # H1 ## H2 ### H3 | Tối đa sáu dấu #; nhớ có dấu cách phía sau. |
| Chữ đậm | **chữ đậm** | |
| Chữ nghiêng | *nghiêng* hoặc _nghiêng_ | |
| Vừa đậm vừa nghiêng | ***cả hai*** | |
| Gạch ngang | ~~đã xóa~~ | GitHub Flavored Markdown (GFM). |
| Code trong dòng | `code` | |
| Khối code | ```js code ``` | Từ đứng sau dấu backtick chọn ngôn ngữ để tô màu cú pháp. |
| Link | [văn bản](https://example.com) | |
| Hình ảnh |  | |
| Danh sách gạch đầu dòng | - mục | Dùng * hoặc + cũng được. |
| Danh sách đánh số | 1. mục | |
| Danh sách việc cần làm | - [ ] cần làm - [x] đã xong | GFM. |
| Trích dẫn | > đoạn trích dẫn | |
| Bảng | | A | B | | --- | --- | | 1 | 2 | | GFM. Dấu hai chấm ở hàng thứ hai quy định căn lề. |
| Đường kẻ ngang | --- | |
| Xuống dòng | dòng một\ dòng hai | Một dấu gạch chéo ngược hoặc hai dấu cách ở cuối dòng. |
| Chú thích cuối trang | Văn bản[^1] [^1]: Nội dung chú thích. | GFM. |
| Thoát ký tự | \*không nghiêng\* | Đặt dấu gạch chéo ngược trước bất kỳ ký hiệu markdown nào. |
| Sơ đồ | ```mermaid flowchart LR A --> B ``` | Hiển thị trên GitHub, GitLab và Docs MD. |
Tra cứu đầy đủ kèm ví dụ
Tiêu đề
Sáu cấp tiêu đề
# H1 — tiêu đề trang
## H2 — mục
### H3 — mục con
#### H4
##### H5
###### H6H1 — tiêu đề trang
H2 — mục
H3 — mục con
H4
H5
H6
Quy ước là mỗi tài liệu chỉ có một H1. Cú pháp "gạch chân" thay thế (=== / ---) chỉ dùng được cho H1 và H2 — nên ưu tiên dạng #.
Nhấn mạnh
Đậm, nghiêng, cả hai
**đậm** và *nghiêng* và ***vừa đậm vừa nghiêng***đậm và nghiêng và vừa đậm vừa nghiêng
Dấu gạch dưới cũng dùng được (__đậm__, _nghiêng_), nhưng dấu sao vẫn có tác dụng ở giữa từ: fan**tas**tic.
Gạch ngang (GFM)
~~bị gạch bỏ~~bị gạch bỏ
Danh sách
Không đánh số
- Mục thứ nhất
- Mục thứ hai
- Mục lồng (thụt vào 2 dấu cách)
- Mục thứ ba- Mục thứ nhất
- Mục thứ hai
- Mục lồng (thụt vào 2 dấu cách)
- Mục thứ ba
Có đánh số
1. Bước một
2. Bước hai
1. Số bạn gõ không quan trọng — trình hiển thị tự đếm- Bước một
- Bước hai
- Số bạn gõ không quan trọng — trình hiển thị tự đếm
Danh sách việc cần làm (GFM)
- [x] Phát hành tính năng
- [ ] Viết tài liệu
- [ ] Báo cho mọi người- Phát hành tính năng
- Viết tài liệu
- Báo cho mọi người
Link và hình ảnh
Link trong dòng
[văn bản link](https://docs-md.com "tiêu đề hiện khi rê chuột, không bắt buộc")Hình ảnh
Hình ảnh là một link có dấu ! phía trước. Văn bản thay thế (alt) rất quan trọng: trình đọc màn hình đọc nó, và nó hiện ra khi ảnh bị lỗi.
Tự nhận link (GFM)
URL để trần sẽ tự thành link: https://docs-md.comURL để trần sẽ tự thành link: https://docs-md.com
Link kiểu tham chiếu
Tài liệu dài sẽ dễ đọc hơn với [tham chiếu có tên][docs].
[docs]: https://docs-md.comTài liệu dài sẽ dễ đọc hơn với tham chiếu có tên.
Phần định nghĩa có thể đặt ở bất kỳ đâu trong file — theo quy ước là ở cuối.
Link neo
Link dẫn tới một tiêu đề trên cùng trang. Đích đến là tiêu đề chuyển thành slug: chữ thường, dấu cách thành gạch nối, bỏ dấu câu.
Link tới một tiêu đề
## Bắt đầu nhanh
Chuyển tới [Bắt đầu nhanh](#bắt-đầu-nhanh) hoặc [Bước 2: Cài đặt](#bước-2-cài-đặt).Bắt đầu nhanh
Chuyển tới Bắt đầu nhanh hoặc Bước 2: Cài đặt.
Quy tắc slug trên GitHub: chuyển hết thành chữ thường, bỏ dấu câu trừ gạch nối và gạch dưới, đổi dấu cách thành gạch nối, thêm -1, -2 cho các tiêu đề trùng nhau. Chữ có dấu tiếng Việt được giữ nguyên. "Bước 2: Cài đặt" thành #bước-2-cài-đặt.
Neo tùy chỉnh bằng HTML
<a id="custom-target"></a>
## Tiêu đề bất kỳ
[Đi tới đó](#custom-target)Khi tiêu đề có thể bị đổi chữ, hãy cố định một id rõ ràng bằng thẻ <a> rỗng đặt phía trên. Dùng được ở mọi nơi cho phép HTML trong dòng (GitHub, GitLab, phần lớn trình tạo trang tĩnh).
Code
Code trong dòng
Chạy `npm install` trước `npm run dev`.Chạy npm install trước npm run dev.
Khối code có chỉ định ngôn ngữ
```ts
function greet(name: string) {
return `Xin chào, ${name}`;
}
```function greet(name: string) {
return `Xin chào, ${name}`;
}
Nhãn ngôn ngữ sau ``` bật tính năng tô màu cú pháp. Các nhãn hay dùng: js, ts, python, bash, json, sql, diff.
Khối code lồng trong khối code
````md
Để hiển thị một khối code bên trong khối code,
hãy dùng nhiều dấu backtick hơn ở lớp ngoài:
```js
console.log("nested");
```
````Bảng (GFM)
Bảng cơ bản có căn lề
| Trái | Giữa | Phải |
| :--- | :----: | ----: |
| a | b | c |
| d | e | f || Trái | Giữa | Phải |
|---|---|---|
| a | b | c |
| d | e | f |
Dấu hai chấm ở hàng phân cách quy định căn lề. Muốn có dấu | thật trong ô, viết \|. Cần tạo bảng nhanh? Dùng công cụ tạo bảng bên dưới.
Trích dẫn
Trích dẫn và trích dẫn lồng
> Một đoạn trích dẫn.
>
> > Trích dẫn lồng nhau cũng được.
>
> Quay lại cấp đầu tiên — **định dạng vẫn dùng được bên trong**.Một đoạn trích dẫn.
Trích dẫn lồng nhau cũng được.
Quay lại cấp đầu tiên — định dạng vẫn dùng được bên trong.
Đặt > ở đầu mỗi dòng (một dấu > đứng riêng giữ các đoạn trong cùng một trích dẫn). GitHub biến các trích dẫn > [!NOTE] / [!WARNING] thành khung cảnh báo có màu.
Khung cảnh báo (GitHub)
Trích dẫn có dòng đầu là [!TYPE] sẽ hiển thị thành khung chú ý có màu trên GitHub. Có năm loại: NOTE, TIP, IMPORTANT, WARNING, CAUTION.
Năm loại cảnh báo
> [!NOTE]
> Thông tin hữu ích người đọc nên biết.
> [!TIP]
> Lời khuyên để làm tốt hơn.
> [!IMPORTANT]
> Thông tin then chốt để thành công.
> [!WARNING]
> Thông tin khẩn cần chú ý ngay.
> [!CAUTION]
> Hậu quả xấu của một hành động.Note Thông tin hữu ích người đọc nên biết.
Tip Lời khuyên để làm tốt hơn.
Important Thông tin then chốt để thành công.
Warning Thông tin khẩn cần chú ý ngay.
Caution Hậu quả xấu của một hành động.
Hiển thị thành khung có màu và biểu tượng trên GitHub (README, issue, PR, discussion) và GitLab. Ở những nơi khác — xem trước trong VS Code, Slack, Discord, Notion, phần lớn trình tạo trang tĩnh — dòng chữ "[!NOTE]" hiện nguyên văn trong một trích dẫn thường, gần giống bản xem trước bên phải.
Bố cục và khoảng cách
Đường kẻ ngang
Phía trên đường kẻ.
---
Phía dưới đường kẻ.Phía trên đường kẻ.
Phía dưới đường kẻ.
Ba dấu gạch nối trở lên trên một dòng riêng, có dòng trống ở trên và dưới (nếu không, --- nằm ngay dưới một dòng chữ sẽ biến dòng đó thành H2).
Xuống dòng hay đoạn mới
Kết thúc dòng bằng hai dấu cách
để xuống dòng trong cùng một đoạn.
Một dòng trống bắt đầu đoạn mới.Kết thúc dòng bằng hai dấu cách
để xuống dòng trong cùng một đoạn.
Một dòng trống bắt đầu đoạn mới.
Dấu gạch chéo ngược ở cuối dòng cũng ép xuống dòng và dễ nhìn thấy hơn hai dấu cách.
Thoát ký tự
\*không nghiêng\* và \# không phải tiêu đề và \| không phải dấu cột bảng*không nghiêng* và # không phải tiêu đề và | không phải dấu cột bảng
Chú thích cuối trang (GFM)
Tham chiếu và định nghĩa chú thích
Markdown ra đời năm 2004.[^1]
[^1]: Do John Gruber tạo ra, Aaron Swartz góp phần xây dựng cú pháp.Được hỗ trợ trên GitHub và phần lớn trình hiển thị hiện đại; không thuộc markdown nguyên bản.
Emoji
Mã viết tắt và emoji thật
Phát hành thôi :tada: :rocket: — hoặc dán thẳng ký tự: 🎉 🚀Mã viết tắt như :tada: không phải là markdown: GitHub, GitLab, Slack và Discord chuyển chúng thành emoji; trình hiển thị CommonMark, xem trước trong VS Code và phần lớn trình tạo trang tĩnh in nguyên dấu hai chấm. Dán ký tự emoji thật thì dùng được ở mọi nơi.
Sơ đồ Mermaid
Flowchart từ một khối code
```mermaid
graph LR
A[Viết markdown] --> B{Chia sẻ?}
B -->|có| C[Lấy link]
B -->|không| D[Giữ trên máy]
```Hiển thị trên GitHub, GitLab và trang chia sẻ của Docs MD. Hỗ trợ cả sequence diagram, biểu đồ Gantt và sơ đồ ER.
HTML trong markdown
Khi markdown không đủ dùng
Markdown không có gạch chân, nên hãy dùng <u>HTML</u>, <sub>chỉ số dưới</sub>, <sup>chỉ số trên</sup>, hoặc <kbd>Ctrl</kbd>+<kbd>C</kbd>.Markdown không có gạch chân, nên hãy dùng <u>HTML</u>, <sub>chỉ số dưới</sub>, <sup>chỉ số trên</sup>, hoặc <kbd>Ctrl</kbd>+<kbd>C</kbd>.
Phần lớn trình hiển thị cho HTML đi qua (GitHub lọc bỏ script và style). Bản xem trước trên trang này loại bỏ HTML thô, nên hãy kiểm tra kết quả trên nền tảng đích.
Phím bấm với <kbd>
Nhấn <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> để mở bảng lệnh.GitHub hiển thị <kbd> thành hình phím nhỏ. Markdown không có cú pháp riêng cho phím bấm; dấu backtick (`Ctrl`) là cách dự phòng dạng văn bản thuần dùng được ở mọi nơi.
Phần thu gọn với <details>
<details>
<summary>Bấm để mở rộng</summary>
Nội dung ẩn — **markdown dùng được ở đây** nếu bạn để một dòng trống sau summary.
</details>Được hỗ trợ trên GitHub, GitLab và phần lớn trang tài liệu. Dùng <details open> để mặc định mở sẵn. Không hỗ trợ trong Slack, Discord hay Notion.
Câu hỏi thường gặp
Bảng cú pháp markdown (cheat sheet) là gì?
Là trang tra cứu gói gọn mọi thành phần markdown, đặt cú pháp và kết quả hiển thị cạnh nhau, để bạn sao chép đúng ký tự thay vì phải đoán. Trang này gồm markdown cơ bản, GitHub Flavored Markdown (bảng, danh sách việc cần làm, gạch ngang, chú thích cuối trang) và sơ đồ mermaid.
Làm sao in đậm hoặc in nghiêng chữ trong markdown?
Bọc chữ trong hai dấu sao để in đậm (**đậm**), một dấu sao hoặc dấu gạch dưới để in nghiêng (*nghiêng* hoặc _nghiêng_). Ba dấu sao cho chữ vừa đậm vừa nghiêng. Trên GitHub, dấu gạch dưới nằm giữa từ không tạo nhấn mạnh, nên dấu sao là lựa chọn an toàn hơn.
Làm sao chèn link hoặc hình ảnh?
Link viết là [văn bản](https://example.com), còn hình ảnh viết y như vậy nhưng có dấu chấm than phía trước: . Thêm tiêu đề trong ngoặc kép sau URL để có chú giải khi rê chuột. Link kiểu tham chiếu ([văn bản][id] cộng với [id]: url trên một dòng riêng) giúp tài liệu dài dễ đọc hơn.
Làm sao viết khối code?
Đặt code giữa hai dòng gồm ba dấu backtick. Thêm tên ngôn ngữ ngay sau ba dấu backtick mở đầu (```js) để được tô màu cú pháp. Dùng một dấu backtick cho code trong dòng.
Làm sao tạo bảng trong markdown?
Ngăn cách các cột bằng dấu | và thêm một dòng gạch nối dưới hàng tiêu đề. Dấu hai chấm trong dòng phân cách đó quy định căn lề: :--- căn trái, :---: căn giữa, ---: căn phải. Bảng là phần mở rộng của GFM, được GitHub, GitLab và phần lớn trình hiển thị hỗ trợ.
Markdown và GitHub Flavored Markdown khác nhau thế nào?
GitHub Flavored Markdown (GFM) là markdown nguyên bản cộng thêm bảng, danh sách việc cần làm, gạch ngang, tự nhận link và chú thích cuối trang, với đặc tả chính thức xây dựng trên CommonMark. Gần như mọi trình hiển thị hiện đại đều hỗ trợ GFM, nên khi nói "markdown" người ta thường ngụ ý GFM. Bản thân GitHub còn thêm khung cảnh báo, mã emoji và mermaid bên trên GFM.
Markdown nào dùng được trong Slack, Discord và Notion?
Mỗi nơi là một biến thể khác nhau. Discord hỗ trợ phần lớn cú pháp cơ bản (**đậm**, *nghiêng*, khối code, tiêu đề, trích dẫn) nhưng không có bảng hay hình ảnh, và dùng __hai dấu gạch dưới__ để gạch chân. Slack hoàn toàn không phải markdown: *một dấu sao* là chữ đậm, _gạch dưới_ là nghiêng, ~dấu ngã~ là gạch ngang, và link [văn bản](url) chỉ hoạt động trong khung soạn tin khi bật tùy chọn định dạng markup. Notion chuyển markdown ngay khi bạn gõ và khi dán, kể cả bảng và danh sách việc cần làm. Hãy kiểm tra quy tắc của từng nền tảng trước khi dán.
Xem trước file markdown đã định dạng ở đâu?
Dán markdown hoặc thả file .md vào trình xem Docs MD tại docs-md.com/vi/doc-file-md-online — tài liệu hiển thị ngay trong trình duyệt với bảng, code tô màu và sơ đồ mermaid, không cần cài đặt và file không bị tải lên máy chủ.