Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Konwerter słów do HTML

Przekształcaj listy słów na kod HTML: <ul>/<ol>, tabele, tagi <option>. Szybko generuj HTML z plain text. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Plik zostanie użyty tylko podczas przetwarzania.
Wybierz plik Word (.docx) i kliknij „Przetwórz” — dostaniesz gotowy kod HTML: akapity <p>, nagłówki <h1>–<h6>, listy <ul> i tabele <table>.
Konwerter czyta word/document.xml z wnętrza pliku DOCX i buduje HTML z niego — kolejność i taksonomia znaczników dokładnie jak w kodzie narzędzia; treść jest escapowana, więc żaden kod z dokumentu nie wykona się na stronie
Element w pliku WordWynik w HTML
akapit Worda <p>treść</p> — każdy niepusty akapit dokumentu; puste akapity są pomijane
style Nagłówek 1–6, Title, Subtitle <h1>–<h6> (Title → h1, Subtitle → h2); przy opcji „Zamień nagłówki: Nie” wszystko zostaje <p>
lista Worda (punkty, numeracja) <ul><li>…</li></ul> — kolejne akapity listy składają się w jedną listę, zakończoną pierwszym akapitem zwykłym
pogrubienie <strong>tekst</strong> (przy „Zachowaj formatowanie: Tak”)
kursywa <em>tekst</em>; podkreślenie → <u>tekst</u>
hiperłącze <a href="…" rel="nofollow"> — tylko schematy http(s):, mailto:, tel:, # i ścieżki /; podejrzane adresy (np. javascript:) zostają samym tekstem
tabela Worda <table><tr><td> — akapity w jednej komórce łączone znakiem <br>
tabulator w akapicie cztery spacje; miękkie łamanie wiersza (Shift+Enter) → <br>
twarda spacja Worda zwykła spacja; cała treść escapowana — „&”, „<”, „>” jako encje HTML
opcja „Owiń w article” cały fragment owinięty: <article> … </article>

Narzędzie pracuje na plikach .docx (Word 2007+, Open XML): z paczki ZIP dokumentu czyta treść, style akapitów, numerację list i relacje hiperłączy. Formatowanie znakowe przechodzi tylko przy opcji „Zachowaj formatowanie: Tak”.

Pełny dokument ma własne <head> z UTF-8 i tytułem zgadniętym z pierwszego nagłówka; fragment jest gotowy do wklejenia w środek istniejącej strony
OpcjaCo dostajesz
Fragment HTML (zalecane) tylko przetłumaczone elementy: <p>, <h1>…<h6>, <ul>, <table> — gotowe do wklejenia w istniejącą stronę albo CMS
Pełny dokument HTML szkielet z kodu silnika: <!doctype html> <html lang="pl"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>…z pierwszego H1/H2, inaczej „Dokument”</title> </head> <body> …fragment… </body> </html>
Owiń w znacznik article opcja niezależna od formatu: fragment dostaje obudowę <article> … </article>

Warto wiedzieć — Word do HTML w praktyce

Struktura zamiast wyglądu

Konwersja przenosi treść i hierarchię (nagłówki, listy, tabele), nie zaś kroje pisma, kolory i marginesy z Worda. To zaleta: czysty HTML z nagłówkami H1–H6 to dobry szkielet pod SEO i dalszą stylizację CSS.

Nagłówki i listy z Worda

Zadziała, gdy w dokumencie używasz stylów Worda (Nagłówek 1–6, listy punktowane i numerowane). Zwykłe „duże pogrubione” akapity nie stanie się nagłówkiem — w dokumencie nadaj style przed konwersją.

Bezpieczne linki i treść

Treść jest escapowana (< i & jako encje), a hiperłącza przepuszczane tylko dla bezpiecznych schematów — każdy link dostaje rel="nofollow", a adresy typu javascript: zostają zwykłym tekstem. Skryptów z dokumentu nie da się przemycić w wyniku.

