Konwerter HTML na Markdown
Konwertuj HTML na czysty Markdown w przeglądarce — tabele GFM, listy zadań i linki. Wybierz nagłówki ATX/Setext oraz linki inline lub referencyjne. Idealne do migracji treści webowej lub zasilania LLM. 100% prywatnie.
Własny CSS
Czym jest konwersja HTML na Markdown?
Konwersja HTML na Markdown bierze wyrenderowany dokument HTML — znaczniki, atrybuty i zagnieżdżenie, które przeglądarka wyświetla — i przepisuje go jako Markdown, lekki format zwykłego tekstu stworzony do pisania i kontroli wersji. Tam, gdzie Markdown na HTML rozwija zwięzły tekst w znacznik do wyświetlenia, to jest kierunek odwrotny i redukcyjny: zaczynasz od bogatego, rozwlekłego HTML i destylujesz go do małego, czytelnego zestawu konwencji, które oferuje Markdown.
Pod maską konwerter parsuje Twój HTML do drzewa DOM — tej samej struktury węzłów, którą buduje przeglądarka — a następnie przechodzi to drzewo i emituje odpowiednik Markdown dla każdego rozpoznanego węzła. <h2> staje się ## , <strong> staje się **tekst**, <ul> staje się listą punktowaną, staje się linkiem, <table> staje się tabelą GFM z kreskami pionowymi. Przechodzenie prawdziwego DOM-u, a nie uruchamianie wyrażeń regularnych na surowym ciągu, to właśnie to, co pozwala mu poprawnie obsługiwać zagnieżdżone listy, mieszane formatowanie inline i tabele, zamiast łamać się na przypadkach brzegowych.
Sięgasz po tę konwersję, gdy migrujesz z HTML, a nie do niego. Treść uwięziona w CMS-ie, edytorze WYSIWYG, starej stronie WWW lub polu tekstu sformatowanego jest trudna do diffowania, trudna do przeglądu i trudna do przeniesienia. Konwersja na Markdown uwalnia ją do formatu, który dobrze żyje w repozytorium Git, generatorze stron statycznych lub aplikacji do notatek — i, coraz częściej, do formatu, który duże modele językowe czytają wydajnie. Haczyk, który uczciwe narzędzia podają wprost, jest taki, że konwersja jest stratna: HTML potrafi wyrazić rzeczy, których Markdown nie potrafi, więc część struktury i każdy detal stylowania są celowo odrzucane w zamian za czysty, przenośny tekst.
Operacja odwrotna — Markdown z powrotem na HTML, gdy jesteś gotów publikować lub podejrzeć — jest równie przydatna. Przełącz się na kartę Markdown → HTML lub otwórz dedykowany konwerter Markdown na 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. --> Kluczowe funkcje
Wynik świadomy GFM
Celuje w GitHub Flavored Markdown, nie tylko zwykły CommonMark: tabele HTML stają się tabelami z kreskami pionowymi, elementy <li> z polami wyboru stają się listami zadań (`- [x]`), a <del>/<s> stają się ~~przekreśleniem~~. Markdown wpada prosto do README, zgłoszenia na GitHubie lub strony dokumentacji i renderuje się tak samo.
Nagłówki ATX lub Setext
Wybierz nagłówki ATX poprzedzone krzyżykami (# H1) lub podkreślone nagłówki Setext (=== dla H1, --- dla H2). Setext obejmuje tylko dwa najwyższe poziomy, więc konwerter automatycznie wraca do ATX dla H3 i głębszych — nigdy nie dostaniesz nieprawidłowego nagłówka.
Linki inline lub referencyjne
Przełączaj się między linkami inline — [tekst](url) obok tekstu — a linkami referencyjnymi, które zbierają każdy URL na numerowaną listę u stopy dokumentu. Styl referencyjny utrzymuje czytelność akapitów pełnych linków i pozwala wielokrotnie użyć URL-a po etykiecie.
Bloki kodu w ogrodzeniu
Blok <pre><code> staje się blokiem kodu w ogrodzeniu z potrójnymi grawisami, a klasa language- na elemencie <code> przechodzi jako ciąg informacyjny ogrodzenia. <code> inline staje się elementami w grawisach, więc fragmenty przetrwają podróż w nienaruszonym stanie.
Obsługuje zagnieżdżone listy i tabele
Przechodzi prawdziwy DOM, więc zagnieżdżone struktury <ul>/<ol> konwertują się na poprawnie wcięte listy Markdown, a listy numerowane przenumerowują się od 1. Proste tabele spłaszczają się do tabel z kreskami pionowymi; naprawdę złożone wracają do surowego HTML, zamiast tracić dane.
100% prywatnie, w przeglądarce
Każda konwersja działa lokalnie z użyciem JavaScriptu — Twój HTML i powstały Markdown nigdy nie opuszczają urządzenia, nigdy nie trafiają na serwer i działają offline po wczytaniu strony. Bezpieczne dla wewnętrznych eksportów z CMS-a, treści klientów i niewydanych stron.
Przykłady
Element webowy <table> na tabelę GFM z kreskami pionowymi
<table>
<thead><tr><th>Region</th><th>Sprzedaż</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1 204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Region | Sprzedaż | | ------ | -------- | | EMEA | 1 204 | | APAC | 980 |
Zeskrobany lub skopiowany element HTML <table> zwija się do tabeli GitHub Flavored Markdown z kreskami pionowymi. Wiersz <thead> staje się nagłówkiem, wiersz separatora z myślnikami jest generowany za Ciebie, a każdy <tr> staje się jednym wierszem rozdzielonym kreskami — gotowym do wstawienia w README lub stronę dokumentacji.
Linki: styl inline a referencyjny
<p>Przeczytaj <a href="https://example.com/guide">przewodnik konfiguracji</a> oraz <a href="https://example.com/api">dokumentację API</a>.</p>
Inline: Przeczytaj [przewodnik konfiguracji](https://example.com/guide) oraz [dokumentację API](https://example.com/api). Referencyjny: Przeczytaj [przewodnik konfiguracji][1] oraz [dokumentację API][2]. [1]: https://example.com/guide [2]: https://example.com/api
Te same kotwice renderują się na dwa sposoby. Inline trzyma URL obok tekstu; styl referencyjny przenosi każdy URL na numerowaną listę na dole, co utrzymuje długie akapity czytelnymi, gdy zdanie niesie kilka linków. Wybierz styl przełącznikiem Linki.
Zagnieżdżone <ul>/<ol> na wcięte listy Markdown
<ul>
<li>Buduj
<ol>
<li>Kompiluj</li>
<li>Pakuj</li>
</ol>
</li>
<li>Wydaj</li>
</ul> - Buduj 1. Kompiluj 2. Pakuj - Wydaj
Zagnieżdżenie jest zachowywane przez wcięcie: wewnętrzny <ol> siada dwie spacje pod swoim rodzicem <li> i przełącza się z punktora `-` na numerację `1.`. Markdown automatycznie przenumerowuje listy numerowane, więc źródło pozostaje czyste, nawet jeśli HTML używał jawnych atrybutów value.
Fragment HTML strony WWW na czysty Markdown
<article> <h1>Dziennik zmian</h1> <p>Wydaliśmy <strong>tryb ciemny</strong> i naprawiliśmy <code>parseDate()</code>.</p> <blockquote><p>Dzięki wszystkim, którzy to zgłosili.</p></blockquote> </article>
# Dziennik zmian Wydaliśmy **tryb ciemny** i naprawiliśmy `parseDate()`. > Dzięki wszystkim, którzy to zgłosili.
Wklej wycinek prawdziwej strony — otoczka <article> jest odrzucana (Markdown nie ma elementu kontenera), <h1> staje się `#`, <strong> staje się `**`, <code> inline staje się grawisami, a <blockquote> staje się wierszem `>`. Strukturalne otoczki bez odpowiednika w Markdown po prostu odpadają.
Jak skonwertować HTML na Markdown
- 1
Wklej swój HTML
Wstaw skopiowaną stronę WWW, eksport z CMS-a lub edytora WYSIWYG albo zeskrobany fragment HTML. DOM jest parsowany i serializowany do Markdown w Twojej przeglądarce w miarę wklejania — bez przesyłania, bez limitu rozmiaru poza pamięcią przeglądarki.
- 2
Wybierz styl nagłówków i linków
Wybierz nagłówki ATX (#) lub Setext (===) oraz linki inline lub referencyjne. Markdown renderuje się na nowo na żywo, więc możesz porównywać style natychmiast. Wynik celuje w GitHub Flavored Markdown — z tabelami, listami zadań i przekreśleniami.
- 3
Skopiuj lub pobierz
Kliknij Kopiuj, aby przechwycić Markdown, lub Pobierz, aby zapisać plik .md. Aby przejść w drugą stronę, przełącz się na kartę Markdown → HTML i wklej swój Markdown, by odzyskać wyrenderowany HTML.
Częste pułapki
Oczekiwanie, że struktura <div>/<span> przetrwa
Ogólne kontenery nie niosą odpowiednika w Markdown, więc są rozwijane — ich treść pozostaje, ale znacznik oraz każda klasa czy styl na nim znikają. Jeśli Twój układ zależał od otaczającego <div> lub ostylowanego <span>, to stylowanie przepadło w Markdown. Jest to oczekiwane, a nie błąd; Markdown po prostu nie ma sposobu, by to wyrazić.
<div class="callout warning"><span style="color:red">Uwaga!</span></div> <!-- oczekiwanie, że ramka i czerwony kolor przetrwają -->
Uwaga! <!-- kontener i style odrzucone; w Markdown pozostaje tylko tekst -->
Utracone podziały wiersza <br> wewnątrz akapitów
<br> wewnątrz akapitu to miękki podział wiersza, który Markdown przedstawia dwiema końcowymi spacjami przed znakiem nowej linii (lub odwrotnym ukośnikiem). Wklejenie HTML i oczekiwanie, że widoczne podziały wiersza przetrwają, może zaskoczyć, gdy sąsiednie wiersze przepłyną w jeden. Konwerter emituje formę twardego podziału, ale jeśli edytujesz ręcznie później, nie usuwaj końcowych spacji.
Wiersz pierwszy<br>Wiersz drugi <!-- jeśli forma podziału zostanie usunięta, scalają się w jeden wiersz -->
Wiersz pierwszy Wiersz drugi <!-- dwie końcowe spacje zachowują <br> jako twardy podział -->
Degradacja głęboko zagnieżdżonych tabel
Tabele GFM z kreskami pionowymi nie potrafią się zagnieżdżać ani nieść treści blokowej. Starszy układ, który umieszcza tabelę (albo listę, albo wiele akapitów) wewnątrz komórki tabeli, nie może stać się czystą tabelą z kreskami pionowymi — konwerter spłaszcza, co się da, i pozostawia resztę jako surowy HTML, by nic nie przepadło. Rozwiązaniem jest uproszczenie źródła, a nie wyniku.
<table><tr><td><table><tr><td>wewnątrz</td></tr></table></td></tr></table> <!-- zagnieżdżona tabela nie może stać się płaską tabelą z kreskami pionowymi -->
<!-- Najpierw spłaszcz do tabeli jednopoziomowej: --> <table><tr><td>wewnątrz</td></tr></table> → | wewnątrz | | -------- |
Oczekiwanie, że <script> lub style przetrwają
<script>, <style> i elementy na poziomie nagłówka to kod i prezentacja, a nie treść dokumentu, więc są usuwane całkowicie — nie konwertowane, nie zachowywane jako surowy HTML. Wklejenie całej strony i oczekiwanie, że zachowanie lub CSS przejdą do Markdown, zawiedzie. Markdown to format treści; jeśli potrzebujesz kodu lub stylowania, zachowaj HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Treść</p>
<!-- oczekiwanie, że styl i skrypt przejdą --> Treść <!-- przetrwa tylko treść; <script>/<style> są odrzucane -->
Typowe zastosowania
- Migruj treść webową lub z CMS-a do Notion, Obsidian lub strony statycznej
- Wyciągnij strony z CMS-a, eksportu z WordPressa lub starej strony HTML i skonwertuj je na Markdown, który wpada prosto do Notion, Obsidian, Hugo lub Jekyll. Zamieniasz rozwlekły znacznik na przenośny tekst, który czysto żyje w repozytorium Git i sensownie diffuje się w przeglądzie.
- Eksportuj z edytora WYSIWYG
- Edytory tekstu sformatowanego emitują gęsty HTML pełen atrybutów. Wklej ten wynik tutaj, by odzyskać czysty Markdown pod spodem — nagłówki, listy, linki i wyróżnienia — żeby treść mogła trafić do potoku dokumentacji lub bazy wiedzy opartej na Markdown, zamiast pozostawać zamknięta w edytorze.
- Oczyść HTML do Markdown, by zasilać LLM i potoki RAG
- Surowy HTML spala tokeny na znaczniki, skrypty i stylowanie, których model nigdy nie potrzebuje. Konwersja zeskrobanej strony na Markdown usuwa ten szum, zachowując strukturę, którą LLM dobrze czyta, więc mieścisz więcej realnej treści w oknie kontekstu i uzyskujesz czystsze osadzenia do pobierania.
- Skonwertuj wklejony tekst sformatowany na Markdown
- Skopiuj sformatowany tekst ze strony WWW, e-maila lub dokumentu, a trafia on jako HTML do schowka. Wklej go tutaj, by zamienić ten tekst sformatowany w Markdown, który możesz zacommitować, wysłać w pull requeście lub wpisać do notatek — z zachowanym formatowaniem i bez bałaganu.
- Zarchiwizuj stronę jako Markdown
- Zapisz znaczącą treść strony WWW jako mały, odporny na przyszłość plik .md zamiast ciężkiej migawki HTML pełnej skryptów i śledzenia. Markdown pozostaje czytelny w dowolnym edytorze tekstu za dekady i zajmuje ułamek miejsca.
- Zamień starszą dokumentację HTML na Markdown
- Stara dokumentacja pisana jako ręcznie kodowany HTML jest uciążliwa w utrzymaniu. Skonwertuj ją na Markdown, by wprowadzić ją do nowoczesnego procesu docs-as-code — gdzie może być sprawdzana linterem, przeglądana w pull requestach i renderowana przez generator stron statycznych.
Szczegóły techniczne
- Wynik CommonMark a GitHub Flavored Markdown
- Konwerter może celować w zwykły CommonMark lub, domyślnie, w nadzbiór GitHub Flavored Markdown. CommonMark definiuje precyzyjnie nagłówki, wyróżnienia, listy, linki, obrazy, kod i cytaty blokowe. GFM dodaje cztery konstrukcje, które mapują się wprost z typowego HTML: <table> → tabela z kreskami pionowymi, elementy listy z polami wyboru → listy zadań, <del>/<s> → przekreślenie, a gołe adresy URL → automatyczne linki. Ponieważ większość treści webowej używa tabel i podobnych elementów, wynik GFM to praktyczna wartość domyślna; wybierz CommonMark tylko wtedy, gdy silnik renderujący po stronie celu nie rozumie rozszerzeń GFM — w takim przypadku tabele wracają do surowego HTML.
- Konwersja stratna i nieodwracalna — powiedziana wprost
- HTML jest ściśle bardziej wyrazisty niż Markdown, więc konwersja nie może być bezstratna i warto powiedzieć to otwarcie. Markdown nie ma składni dla <div>, <span> ani innych ogólnych kontenerów; nie ma sposobu, by nieść nazwy klas, id, style inline, colspan/rowspan ani dowolne atrybuty data-*; i nie ma reprezentacji dla większości elementów semantycznych lub układu. Są one rozwijane (treść zachowana, znacznik odrzucony), odrzucane (atrybuty) lub — gdy odrzucenie oznaczałoby utratę znaczenia — zachowywane jako surowy HTML inline. Podróż tam i z powrotem HTML → Markdown → HTML nie odtworzy oryginału. To celowy kompromis: Markdown istnieje, by być czystym, diffowalnym i edytowalnym dla człowieka, a nie odzwierciedlać HTML. Większość konkurentów to przemilcza; powiedzenie tego pozwala Ci zdecydować z otwartymi oczami, czy Markdown to właściwy cel.
- Kompromisy stylu: ATX/Setext, inline/referencyjne, ogrodzenie/wcięcie
- Trzy wybory wyniku mają realne kompromisy. Nagłówki ATX (#) obejmują wszystkie sześć poziomów i czysto się przeszukują; Setext (podkreślony) istnieje tylko dla H1/H2, więc narzędzie emituje go dla dwóch najwyższych poziomów i wraca do ATX poniżej. Linki inline trzymają URL obok tekstu — najlepsze przy rzadkich linkach; linki referencyjne ściągają adresy URL do stopy dokumentu — najlepsze przy tekście gęstym od linków i wielokrotnym użyciu po etykiecie. Dla kodu bloki w ogrodzeniu (potrójne grawisy) niosą ciąg informacyjny o języku i bezpiecznie się zagnieżdżają, podczas gdy wcięte (cztery spacje) bloki kodu nie potrafią wyrazić języka i łamią się wewnątrz list — więc ten konwerter zawsze emituje bloki w ogrodzeniu z <pre><code>.
Dobre praktyki
- Sformatuj HTML przed konwersją
- Zminimalizowany lub głęboko poplątany HTML — zwłaszcza zagnieżdżone tabele układu i zbłąkane elementy inline — konwertuje się czyściej, gdy najpierw jest dobrze sformowany. Przepuść nieporządne źródło przez nasz Formater HTML, by ładnie je sformatować i znormalizować, a potem konwertuj. Czyste wejście daje czysty Markdown z mniejszą liczbą powrotów do surowego HTML.
- Spodziewaj się stratnych odrzuceń i je przeglądaj
- Traktuj konwersję jako stratną z założenia. Klasy, style inline, otoczki <div>/<span> oraz egzotyczne atrybuty znikają z wyniku, i zwykle właśnie tego chcesz dla przenośnego Markdown — ale przejrzyj rezultat pod kątem czegokolwiek semantycznie ważnego, co żyło tylko w atrybucie (etykieta aria-label, komórka scalona przez colspan), i dodaj to z powrotem ręcznie, jeśli ma znaczenie.
- Dobierz styl linków do gęstości dokumentu
- Użyj linków inline dla tekstu z linkiem tu i ówdzie — URL pozostaje obok swojego tekstu i źródło czyta się naturalnie. Przełącz się na linki referencyjne, gdy sekcja jest gęsta od linków lub wielokrotnie używa tych samych adresów URL: ściągnięcie ich na numerowaną listę u stopy utrzymuje akapity przejrzystymi i unika powtarzania długich URL-i.
- Konwertuj na Markdown przed wysłaniem stron do LLM
- Gdy zasilasz model treścią webową — do promptu, osadzenia lub repozytorium RAG — najpierw skonwertuj HTML na Markdown. Usuwasz znaczniki, skrypty i stylowanie, które marnują tokeny i dodają szum, zachowujesz strukturę, której model faktycznie używa, i mieścisz znacznie więcej realnej treści wewnątrz okna kontekstu.
- Zweryfikuj złożone tabele po konwersji
- Tabele GFM z kreskami pionowymi są płaskie — bez zagnieżdżonych tabel, bez treści blokowej w komórkach, bez komórek scalonych. Po konwersji tabeli gęstej od danych lub układu sprawdź Markdown: proste siatki konwertują się perfekcyjnie, ale cokolwiek z colspan lub zagnieżdżonymi blokami ulega degradacji i może pojawić się jako surowy HTML. Najpierw uprość tabelę źródłową, jeśli zależy Ci na czystej tabeli z kreskami pionowymi.
Najczęściej zadawane pytania
Jak obsługiwane są linki inline i referencyjne?
Nagłówki ATX a Setext — których używać?
Co dzieje się z HTML, którego Markdown nie potrafi przedstawić, jak <div> i <span>?
Czy usuwa <script> i style?
Jak obsługiwane są zagnieżdżone tabele i listy?
Czy HTML na Markdown jest bezstratny?
Czy mogę zasilić Markdownem LLM lub ChatGPT?
Czy moje pliki są przesyłane na serwer?
Czy działa offline?
Czy mogę skonwertować Markdown z powrotem na HTML?
Powiązane narzędzia
Zobacz wszystkie narzędzia →Koder i dekoder Base64
Kodowanie i formatowanie
Zakoduj i zdekoduj Base64 online za darmo. Konwersja w czasie rzeczywistym z pełną obsługą UTF-8 i emoji. 100% w przeglądarce, bez rejestracji.
Konwerter Base64 na obraz
Kodowanie i formatowanie
Zdekoduj ciąg Base64 lub data URI z powrotem na obraz w przeglądarce. Podejrzyj, odczytaj wymiary i MIME, a potem pobierz jako PNG, JPG, GIF, SVG. Bez przesyłania.
Konwerter CSV na JSON
Kodowanie i formatowanie
Konwertuj CSV na JSON w przeglądarce. RFC 4180, wnioskowanie typów, nagłówek, big-int safe. 100% prywatnie, bez wysyłki.
Konwerter obrazu na Base64
Kodowanie i formatowanie
Konwertuj obrazy na data URI Base64 w przeglądarce — PNG, JPG, GIF, WebP, SVG, ICO. Kopiuj wynik HTML, CSS, Markdown i JSON. 100% prywatnie, bez przesyłania.
JSON Diff (Porównaj)
Kodowanie i formatowanie
Porównaj dwa pliki JSON natychmiast w przeglądarce. Podświetlanie obok siebie, wynik JSON Patch (RFC 6902), ignorowanie szumliwych pól jak znaczniki czasu i identyfikatory. 100% prywatności, bez przesyłania.
Formatowanie i walidacja JSON
Kodowanie i formatowanie
Formatuj, waliduj i upiększaj JSON w przeglądarce. Bezpłatne narzędzie z kontrolą składni, wykrywaniem błędów i minifikacją. 100% prywatnie.