Конвертер HTML в Markdown
Конвертируйте HTML в чистый Markdown прямо в браузере — GFM-таблицы, списки задач и ссылки. Выбирайте ATX/Setext заголовки и inline или reference ссылки. Удобно для переноса веб-контента и подачи в LLM. 100% приватно.
Custom CSS
Что такое конвертация HTML в Markdown?
Конвертация HTML в Markdown берёт отрисованный HTML-документ — теги, атрибуты и вложенность, которые отображает браузер — и переписывает его как Markdown, лёгкий текстовый формат, созданный для письма и контроля версий. Там, где Markdown в HTML разворачивает компактный текст в разметку для отображения, это обратное и редуцирующее направление: вы начинаете с богатого, многословного HTML и дистиллируете его до небольшого, читаемого набора соглашений, которые предлагает Markdown.
Под капотом конвертер разбирает ваш HTML в DOM-дерево — ту же структуру узлов, что строит браузер — затем обходит это дерево и выдаёт эквивалент Markdown для каждого распознанного узла. <h2> становится ## , <strong> становится **text**, <ul> становится маркированным списком, становится ссылкой, <table> становится GFM пайповой таблицей. Обход реального DOM, а не прогон регулярных выражений по сырой строке, — именно то, что позволяет ему корректно обрабатывать вложенные списки, смешанное встроенное форматирование и таблицы, вместо того чтобы ломаться на крайних случаях.
К этой конвертации обращаются, когда вы мигрируете из HTML, а не в него. Контент, запертый в CMS, WYSIWYG-редакторе, старой веб-странице или rich-text поле, трудно сравнивать, трудно ревьюить и трудно перемещать. Конвертация его в Markdown освобождает его в формат, который счастливо живёт в Git-репозитории, генераторе статического сайта или заметочнике — и, всё чаще, в формат, который большие языковые модели читают эффективно. Загвоздка, которую честные инструменты заявляют прямо, в том, что конвертация с потерями: HTML может выразить то, что Markdown не может, поэтому часть структуры и каждая деталь стилизации намеренно отбрасываются в обмен на чистый, переносимый текст.
Обратная операция — Markdown обратно в HTML, для случая, когда вы готовы публиковать или предпросматривать — не менее полезна. Переключитесь на вкладку Markdown → HTML или откройте отдельный конвертер Markdown в HTML.
HTML in:
<h2>Pricing</h2>
<p>Plans start at <strong>$9/mo</strong>. See the <a href="https://example.com/pricing">details</a>.</p>
<table>
<thead><tr><th>Plan</th><th>Price</th></tr></thead>
<tbody><tr><td>Pro</td><td>$9</td></tr></tbody>
</table>
Markdown out:
## Pricing
Plans start at **$9/mo**. See the [details](https://example.com/pricing).
| Plan | Price |
| ---- | ----- |
| Pro | $9 |
<!-- <div>, classes, and inline styles in the source are dropped — Markdown can't represent them. --> Ключевые возможности
Вывод с учётом GFM
Нацелен на GitHub Flavored Markdown, не только на обычный CommonMark: HTML-таблицы становятся пайповыми таблицами, <li> с чекбоксами становятся списками задач (`- [x]`), а <del>/<s> становятся ~~зачёркиванием~~. Markdown ложится прямо в README, GitHub issue или сайт документации и отрисовывается так же.
Заголовки ATX или Setext
Выбирайте ATX-заголовки с решётками (# H1) или подчёркнутые Setext-заголовки (=== для H1, --- для H2). Setext покрывает только два верхних уровня, поэтому конвертер автоматически откатывается к ATX для H3 и глубже — вы никогда не получите невалидный заголовок.
Inline или reference ссылки
Переключайтесь между inline-ссылками — [text](url) рядом с прозой — и reference-ссылками, которые собирают каждый URL в нумерованный список в подвале документа. Reference-стиль сохраняет насыщенные ссылками абзацы читаемыми и позволяет переиспользовать URL по метке.
Огороженные блоки кода
Блок <pre><code> становится огороженным блоком кода с тройными обратными кавычками, а класс language- на элементе <code> переносится как информационная строка ограды. Встроенный <code> становится спанами с обратными кавычками, поэтому фрагменты переживают путь целыми.
Обрабатывает вложенные списки и таблицы
Обходит реальный DOM, поэтому вложенные структуры <ul>/<ol> конвертируются в корректно отступленные Markdown-списки, а упорядоченные списки перенумеровываются с 1. Простые таблицы сплющиваются в пайповые; по-настоящему сложные откатываются к сырому HTML, а не теряют данные.
100% приватно, в браузере
Каждая конвертация выполняется локально на JavaScript — ваш HTML и итоговый Markdown никогда не покидают устройство, не попадают на сервер и работают офлайн после загрузки страницы. Безопасно для внутренних экспортов CMS, контента клиентов и неопубликованных страниц.
Примеры
Веб-<table> в GFM пайповую таблицу
<table>
<thead><tr><th>Region</th><th>Sales</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1,204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Region | Sales | | ------ | ----- | | EMEA | 1,204 | | APAC | 980 |
Скопированная или собранная скрейпером HTML-<table> сворачивается в пайповую таблицу GitHub Flavored Markdown. Строка <thead> становится заголовком, строка-разделитель из дефисов генерируется за вас, а каждый <tr> становится одной строкой с пайпами — готово к вставке в README или страницу документации.
Ссылки: inline vs reference стиль
<p>Read the <a href="https://example.com/guide">setup guide</a> and the <a href="https://example.com/api">API reference</a>.</p>
Inline: Read the [setup guide](https://example.com/guide) and the [API reference](https://example.com/api). Reference: Read the [setup guide][1] and the [API reference][2]. [1]: https://example.com/guide [2]: https://example.com/api
Одни и те же якоря отрисовываются двумя способами. Inline держит URL рядом с текстом; reference-стиль переносит каждый URL в нумерованный список внизу, что сохраняет длинные абзацы читаемыми, когда в предложении несколько ссылок. Выберите стиль радиокнопкой «Ссылки».
Вложенные <ul>/<ol> в Markdown-списки с отступами
<ul>
<li>Build
<ol>
<li>Compile</li>
<li>Bundle</li>
</ol>
</li>
<li>Ship</li>
</ul> - Build 1. Compile 2. Bundle - Ship
Вложенность сохраняется отступами: внутренний <ol> уходит на два пробела под родительский <li> и переключается с маркера `-` на нумерацию `1.`. Markdown перенумеровывает упорядоченные списки автоматически, поэтому исходник остаётся чистым, даже если HTML использовал явные атрибуты value.
Кусок HTML веб-страницы в чистый Markdown
<article> <h1>Changelog</h1> <p>We shipped <strong>dark mode</strong> and fixed <code>parseDate()</code>.</p> <blockquote><p>Thanks to everyone who reported it.</p></blockquote> </article>
# Changelog We shipped **dark mode** and fixed `parseDate()`. > Thanks to everyone who reported it.
Вставьте срез реальной страницы — обёртка <article> отбрасывается (в Markdown нет элемента-контейнера), <h1> становится `#`, <strong> становится `**`, встроенный <code> становится обратными кавычками, а <blockquote> становится строкой `>`. Структурные обёртки без эквивалента в Markdown просто отпадают.
Как преобразовать HTML в Markdown
- 1
Вставьте ваш HTML
Поместите скопированную веб-страницу, экспорт CMS или WYSIWYG либо скрейпленный HTML-фрагмент. DOM разбирается и сериализуется в Markdown в браузере по мере вставки — без загрузки, без лимита размера сверх памяти браузера.
- 2
Выберите стиль заголовков и ссылок
Выберите ATX (#) или Setext (===) заголовки и inline или reference ссылки. Markdown перерисовывается вживую, поэтому стили можно сравнить мгновенно. Вывод нацелен на GitHub Flavored Markdown — таблицы, списки задач и зачёркивание включены.
- 3
Скопируйте или скачайте
Нажмите «Скопировать», чтобы взять Markdown, или «Скачать», чтобы сохранить файл .md. Чтобы пойти в обратную сторону, переключитесь на вкладку Markdown → HTML и вставьте ваш Markdown, чтобы получить отрисованный HTML обратно.
Частые ошибки
Ожидание, что структура <div>/<span> уцелеет
Обобщённые контейнеры не несут эквивалента в Markdown, поэтому они разворачиваются — их содержимое остаётся, но тег и любой класс или стиль на нём исчезают. Если ваша вёрстка зависела от обёртки <div> или стилизованного <span>, эта стилизация пропала в Markdown. Это ожидаемо, а не баг; Markdown просто не имеет способа это выразить.
<div class="callout warning"><span style="color:red">Heads up!</span></div> <!-- expecting the callout box and red colour to survive -->
Heads up! <!-- container and styles dropped; only the text remains in Markdown -->
Потерянные переносы строк <br> внутри абзацев
<br> внутри абзаца — это мягкий перенос строки, который Markdown представляет двумя замыкающими пробелами перед переводом строки (или обратным слешем). Вставка HTML с ожиданием, что видимые переносы строк уцелеют, может удивить, когда соседние строки сливаются в одну. Конвертер выдаёт форму жёсткого переноса, но если вы редактируете вручную после, не убирайте замыкающие пробелы.
Line one<br>Line two <!-- if the break form is removed, these merge into one line -->
Line one Line two <!-- two trailing spaces preserve the <br> as a hard break -->
Деградация глубоко вложенных таблиц
GFM пайповые таблицы не могут вкладываться или держать блочное содержимое. Легаси-вёрстка, кладущая таблицу (или список, или несколько абзацев) внутрь ячейки таблицы, не может стать чистой пайповой таблицей — конвертер сплющивает что может и оставляет остальное как сырой HTML, чтобы ничего не потерять. Исправление — упростить исходник, а не вывод.
<table><tr><td><table><tr><td>inner</td></tr></table></td></tr></table> <!-- nested table can't become a flat pipe table -->
<!-- Flatten to a single-level table first: --> <table><tr><td>inner</td></tr></table> → | inner | | ----- |
Ожидание, что <script> или стили уцелеют
<script>, <style> и элементы уровня head — это код и оформление, а не содержимое документа, поэтому они вырезаются полностью — не конвертируются, не сохраняются как сырой HTML. Вставка целой страницы с ожиданием, что поведение или CSS перенесутся в Markdown, разочарует. Markdown — формат содержимого; если вам нужен код или стилизация, оставьте HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Body</p>
<!-- expecting the style and script to come through --> Body <!-- only the content survives; <script>/<style> are dropped -->
Типичные сценарии
- Перенос веб- или CMS-контента в Notion, Obsidian или статический сайт
- Вытяните страницы из CMS, экспорта WordPress или старого HTML-сайта и конвертируйте их в Markdown, который ложится прямо в Notion, Obsidian, Hugo или Jekyll. Вы меняете многословную разметку на переносимый текст, который чисто живёт в Git-репозитории и разумно диффится при ревью.
- Экспорт из WYSIWYG-редактора
- Rich-text редакторы выдают плотный, насыщенный атрибутами HTML. Вставьте этот вывод сюда, чтобы восстановить чистый Markdown под ним — заголовки, списки, ссылки и выделение — чтобы контент мог перейти в пайплайн документации или Markdown-базу знаний, а не остаться запертым в редакторе.
- Очистка HTML в Markdown для подачи в LLM и RAG-пайплайны
- Сырой HTML сжигает токены на теги, скрипты и стилизацию, которые модели никогда не нужны. Конвертация скрейпленной страницы в Markdown убирает этот шум, сохраняя структуру, которую LLM читает хорошо, поэтому вы помещаете больше реального контента в контекстное окно и получаете более чистые эмбеддинги для поиска.
- Превратить rich-text вставку в Markdown
- Скопируйте форматированный текст с веб-страницы, из письма или документа, и он попадает в буфер обмена как HTML. Вставьте его сюда, чтобы превратить этот rich text в Markdown, который можно закоммитить, отправить в pull request или записать в заметки — форматирование сохранено, мусор убран.
- Архивировать страницу как Markdown
- Сохраните осмысленное содержимое веб-страницы как маленький, защищённый от устаревания файл .md вместо тяжёлого HTML-снимка, полного скриптов и трекинга. Markdown остаётся читаемым в любом текстовом редакторе спустя десятилетия и занимает долю места.
- Превратить легаси HTML-документацию в Markdown
- Старую документацию, написанную как HTML вручную, больно поддерживать. Конвертируйте её в Markdown, чтобы привести в современный процесс docs-as-code — где её можно линтить, ревьюить в pull request и отрисовывать генератором статического сайта.
Технические детали
- Вывод CommonMark vs GitHub Flavored Markdown
- Конвертер может нацеливаться на обычный CommonMark или, по умолчанию, на надмножество GitHub Flavored Markdown. CommonMark точно определяет заголовки, выделение, списки, ссылки, изображения, код и цитаты. GFM добавляет четыре конструкции, которые прямо отображаются из распространённого HTML: <table> → пайповая таблица, элементы списка с чекбоксами → списки задач, <del>/<s> → зачёркивание, голые URL → автоссылки. Поскольку большинство веб-контента использует таблицы и подобное, вывод GFM — практичный дефолт; выбирайте CommonMark только когда рендерер назначения не понимает расширения GFM, и тогда таблицы откатываются к сырому HTML.
- Конвертация с потерями и необратимая — прямо заявлено
- HTML строго выразительнее Markdown, поэтому конвертация не может быть без потерь, и об этом стоит говорить прямо. В Markdown нет синтаксиса для <div>, <span> или других обобщённых контейнеров; нет способа нести имена классов, id, inline-стиль, colspan/rowspan или произвольные атрибуты data-*; и нет представления для большинства семантических или верстальных элементов. Они разворачиваются (содержимое сохраняется, тег отбрасывается), отбрасываются (атрибуты) или — когда отбрасывание потеряло бы смысл — сохраняются как сырой встроенный HTML. Круговой проход HTML → Markdown → HTML не воспроизведёт оригинал. Это намеренный компромисс: Markdown существует, чтобы быть чистым, диффящимся и редактируемым человеком, а не зеркалить HTML. Большинство конкурентов это замалчивают; заявление этого позволяет вам решить с открытыми глазами, правильная ли Markdown цель.
- Компромиссы стиля: ATX/Setext, Inline/Reference, Огороженный/С отступами
- Три выбора вывода несут реальные компромиссы. ATX-заголовки (#) покрывают все шесть уровней и чисто грепаются; Setext (подчёркнутый) существует только для H1/H2, поэтому инструмент выдаёт его для двух верхних уровней и откатывается к ATX ниже. Inline-ссылки держат URL рядом с текстом — лучше для редких ссылок; reference-ссылки уводят URL в подвал документа — лучше для насыщенной ссылками прозы и переиспользования по метке. Для кода огороженные блоки (тройные обратные кавычки) несут информационную строку языка и безопасно вкладываются, тогда как блоки с отступом (четыре пробела) не могут выразить язык и ломаются внутри списков — поэтому этот конвертер всегда выдаёт огороженные блоки из <pre><code>.
Лучшие практики
- Отформатируйте HTML перед конвертацией
- Минифицированный или глубоко запутанный HTML — особенно вложенные верстальные таблицы и случайные встроенные элементы — конвертируется чище, когда он сначала корректно сформирован. Прогоните неаккуратный исходник через наш HTML-форматтер, чтобы отформатировать и нормализовать его, затем конвертируйте. Чистый ввод даёт чистый Markdown с меньшим числом откатов к сырому HTML.
- Ожидайте и проверяйте потери
- Относитесь к конвертации как к намеренно потерянной. Классы, inline-стили, обёртки <div>/<span> и экзотические атрибуты исчезают в выводе, и обычно это то, что вам нужно для переносимого Markdown — но просмотрите результат на предмет чего-то семантически важного, что жило только в атрибуте (aria-label, объединённая через colspan ячейка), и добавьте обратно вручную, если это важно.
- Выбирайте стиль ссылок под плотность документа
- Используйте inline-ссылки для прозы со ссылкой тут и там — URL остаётся рядом со своим текстом и исходник читается естественно. Переключайтесь на reference-ссылки, когда раздел насыщен ссылками или переиспользует одни и те же URL: увод их в нумерованный список в подвале сохраняет абзацы сканируемыми и избегает повтора длинных URL.
- Конвертируйте в Markdown перед отправкой страниц в LLM
- Когда вы подаёте веб-контент модели — для промпта, эмбеддинга или RAG-хранилища — сначала конвертируйте HTML в Markdown. Вы убираете теги, скрипты и стилизацию, которые тратят токены и добавляют шум, сохраняете структуру, которую модель действительно использует, и помещаете существенно больше реального контента в контекстное окно.
- Проверяйте сложные таблицы после конвертации
- GFM пайповые таблицы плоские — нет вложенных таблиц, нет блочного содержимого в ячейках, нет объединённых ячеек. После конвертации насыщенной данными или верстальной таблицы проверьте Markdown: простые сетки конвертируются идеально, но всё с colspan или вложенными блоками деградирует и может оказаться сырым HTML. Сначала упростите исходную таблицу, если чистая пайповая таблица важна.
Часто задаваемые вопросы
Как обрабатываются inline и reference ссылки?
ATX vs Setext заголовки — какие использовать?
Что происходит с HTML, который Markdown не может представить, вроде <div> и <span>?
Вырезает ли он <script> и стили?
Как обрабатываются вложенные таблицы и списки?
Конвертация HTML в Markdown без потерь?
Можно ли подать Markdown в LLM или ChatGPT?
Загружаются ли мои файлы на сервер?
Работает ли инструмент офлайн?
Можно ли преобразовать Markdown обратно в HTML?
Похожие инструменты
Все инструменты →Base64 декодер и кодировщик
Кодирование и форматирование
Декодирование и кодирование Base64 онлайн бесплатно. Преобразование в реальном времени с полной поддержкой UTF-8 и эмодзи. Полная приватность — работает в браузере. Без регистрации.
Конвертер Base64 в изображение
Кодирование и форматирование
Декодируйте строку Base64 или data URI обратно в изображение прямо в браузере. Предпросмотр, размеры и MIME, затем скачивание как PNG, JPG, GIF, SVG. Без загрузки.
Конвертер CSV в JSON
Кодирование и форматирование
Конвертируйте CSV в JSON в браузере. RFC 4180, определение типов, заголовок, безопасность больших целых. 100% приватно, без загрузки.
Конвертер изображений в Base64
Кодирование и форматирование
Кодируйте изображения в data URI Base64 прямо в браузере — PNG, JPG, GIF, WebP, SVG, ICO. Копируйте вывод для HTML, CSS, Markdown и JSON. 100% приватно, без загрузки.
JSON Diff и сравнение
Кодирование и форматирование
Сравнивайте два JSON-файла мгновенно в браузере. Side-by-side подсветка, вывод JSON Patch (RFC 6902), игнорирование шума вроде timestamp и ID. 100% приватно, без загрузки.
Форматировщик и валидатор JSON
Кодирование и форматирование
Форматирование, проверка и улучшение читаемости JSON прямо в браузере. Бесплатный онлайн-инструмент с проверкой синтаксиса, поиском ошибок, минификацией и копированием в один клик. Полная приватность.