Công cụ chuyển đổi
Chuyển Markdown sang HTML
Chuyển Markdown sang HTML là công cụ chuyển đổi trên trình duyệt, biến CommonMark và GitHub Flavored Markdown thành HTML đã khử trùng — gồm tiêu đề, bảng, danh sách công việc và khối mã có hàng rào. Không có gì được tải lên; cùng renderer chạy phía sau POST /v1/convert/markdown/html.
# markitdown-ai
Convert documents to clean Markdown.
## Features
- PDF, Word, and slides
- [x] Tables stay tables
- [ ] Mermaid coming later
## Install
```bash
pnpm add @markitdown-ai/sdk
```
## API
| Method | Path |
| --- | --- |
| POST | /v1/convert/{name} |
| GET | /v1/conversions/{id} |
Cách thực hiện
Cách chuyển Markdown sang HTML
Bạn có thể dán gì
- Mọi Markdown: CommonMark cùng bảng, danh sách công việc và gạch ngang của GitHub Flavored Markdown
- Kết xuất chạy trong trình duyệt — không có gì được tải lên khi bạn gõ
- Không cần tài khoản để xem trước, sao chép hoặc tải xuống
- Không có giới hạn kích thước cố định; một tài liệu rất lớn bị giới hạn bởi bộ nhớ trình duyệt
Cần kiểm tra gì
- Tiêu đề và văn bản nội tuyến — Tiêu đề ATX và setext, nhấn mạnh, liên kết và trích dẫn theo CommonMark; mỗi tiêu đề cũng nhận một id an toàn với URL được tạo từ văn bản của nó.
- Bảng, danh sách công việc và gạch ngang — Bảng của GitHub Flavored Markdown trở thành phần tử <table>, mục [ ] và [x] trở thành ô chọn, và ~~text~~ trở thành <del>.
- Markup đã khử trùng — Thẻ <script> thô, trình xử lý sự kiện nội tuyến, và giá trị href hay src ngoài http, https và mailto đều bị loại trước khi HTML được trả về.
- Mã có hàng rào — Khối mã có hàng rào giữ nội dung và nhãn ngôn ngữ; bản xem trước trên trình duyệt không tự áp dụng chủ đề tô sáng cú pháp nào.
Đầu ra đi đâu
- Sao chép HTML thẳng từ bản xem trước
- Tải file .html
- Tự động hóa bằng POST /v1/convert/markdown/html và khóa API của bạn — 0 tín dụng

Vì sao nên dùng
Vì sao nên dùng công cụ chuyển Markdown sang HTML này
Một trường trong CMS, một site tĩnh và một trình soạn email đều cần markup, không phải mã nguồn Markdown. Công cụ này giữ những phần mang ý nghĩa và loại bỏ những gì khiến HTML thô trở nên không an toàn.
Chạy trong trình duyệt của bạn
Dán Markdown và bản xem trước HTML cập nhật cục bộ. Không có gì được tải lên, và không cần tài khoản để xem trước, sao chép hay tải xuống.
CommonMark cùng GFM
Tiêu đề, danh sách, liên kết, trích dẫn và khối mã có hàng rào theo CommonMark; bảng, danh sách công việc và gạch ngang theo GitHub Flavored Markdown.
Khử trùng theo mặc định
Thẻ script, trình xử lý sự kiện nội tuyến và scheme href hay src không an toàn đều bị loại, nên HTML an toàn để dán vào một trang bạn không kiểm soát hoàn toàn.
Đoạn mã hoặc cả tài liệu
Chỉ sao chép phần markup đã kết xuất cho một trang đã có bố cục riêng, hoặc tải một tài liệu HTML hoàn chỉnh kèm định kiểu đã xem trước.
Neo cho tiêu đề
Mỗi tiêu đề nhận một id ổn định, an toàn với URL, được tạo giống như API, nên mục lục hay liên kết sâu vẫn hoạt động sau khi bạn xuất bản.
Cùng engine như API
Bản xem trước này và POST /v1/convert/markdown/html chạy cùng renderer, nên HTML bạn sao chép ở đây khớp từng byte với một lệnh gọi tự động.
Vấn đề
Vì sao Markdown thô không thể vào thẳng một trang web
Cú pháp Markdown không phải HTML
Một trường CMS, một mẫu email hay một chủ đề site tĩnh cần markup, không phải mã nguồn Markdown, nên văn bản thô phải được chuyển đổi trước khi có thể định kiểu hay nhúng.
Bộ phân tích thường bỏ sót GFM
Bảng, danh sách công việc và gạch ngang là các phần mở rộng của GitHub Flavored Markdown; bộ phân tích chỉ theo CommonMark kết xuất chúng thành ký tự sổ và dấu ngã thay vì cấu trúc.
Markdown không đáng tin có thể mang script
Markdown có thể nhúng HTML thô, gồm thẻ <script> và trình xử lý sự kiện nội tuyến, phải bị loại bỏ trước khi đầu ra an toàn để chèn vào một trang bạn không kiểm soát hoàn toàn.

