tooly

Chuyển HTML sang Markdown online

Dán HTML từ một trang web, tệp xuất từ CMS hoặc email để nhận Markdown gọn gàng cho README, wiki hoặc ghi chú của bạn — script và style bị loại bỏ, bảng được giữ nguyên.

Mọi thứ chạy trong trình duyệt — không gửi đi đâu cả

Cách sử dụng

  1. 1

    Dán HTML của bạn vào ô.

  2. 2

    Markdown xuất hiện bên dưới khi bạn nhập.

  3. 3

    Sao chép hoặc tải tệp .md.

Những lý do thường gặp để chuyển HTML sang Markdown

HTML là cách nội dung được xuất bản; Markdown là cách rất nhiều nội dung được viết và lưu trữ. Việc chuyển đổi giữa hai dạng xuất hiện khi chuyển blog từ WordPress hoặc CMS khác sang trình tạo trang tĩnh như Hugo, Jekyll hay Astro, khi sao chép tài liệu từ trang intranet cũ vào wiki dựa trên Git, khi lưu bài viết vào ứng dụng ghi chú như Obsidian, hoặc khi chuẩn bị nội dung web làm đầu vào sạch cho một script hay chỉ mục tìm kiếm. Markdown giữ lại cấu trúc có ý nghĩa, gồm tiêu đề, nhấn mạnh, liên kết và danh sách, và bỏ đi phần đánh dấu trình bày khiến HTML khó đọc và khó sửa.

Mỗi phần tử trở thành gì

Việc chuyển đổi diễn ra ngay khi bạn gõ và tuân theo một bộ quy ước cố định, được chọn để khớp với những gì phần lớn công cụ Markdown mong đợi:

  • <h1> đến <h6> trở thành tiêu đề # đến ######.
  • <strong> và <b> trở thành **bold**; <em> và <i> trở thành _italic_.
  • <a href> trở thành [text](url), giữ thuộc tính title nếu có. Liên kết không có href trở thành văn bản thường.
  • <img> trở thành ![alt](src). Bản thân tệp ảnh không bị đụng đến, nên liên kết trỏ đến đúng nơi mà src gốc trỏ đến.
  • Danh sách <ul> dùng - làm dấu đầu dòng, và danh sách <ol> được đánh số.
  • <pre><code> trở thành khối mã có hàng rào giữa ba dấu backtick. Một class như language-python trên phần tử code được giữ làm thẻ ngôn ngữ của hàng rào, nên tô sáng cú pháp vẫn hoạt động.
  • <blockquote> trở thành các dòng bắt đầu bằng >, và <hr> trở thành * * *.
  • <br> trở thành hai dấu cách ở cuối dòng kèm xuống dòng, cách Markdown viết một ngắt dòng cứng.

Các phần tử không có ý nghĩa trong Markdown, như <div>, <span> và <section>, được gỡ vỏ: văn bản ở lại còn thẻ bị bỏ. <script>, <style>, <noscript> và <iframe> bị xóa cùng mọi thứ bên trong, nhờ đó loại bỏ mã theo dõi, widget nhúng và CSS nội tuyến.

Những ký tự được thêm dấu gạch chéo ngược

Bạn có thể thấy những dấu gạch chéo ngược trong đầu ra mà trang gốc không có, như 1\. Introduction hay \*important\*. Đó là thoát ký tự (escaping), và hoàn toàn đúng. Nếu một đoạn văn trong HTML bắt đầu bằng "1." theo sau là dấu cách, viết nguyên như vậy trong Markdown sẽ biến nó thành danh sách đánh số. Dấu sao, dấu gạch dưới, dấu ngoặc vuông nguyên văn và dấu # ở đầu dòng được thoát vì cùng lý do, để Markdown khi hiển thị cho ra đúng văn bản mà HTML đã hiển thị.

Có kết quả sạch từ một trang web đầy đủ

Công cụ không đoán phần nào của trang là bài viết. Menu điều hướng, banner cookie, thanh bên và chân trang đều là văn bản HTML bình thường, nên dán toàn bộ mã nguồn trang sẽ kéo theo tất cả chúng. Để có kết quả sạch, chỉ đưa vào nội dung bạn muốn:

  1. Mở trang trong trình duyệt, nhấp chuột phải vào dòng đầu tiên của bài viết, rồi chọn Inspect (Kiểm tra).
  2. Trong công cụ dành cho nhà phát triển, tìm phần tử bao toàn bộ bài viết, thường là <article> hoặc <main>.
  3. Nhấp chuột phải vào nó, chọn Copy, rồi Copy outerHTML, và dán vào đây.

Vài điều khác cần lưu ý:

  • Liên kết tương đối vẫn là tương đối. Một liên kết như /blog/post-2 hay ảnh src="img/photo.jpg" được chuyển đổi đúng như đã viết. Nếu Markdown sẽ nằm trên một trang khác, hãy thay chúng bằng URL đầy đủ.
  • HTML của email chuyển đổi kém. Bản tin email được dựng từ các bảng bố cục lồng nhau, và mọi <table> đều được chuyển thành bảng Markdown. Kết quả là một bảng duy nhất với cả từng phần văn bản bị nhồi vào các ô. Thay vào đó, hãy sao chép nội dung bên trong một ô thay vì cả email.
  • Bảng chỉ còn văn bản. Mỗi ô được rút về văn bản thuần, nên liên kết và định dạng trong ô bị mất, và hàng đầu tiên luôn trở thành hàng tiêu đề.
  • Chú thích HTML bị bỏ.

Kiểm tra kết quả

Cách nhanh nhất để xác nhận một lần chuyển đổi là hiển thị ngược lại. Dán Markdown vào chuyển Markdown sang HTML và xem bản xem trước: tiêu đề, danh sách và khối mã phải khớp với cấu trúc trang gốc. Nếu bạn chuyển đổi tệp Word thay vì trang web, hãy dùng chuyển đổi DOCX sang Markdown, công cụ áp dụng cùng quy tắc nhưng đọc trực tiếp tệp .docx. Không có gì bạn dán vào đây được tải lên; HTML được trình duyệt của bạn phân tích và chuyển đổi.

Câu hỏi thường gặp

Những phần tử nào được hỗ trợ?

Tiêu đề, đoạn văn, chữ đậm và nghiêng, liên kết, hình ảnh, trích dẫn, danh sách có thứ tự và không thứ tự, khối mã và bảng.

Script và style sẽ ra sao?

Chúng bị loại bỏ cùng nội dung bên trong — chỉ nội dung đọc được mới còn lại.

Bảng có được chuyển đổi không?

Có, thành bảng Markdown kiểu GitHub. Các ô gộp sẽ được làm phẳng vì Markdown không có khái niệm tương đương.

HTML của tôi có bị tải lên không?

Không. Quá trình chuyển đổi chạy trong trình duyệt.

Tôi có thể chuyển Markdown ngược lại HTML không?

Có — dùng Chuyển Markdown sang HTML.

Công cụ liên quan