Fragment czy dokument

Fragment HTML wklej w istniejącą stronę, CMS czy treść maila. Pełny dokument wybierz, gdy plik ma być samodzielną stroną — dostanie deklarację UTF-8 (polskie znaki) i tytuł z pierwszego nagłówka.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Konwerter tekstu na HTML – listy, tabele i tagi automatycznie

Ręczne owijanie każdego elementu tagami HTML jest żmudne. Konwerter przekształca plain text na gotowy kod HTML: listy nieuporządkowane i numerowane, tabele z separatorem, tagi option do select, tagi paragraph i inne – jeden klik zamiast ręcznej pracy.

konwerter tekstu na HTML generator listy HTML tekst na HTML plain text do HTML

Konwersja listy na HTML

Plain text (każde słowo/fraza w linii) → HTML lista. ul (nieuporządkowana):

  • element
  • element
. ol (numerowana):
  1. krok 1
  2. krok 2
. Zagnieżdżone listy: wcięcia → nested ul/ol. option: . Data list:

Konwersja tabeli na HTML

CSV lub tab-separated → HTML table. Separator: przecinek, tab, |. Nagłówki: pierwsza linia → <thead><tr><th>. Dane: kolejne linie → <tbody><tr><td>. Atrybuty: class="table", border="1". Responsive: <div class="table-responsive"><table>. Bootstrap: class="table table-striped table-hover". Przykład: imię,wiek,miasto → <th>imię</th><th>wiek</th><th>miasto</th>.

Inne konwersje tekstu na HTML

Paragrafy: każda linia →

. Nagłówki: ## tekst →

tekst

(Markdown-like). Link: URL → URL. Bold: **tekst** → tekst. Kod: `kod` → kod. Escape HTML: < > & " → < > & ". Odwrotna konwersja: HTML → plain text przez strip_tags.

HTML entities – znaki specjalne

Znaki HTML: < → < > → > & → & " → " ' → ' lub '. Polskie znaki w HTML: ą → å (nie używaj) lub po prostu ą w UTF-8. UTF-8: → polskie znaki bezpośrednio. Spaces:   (non-breaking),  ,  . Copyright: ©. Euro: €. Deg: ° (°).

Jak konwerter rozpoznaje słowa, linie i poziom zagnieżdżenia

Konwerter nie analizuje znaczenia słów ani gramatyki. Pracuje na trzech poziomach: znak, linia, blok. Najpierw wklejony tekst jest normalizowany — końce wierszy CRLF, CR i LF są traktowane jednakowo, spacje na końcu linii ucinane, a tabulatory zamieniane na ustaloną liczbę spacji. Dopiero potem parser dzieli tekst na linie i każdej przypisuje rolę: element listy, wiersz tabeli albo zwykły akapit.

Poziom zagnieżdżenia listy wyznacza wcięcie, czyli liczba znaków białych na początku linii. Linia bez wcięcia otwiera element najwyższego poziomu, linia z wcięciem trafia do podlisty ostatniego elementu o mniejszym wcięciu. Generator prowadzi stos otwartych list: gdy wcięcie rośnie, otwiera nowy znacznik i odkłada go na stos, gdy maleje — domyka wszystkie poziomy głębsze niż bieżący. Dlatego kolejność znaczników zamykających jest odwrotna do otwierających i struktura zostaje poprawna.

Tabele rozpoznaje się inaczej: narzędzie liczy wystąpienia wybranego separatora w każdej linii. Jeśli liczba kolumn jest stała w całym bloku, tekst staje się tabelą, a pierwsza linia może pełnić rolę wiersza nagłówkowego. Pojedyncza linia z inną liczbą separatorów przerywa blok i ląduje jako osobny akapit — warto więc sprawdzić, czy w treści komórki nie ma przypadkowego przecinka.

Przykład krok po kroku: notatka z zadaniami na listę HTML

  1. Do pola tekstowego wklejasz czterolinijkową notatkę: Wydrukować umowę, Zebrać podpisy, Wysłać skan, Zarchiwizować dokument — każde zadanie w osobnej linii, bez myślników i bez ręcznej numeracji.
  2. Jako typ listy wybierasz listę uporządkowaną, bo kolejność zadań ma znaczenie dla odbiorcy.
  3. Parser widzi cztery linie o identycznym, zerowym wcięciu, więc tworzy jedną listę bez podpoziomów: cztery elementy li na tym samym poziomie.
  4. Całość zostaje owinięta znacznikiem ol, a każda linia staje się osobnym li. Akapit nie jest dodawany, bo element listy sam w sobie jest blokiem tekstu.
  5. Gdyby druga linia miała dwa dodatkowe spacje wcięcia, trafiłaby do podlisty pierwszego punktu i na stronie wyświetliłaby się jako wcięty podpunkt.
  6. Kopiujesz wynikowy kod i wklejasz go w edytorze strony. W podglądzie zobaczysz numerowaną listę od 1 do 4, a sama numeracja nie jest wpisana w kod — generuje ją przeglądarka.

Mapowanie tekstu wejściowego na znaczniki wyjściowe

Co widzi parserZnaczniki na wyjściuKiedy to ważne
Linia bez wcięciali na najwyższym poziomie listyprosta lista jednego poziomu
Linia z wcięciemli wewnątrz zagnieżdżonej podlistyhierarchia punktów i podpunktów
Pusta liniaprzerwanie bieżącego blokukilka niezależnych list na jednej stronie
Stała liczba separatorów w każdej liniitable z wierszami tr i komórkami tddane skopiowane z arkusza kalkulacyjnego
Dwa separatory pod rządpusta komórka tdbrakująca wartość w danych wejściowych
Spacje na początku i końcu liniiusuwane przed konwersjączysty kod bez zbędnych wcięć w treści
Tabulatortraktowany jak ustalona liczba spacjitekst skopiowany z edytora kodu
Wcięcie mieszane, spacje i tabulatorypoziom liczony od pierwszego znaku białegoryzyko błędnej, nieoczekiwanej podlisty

Jak przygotować tekst, żeby konwersja wyszła czysto

  • Ustal jeden separator — nie mieszaj przecinka z tabulatorem w jednym bloku, bo liczba kolumn przestanie się zgadzać i tabela rozsypie się na akapity.
  • Pilnuj wcięć — podlisty rozpoznaje się po znakach białych na początku linii, więc używaj jednego rodzaju wcięcia w całym bloku.
  • Nie numeruj punktów ręcznie — jeśli w tekście są już cyfry, lista uporządkowana doda własną numerację i na stronie powstanie podwójna.
  • Bierz komórki z separatorem w cudzysłów — treść zawierająca przecinek bez cudzysłowu zostanie rozbita na dwie kolumny.
  • Testuj na małym wycinku — wklej najpierw kilka linii, sprawdź wynik i dopiero potem podawaj cały dokument.

Czego konwerter nie zrobi

  • Nie poprawi treści — nie sprawdza pisowni, nie odmienia słów i nie skraca zdań. Przepisuje znak po znaku, tylko opakowany w znaczniki.
  • Nie zgadnie struktury — bez wcięć i separatorów nie ma z czego zbudować tabeli ani podlisty, więc wszystko stanie się płaską listą.
  • Nie doda CSS ani klas — generuje wyłącznie znaczniki struktury. Wygląd zależy od arkusza stylów strony, do której wklejasz kod.
  • Nie naprawi niespójnego wcięcia — mieszanie spacji i tabulatorów w jednym bloku daje nieprzewidywalne poziomy zagnieżdżenia.

Najczęstsze pytania

Jak przekonwertować Excel/CSV na tabelę HTML?

Metoda 1: Excel → Zapisz jako CSV → konwerter online. Metoda 2: Google Sheets → Plik → Pobierz → CSV → konwerter. Metoda 3: tableconvert.com – wklej CSV, dostaniesz HTML. PHP: fgetcsv() + echo "". Python: pandas df.to_html() lub csv.reader + ręcznie. Styling: dodaj class="table" i Bootstrap CDN.

Jak escape'ować HTML w PHP?

htmlspecialchars($str, ENT_QUOTES, 'UTF-8'). Konwertuje: & → & < → < > → > " → " ' → '. htmlentities(): więcej znaków (np. znaki diakrytyczne też). strip_tags(): usuwa tagi HTML. Zawsze escapuj dane użytkownika przed wyświetleniem. XSS (Cross-Site Scripting): brak escape → atakujący wstrzykuje JS.

Jak generować HTML list z tablicy w JavaScript?

const items = ["jabłko","banan","wiśnia"]; const html = "

    " + items.map(i => `
  • ${i}
  • `).join("") + "
"; document.getElementById("list").innerHTML = html. Template literals (ES6): wygodne. React: items.map(i =>
  • {i}
  • ). Bezpieczeństwo: innerHTML z danymi użytkownika → XSS. Użyj textContent lub DOMParser.

    Co to jest Markdown i jak różni się od HTML?

    Markdown: lekki język znaczników. ## nagłówek, **bold**, *italic*, - lista, [link](url). Konwersja: marked.js (JavaScript), python-markdown, pandoc. HTML: pełny standard, bardziej elastyczny. Kiedy Markdown: dokumentacja (README), blogi (Ghost, Hugo). Kiedy HTML: pełna kontrola nad layoutem. GitHub: renderuje Markdown automatycznie. MDX: Markdown + JSX komponents.

    Jak usunąć tagi HTML z tekstu?

    PHP: strip_tags($html). Python: html.parser lub BeautifulSoup: soup.get_text(). JavaScript: element.textContent (bez tagów). Regex: html.replace(/<[^>]*>/g, "") (prosty, niezalecany dla złożonego HTML). HTML entities decode: PHP html_entity_decode(). Python html.unescape("<"). Zachowaj spacje: strip_tags może skleić słowa → dodaj spacje przed tagami.

    Jak zrobić listę HTML ze zwykłego tekstu?

    Wklej tekst tak, aby każdy punkt znalazł się w osobnej linii, i wybierz typ listy. Narzędzie samo owinie linie znacznikami li i doda znacznik listy zbiorczy na początku i końcu bloku.

    Dlaczego moja podlista wyszła jako osobna lista, a nie zagnieżdżona?

    Najczęściej zabrakło wcięcia albo wcięcie jest różne w kolejnych liniach. Zagnieżdżenie powstaje tylko wtedy, gdy linia zaczyna się od znaków białych większych niż linia nadrzędna i gdy cały blok używa tego samego rodzaju wcięcia.

    Jak wkleić komórkę z przecinkiem, żeby nie rozbiła tabeli?

    Ujmij taką treść w cudzysłów albo zmień separator na tabulator lub pionową kreskę. Parser liczy wystąpienia separatora w linii, więc dodatkowy przecinek bez cudzysłowu tworzy dodatkową kolumnę.

    Czy numeracja listy numerowanej jest wpisana w kod HTML?

    Nie, w kodzie są tylko znaczniki ol i li. Numery generuje przeglądarka, dlatego po skopiowaniu bloku na inną stronę numeracja zachowa się automatycznie i nie trzeba jej poprawiać ręcznie.

    Jak przenieść notatkę z Notatnika do HTML bez ręcznego owijania?

    Skopiuj tekst z zachowaniem podziału na linie, wklej go do pola konwertera i wybierz docelową strukturę. Jeśli notatka ma być tabelą, zamień wcześniej separatory w edytorze na jednolity znak, np. tabulator.

    Powiązane narzedzia: formatter HTML, minifikator HTML i konwerter Markdown na HTML.

    Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!