Những gì được giữ lại
Những gì công cụ chuyển Markdown sang HTML này giữ lại
- Tiêu đề và văn bản nội tuyến
- Tiêu đề ATX và setext, nhấn mạnh, liên kết và trích dẫn theo CommonMark; mỗi tiêu đề cũng nhận một id an toàn với URL được tạo từ văn bản của nó.Source: CommonMark Spec
- Bảng, danh sách công việc và gạch ngang
- Bảng của GitHub Flavored Markdown trở thành phần tử <table>, mục [ ] và [x] trở thành ô chọn, và ~~text~~ trở thành <del>.Source: GitHub Flavored Markdown Spec
- Markup đã khử trùng
- Thẻ <script> thô, trình xử lý sự kiện nội tuyến, và giá trị href hay src ngoài http, https và mailto đều bị loại trước khi HTML được trả về.Source: HTML Living Standard
- Mã có hàng rào
- Khối mã có hàng rào giữ nội dung và nhãn ngôn ngữ; bản xem trước trên trình duyệt không tự áp dụng chủ đề tô sáng cú pháp nào.Source: CommonMark Spec
- HTML thô trong nguồn
- Markdown nhúng các thẻ HTML thô khác đi qua cùng bộ khử trùng, nên một thẻ được nhúng không bao giờ được coi là markup đáng tin.Source: HTML Living Standard
Trích đoạn Markdown sang HTML đã kiểm chứng· https://markitdown.ai/blog/why-pdfs-break-llms
<h2 id="what-actually-goes-wrong">What actually goes wrong</h2><p>When teams pipe documents straight into an LLM or a retrieval index, a few failure modes show up again and again:</p><ul><li><strong>Reading order breaks.</strong> Multi-column layouts interleave. A two-column page becomes "line 1 left, line 1 right, line 2 left, line 2 right…", so a sentence a human reads top-to-bottom arrives at the model scrambled.</li><li><strong>Tables collapse.</strong> Copy-paste turns a table into a loose run of numbers. The relationship between a header and its cell — the entire point of a table — is gone.</li><li><strong>Headings disappear.</strong> The visual hierarchy (this is a section, this is a subsection) is encoded as font size and weight, not structure. Strip the styling and you get one undifferentiated wall of text.</li><li><strong>Noise creeps in.</strong> Page numbers, running headers, hyphenated line breaks, and stray ligatures end up inline, polluting prompts and embeddings alike.</li></ul><p>Read more in the <a href="https://markitdown.ai/blog/why-pdfs-break-llms">full article</a>.</p>Trường hợp sử dụng
Trường hợp sử dụng chuyển Markdown sang HTML
Ở bất cứ đâu đích đến cần markup trong khi nguồn vẫn là Markdown, công cụ này là bước trung gian.
Tài liệu và site tĩnh
Biến một README hay một bài trong cơ sở tri thức Markdown thành HTML mà trình tạo site tĩnh hoặc trường CMS mong đợi.
Bản nháp email và bản tin
Soạn một thông điệp bằng Markdown, chuyển nó sang HTML, rồi dán đoạn mã vào trình soạn email bạn thực sự dùng để gửi.
Dọn dẹp câu trả lời của LLM
ChatGPT, Claude và Gemini trả về Markdown; hãy chuyển sang HTML khi đích đến — một ticket, một trang wiki — kết xuất markup thay vì dấu sao thô.
Nhà phát triển tự động hóa kết xuất
Gọi endpoint render từ một pipeline lưu Markdown nhưng phục vụ HTML, mà không phải thêm thư viện Markdown vào mọi dịch vụ.

API
API Markdown sang HTML cho nhà phát triển
Kết xuất chạy đồng bộ và tốn 0 tín dụng — nó vẫn tính vào giới hạn tốc độ mỗi phút của gói bạn. Gửi Markdown dưới dạng văn bản, hoặc tham chiếu một file .md đã lưu, tới POST /v1/convert/markdown/html kèm khóa API; HTML đã khử trùng trả về nội tuyến.
Đọc hướng dẫn APIcurl -X POST https://api.markitdown.ai/v1/convert/markdown/html \ -H "x-api-key: mdai_…" \ -H "Content-Type: application/json" \ -d '{ "text": "# Notes\n\nHello **world**." }'Hướng dẫn
Tài liệu và site tĩnh
Hầu hết công cụ tài liệu giữ Markdown làm nguồn có thể chỉnh sửa và chỉ tạo HTML ở bước dựng hoặc xem trước. Công cụ này cho bạn kiểm tra riêng bước tạo đó: dán đúng Markdown mà trình tạo site sẽ đọc, và xác nhận tiêu đề, bảng cùng khối mã xuất ra theo cách chủ đề của bạn mong đợi trước khi bạn commit một thay đổi. Nó cũng hữu ích khi một trường CMS nhận HTML nhưng người viết của bạn làm việc bằng Markdown — chuyển một lần, dán đoạn mã, và tiếp tục chỉnh sửa nguồn Markdown cho lần sửa tiếp theo thay vì sửa tay phần markup đã tạo.
- Giữ file Markdown làm nguồn chân lý; coi HTML là sản phẩm của quá trình dựng.
- So sánh đầu ra đã kết xuất với chủ đề thật của site bạn, không chỉ với định kiểu xem trước của trang này.
- Chạy lại chuyển đổi sau mỗi lần sửa nguồn thay vì vá tay HTML đã tạo.
Khử trùng
Markdown có thể nhúng HTML thô, và HTML thô đó có thể chứa thẻ <script> hoặc một trình xử lý sự kiện nội tuyến như onclick. Trước khi công cụ này trả về kết quả, markup đó đi qua một bộ khử trùng loại bỏ phần tử script, tước mọi thuộc tính bắt đầu bằng "on", và chỉ cho phép liên kết cùng nguồn ảnh http, https và mailto. Những gì còn lại là cấu trúc ngữ nghĩa — tiêu đề, đoạn văn, danh sách, bảng, liên kết, hình ảnh và mã — chứ không phải định kiểu trang trí. Công cụ không chèn class hay file CSS vào đoạn mã đầu ra; bản tải cả tài liệu thêm chủ đề bạn thấy trong bản xem trước để file tự mở đúng cách.
Đoạn mã hay cả trang
Một đoạn mã là phần markup bên trong — tiêu đề, đoạn văn và bảng — không có <html> hay <head> bao quanh. Nó thuộc về bên trong một trang đã tự định nghĩa cấu trúc tài liệu và định kiểu, ví dụ một trường nội dung CMS hay một component kết xuất các phần con. Một tài liệu đầy đủ thêm doctype, tiêu đề và một stylesheet nhỏ để file có thể mở trực tiếp trong trình duyệt hoặc lưu riêng. Dán cả tài liệu vào một trường nội dung vốn mong đợi một đoạn mã là lỗi phổ biến: trình duyệt có thể vẫn kết xuất, nhưng các thẻ <html> và <head> lồng nhau không hợp lệ ở đó và có thể gây nhầm lẫn cho công cụ hạ nguồn vốn mong đợi một đoạn mã.
Thêm công cụ chuyển đổi Markdown
- PDF → MarkdownVăn bản, bảng và bản scan
- Word → MarkdownDOCX với tiêu đề và danh sách
- PPT → MarkdownVăn bản slide, ghi chú và bảng
- Excel → MarkdownMỗi sheet thành một bảng
- Image → MarkdownOCR cho bản scan và ảnh chụp màn hình
- HTML → MarkdownDán hoặc tải HTML lên
- URL → MarkdownMọi trang web công khai, đã làm sạch
- Markdown → TextVăn bản thuần không markup
- Markdown → PDFIn ra PDF cục bộ
Need it in your code? Use the developer API. Converting at scale? See plans and pricing.
FAQ
Câu hỏi về Markdown sang HTML
Chuyển Markdown sang HTML hoạt động thế nào?
Dán hoặc gõ Markdown và công cụ kết xuất HTML đã khử trùng cục bộ trong trình duyệt, dùng cùng renderer như POST /v1/convert/markdown/html. Không có gì được tải lên trong khi bạn gõ.
Chuyển Markdown sang HTML có hỗ trợ GitHub Flavored Markdown không?
Có. Bảng, danh sách công việc và gạch ngang theo đặc tả GitHub Flavored Markdown, cùng với tiêu đề, danh sách, liên kết và mã của CommonMark.
Đầu ra HTML có được khử trùng không?
Có. Thẻ script, trình xử lý sự kiện nội tuyến và scheme href hay src không an toàn đều bị loại, nên HTML an toàn để dán vào một trang bạn không kiểm soát hoàn toàn.
Tôi có thể nhận cả tài liệu HTML thay vì một đoạn mã không?
Có. Chọn một tài liệu hoàn chỉnh kèm định kiểu đã xem trước, hoặc chỉ sao chép đoạn mã cho một trang đã có bố cục riêng.
Tôi có cần tài khoản để chuyển Markdown sang HTML không?
Không. Xem trước, sao chép và tải xuống đều hoạt động mà không cần đăng nhập, vì kết xuất chạy cục bộ trong trình duyệt của bạn.
Công cụ này có gọi API trong khi tôi gõ không?
Không. Việc gõ vẫn cục bộ. API chỉ chạy khi bạn gọi trực tiếp POST /v1/convert/markdown/html, ví dụ từ một script.
Có giới hạn kích thước cho Markdown tôi chuyển đổi không?
Không có giới hạn tải lên cố định vì không có gì được tải lên; giới hạn thực tế phụ thuộc vào bộ nhớ trình duyệt của bạn với các tài liệu rất lớn.
Tôi có thể chuyển Markdown sang HTML từ mã không?
Có. POST Markdown của bạn dưới dạng văn bản, hoặc một file .md đã lưu, tới /v1/convert/markdown/html kèm khóa API. Tốn 0 tín dụng. Xem /developers.
Chuyển Markdown sang HTML ở mọi nơi.
Dùng thử miễn phí — không cần đăng ký.