Đang xem bằng Tiếng Việt Chuyển sang tiếng Anh

Markdown sang HTML

Dán Markdown bên trái, thấy HTML đã render (hoặc mã nguồn của nó) bên phải. Chạy trực tiếp trong trình duyệt của bạn.

  1. Gõ hoặc dán Markdown bên trái.
  2. Bản xem trước bên phải cập nhật khi bạn gõ.
  3. Chuyển Chế độ xem sang Mã HTML để thấy các thẻ thay vì bản đã render.
  4. Bấm Sao chép HTML để đưa mã nguồn vào clipboard, hoặc Tải .html để có tệp độc lập.
Công cụ này làm gì?

Công cụ này chuyển Markdown sang HTML dùng CommonMark cộng GitHub Flavored Markdown (GFM), với các ngắt dòng mềm được render thành <br>. Bạn có thể xem bản render trực quan, hoặc chuyển sang chế độ Mã HTML để xem các thẻ đã sinh ra. Đầu ra phù hợp để dán vào nền tảng blog, công cụ email, hay bất cứ đâu chấp nhận HTML.

Ví dụ

Markdown đầu vào:

# Release notes

We shipped **three** things this week:

- [x] Faster cold start
- [ ] Dark mode (next week)

See the [docs](https://example.com/docs) for details.

```js
console.log("hello");
```

Mã HTML đã render:

<h1>Release notes</h1>
<p>We shipped <strong>three</strong> things this week:</p>
<ul>
<li><input type="checkbox" checked disabled> Faster cold start</li>
<li><input type="checkbox" disabled> Dark mode (next week)</li>
</ul>
<p>See the <a href="https://example.com/docs">docs</a> for details.</p>
<pre><code class="language-js">console.log("hello");
</code></pre>

Lỗi và cạm bẫy thường gặp

Hầu hết bất ngờ khi render Markdown đến từ một số ít cạm bẫy cú pháp. Nếu bản xem trước sai, thường thủ phạm là một trong số chúng.

  • Thiếu dòng trống trước danh sách. "Intro text\n- item" render thành một đoạn. Đặt dòng trống giữa phần mở đầu và mục đầu tiên.
  • Khối mã thụt lề trong khi bạn muốn đoạn văn. Bốn dấu cách đầu dòng biến mọi dòng thành khối mã. Bỏ thụt lề hoặc dùng tường minh khối fenced ```.
  • Bảng bị vỡ. Mọi bảng GFM cần một dòng phân cách (| --- | --- |) với tối thiểu ba dấu gạch cho mỗi cột, và cùng số thanh dọc ở mỗi dòng.
  • Liên kết có khoảng trắng trong URL. [click](my page.html) phá parser. Mã hóa URL khoảng trắng thành %20 hoặc dùng dấu ngoặc nhọn: <my page.html>.
  • Dấu sao bên trong từ. wild*card có thể được render thành nhấn mạnh hoặc không, tùy vào văn bản xung quanh. Escape bằng dấu gạch chéo ngược: wild\*card.
  • Escape HTML bên trong khối mã. Các đoạn dán có &lt; hiện ra đúng như vậy vì đã được escape. Hãy dán mã nguồn thô trước khi escape.
Câu hỏi thường gặp

Hỗ trợ phương ngữ Markdown nào?

CommonMark cộng GitHub Flavored Markdown (GFM). Điều đó bao gồm bảng, khối mã fenced, danh sách công việc, gạch ngang, và URL tự liên kết. Ngắt dòng trong đoạn trở thành thẻ <br> vì tùy chọn breaks được bật — khớp với cách GitHub và hầu hết ứng dụng chat render bình luận.

HTML trong Markdown của tôi có được sanitize không?

Không. Bản xem trước render cho HTML thô đi qua theo mặc định. Điều này giữ cho thứ như <details> hay <kbd> nhúng vẫn hoạt động. Đừng dán Markdown không đáng tin rồi sao chép đầu ra lên site công cộng mà không chạy qua một sanitizer như DOMPurify trước.

Ghi chú, toán, hay sơ đồ có được hỗ trợ không?

Không. Đây là GFM thuần. Ghi chú chân trang, toán (KaTeX/MathJax), và sơ đồ Mermaid là mở rộng của GitHub hoặc nền tảng và không được render ở đây. Nếu cần, hãy dùng renderer Markdown có cấu hình các plugin liên quan, hoặc dán đầu ra vào nền tảng biết render chúng.

Khi tôi bấm Sao chép HTML thì điều gì xảy ra?

Mã HTML đã render được ghi vào clipboard bằng Clipboard API. Bạn nhận HTML mà không kèm phần chrome của trang — chỉ các thẻ đại diện cho Markdown của bạn. Dán vào CMS, trình soạn email, hoặc trực tiếp vào tệp. Không có tệp nào được tạo trên đĩa.

Vì sao bảng của tôi trông lệch?

Bảng GFM cần dòng tiêu đề, dòng phân cách với tối thiểu ba gạch cho mỗi cột, và các thanh dọc giữa các ô. Thiếu thanh dọc hoặc dòng phân cách chỉ có hai gạch sẽ âm thầm thất bại. Chuyển sang Mã HTML để xem liệu <table> có thực sự được tạo ra hay không.

Các bạn có lưu Markdown tôi dán ở đây không?

Không. Chúng tôi không lưu Markdown bạn gõ hay dán, và cũng không giữ HTML đã render mà bạn tải về. Mọi thứ bị loại bỏ ngay khi bạn đóng hoặc làm mới tab — không log, không có dấu vết nào ở phía chúng tôi về những gì bạn viết. Bạn có thể kiểm tra trong DevTools của trình duyệt.