Generator slugów URL
Zamień tytuł w czystą, bezpieczną dla URL ścieżkę — kebab-case, małe litery, bez akcentów
Tytuł lub tekst
Slug
Czym jest Generator slugów URL?
Napisałeś wpis na blogu zatytułowany "Jak Parsować URL w JavaScript — Przewodnik Właściciela Kawiarni (Edycja 2026)" i teraz potrzebujesz dla niego ścieżki URL. Nie chcesz w niej %E2%80%94, nie chcesz spacji, nie chcesz wielkich liter, które się rozwalają na serwerach rozróżniających wielkość znaków. Chcesz jak-parsowac-url-w-javascript-przewodnik-wlasciciela-kawiarni-edycja-2026. To właśnie robi to narzędzie. Wklej tytuł, skopiuj slug. Sam termin pochodzi z wydawnictwa — etymologię znajdziesz w haśle Wikipedii o slugach.
Algorytm jest standardowy. Najpierw małe litery, potem String.prototype.normalize('NFD'), żeby rozłożyć znaki Unicode na literę bazową plus znaki łączące. Usunąć znaki łączące (więc é staje się e, ą staje się a, ż staje się z). Kilka popularnych ligatur obsłużyć ręcznie — æ → ae, ø → o, ß → ss, ł → l. Zastąpić każdy ciąg znaków niealfanumerycznych pojedynczym myślnikiem. Przyciąć początkowe i końcowe myślniki. Ograniczyć do 80 znaków na granicy słowa, żeby nie skończyć ze slugiem przyciętym w połowie wyrazu.
Dlaczego kebab-case? Bo myślniki to konwencja. Wytyczne Google dotyczące struktury URL zalecają myślniki zamiast podkreśleń do oddzielania wyrazów w URL — wyszukiwarki traktują myślniki jak granice słów. RFC 3986 definiuje znaki niezarezerwowane w ścieżce URL (litery, cyfry, myślnik, kropka, podkreślenie, tylda) i większość konwencji slugów trzyma się ich podzbioru. Snake_case (moj_post_tytul) i Title-Case-Slug (Moj-Post-Tytul) to alternatywy, które się widzi, ale małe-literowy kebab-case jest domyślny wszędzie, od praktyki czystych URL po domyślne ustawienia większości CMS-ów.
Jak korzystać z generatora slugów
Trzy kroki. Każdy odpowiada przyciskowi na tej stronie.
Wklej tytuł albo wczytaj przykład
Wrzuć tytuł, nagłówek, nazwę produktu lub dowolny tekst do lewego panelu. Kliknij Przykład, żeby załadować realistyczny przykład z półpauzami, akcentami i nawiasami — taki tytuł, który łamie naiwny kod sluga. Przykładowe wejście:
Jak Parsować URL w JavaScript — Przewodnik Właściciela Kawiarni (Edycja 2026)Może być wszystko — emoji, litery z akcentami, cudzysłowy drukarskie, półpauzy, podwójne myślniki, wielokrotne spacje. Slug wychodzi czysty.
Przeczytaj sluga
Prawy panel pokazuje sluga w trakcie pisania. Małe litery, z myślnikami, tylko ASCII, ograniczony do 80 znaków na granicy słowa. Jeśli wejście nie zawiera znaków nadających się do sluga (np. same emoji albo sama interpunkcja), zobaczysz przyjazny komunikat zamiast mylącego pustego wyniku.
Skopiuj lub pobierz
Kliknij Kopiuj, żeby wysłać sluga do schowka, albo Pobierz, żeby zapisać go jako plik .txt. Użyj Wyczyść w panelu wejściowym, żeby zacząć od nowa z innym tytułem.
Kiedy faktycznie tego użyjesz
URL-e wpisów na blogu
Twój CMS automatycznie generuje slugi, ale są brzydkie — źle zdejmuje akcenty, zostawia podkreślenia, nie radzi sobie z cudzysłowami drukarskimi. Wklejasz tytuł tutaj, dostajesz czystego sluga, wklejasz z powrotem do pola URL. Działa dla WordPressa, Ghosta, ręcznie zrobionych blogów Next.js, wszystkiego, co pozwala nadpisać sluga.
URL-e produktów lub kategorii w e-commerce
Marco Rivera dodaje nowy produkt o nazwie "Zestaw Crème Brûlée — 4-pak (Edycja Limitowana)". URL musi być /produkty/zestaw-creme-brulee-4-pak-edycja-limitowana, a nie /produkty/Zestaw+Crème+Brûlée+%E2%80%94+4-pak+%28Edycja+Limitowana%29. Slug i wstaw.
Nazwy plików z tytułów wpisanych przez użytkowników
Zapisujesz przesłane dokumenty na dysku, a klient wpisał "Raport Q4 — Ostateczny (v3).docx" jako tytuł. Nie chcesz tego jako nazwy pliku. Zsluguj tytuł, dodaj .docx, zapisz plik. Działa tak samo dla kluczy S3, nazw branchy GitHub z tytułów issue, i nazw kanałów Slacka z nazw projektów.
Migracja treści z innego CMS
Priya Patel przenosi 800 artykułów ze starego CMS do nowego, a tytuły źródłowe mają niespójne kodowanie — niektóre z akcentami, niektóre bez, niektóre z emoji z redesignu z 2018 roku. Każdy tytuł przepuść przez slugger, deduplikuj, i masz nową mapę URL gotową do tablicy przekierowań.
Częste pytania
Dlaczego usuwacie akcenty zamiast kodować je procentowo?
Bo slug ma być czytelny dla człowieka. café w slugu staje się %C3%A9 w prawdziwym URL-u, co wygląda fatalnie w pasku przeglądarki, psuje kopiuj-wklej w czatach i myli nietechnicznych czytelników. Sprowadzenie do ASCII utrzymuje URL czytelny i przyjazny SEO. Normalizacja NFD to standardowy sposób takiej dekompozycji.
A co z pismami nielatyńskimi — chińskim, arabskim, hindi?
NFD nie rozkłada ideogramów ani pism, które nie mają struktury baza+znak-łączący. Więc tytuł po chińsku da tu pustego sluga i zobaczysz komunikat "brak znaków nadających się do sluga". Dla pism nielatyńskich masz dwie opcje: najpierw transliterować (biblioteką typu ICU lub unidecode), albo użyć oryginalnego pisma w URL — nowoczesne przeglądarki i Google radzą sobie z Unicode w URL bez problemu, tylko mniej ładnie.
Dlaczego limit 80 znaków?
Nie ma twardej reguły, ale URL-e przekraczające ~80 znaków w segmencie ścieżki zaczynają się brzydko zawijać w mailach, podglądach społecznościowych i druku. Wskazówki Google nie podają liczby, ale zalecają "proste, opisowe" URL-e — długie nie są ani jednym, ani drugim. Limit znajduje ostatni myślnik przed 80 znakami, żeby uniknąć cięcia w środku słowa.
Czy obsługuje emoji?
Tak. Emoji są usuwane razem z innymi znakami niealfanumerycznymi. Więc "🎉 Nowa Premiera! 🚀" staje się nowa-premiera. Jeśli twój slug skończy pusty (samo emoji na wejściu), dostajesz przyjazny komunikat o pustym slugu zamiast popsutego URL.
Jaka jest różnica między tym a URL-encodingiem tytułu?
URL-encoding zachowuje każdy znak, ale escapuje niebezpieczne — więc spacje stają się %20, akcenty stają się procent-escapowanymi bajtami UTF-8. Wynik jest poprawnym URL-em, ale nieczytelnym. Slug to coś innego: przyjazny człowiekowi segment ścieżki, który wyrzuca znaki, które tam nie pasują. Używaj URL-encodingu do parametrów query, slugów do segmentów ścieżki. Standard URL WHATWG ma precyzyjne definicje obu.
Powinno się używać kebab-case czy snake_case?
Kebab-case (moj-post-tytul) do URL-i — to jest konwencja i to, co wyszukiwarki traktują jako separatory słów. Snake_case (moj_post_tytul) jest OK do nazw zmiennych i identyfikatorów bazodanowych, ale w URL-ach podkreślenia często traktuje się jako część słowa, co szkodzi SEO. To narzędzie domyślnie używa kebab. Jeśli potrzebujesz snake, zrób find-and-replace myślników w wyniku.
Inne narzędzia URL i tekstowe
Slug to jeden kawałek URL. Oto co jeszcze do niego pasuje: