Инструменты
Руководства

Slugify

Текст

Преобразует любой текст — включая китайский, символы с акцентами и эмодзи — в чистый URL-безопасный slug. Выберите разделитель, регистр, транслитерацию CJK в пиньинь и ограничение длины, с живым предпросмотром.

100 % на клиенте Без бэкенда
Ввод
Вывод
Введите или вставьте текст для создания slug.
На этой странице

Что такое инструмент slugify?#

Инструмент slugify превращает человекочитаемый заголовок в URL-безопасный слаг — компактную строку в нижнем регистре без пунктуации, которая живёт в веб-адресе после домена. How to Brew Coffee at Home становится how-to-brew-coffee-at-home; Café Münchëncafe-munchen; 你好世界ni-hao-shi-jie. Слаги — то, как блоги, интернет-магазины и системы документации строят читаемые, расшариваемые, SEO-дружественные URL из заголовков, которые никогда не писались с оглядкой на URL.

Коварны именно те символы, что люди реально используют: акценты (café), лигатуры (ß, æ), длинное тире и типографские кавычки, а также CJK-идеографы, не имеющие ASCII-представления вовсе. Наивное «удали всё, что не a–z» превращает 你好世界 в пустую строку и даёт сломанный URL. Этот инструмент корректно обрабатывает все три случая: он разлагает буквы с акцентами и удаляет комбинирующие знаки (é → e), отображает неделимые латинские лигатуры (ß → ss, æ → ae) и транслитерирует CJK-идеографы в пиньинь без тонов (你好世界 → ni hao shi jie), поэтому китайский заголовок всё же даёт осмысленный, произносимый слаг.

Всё работает локально. Словарь пиньиня подгружается только тогда, когда ввод реально содержит CJK, поэтому чисто латинский слаг за него не платит.

Как пользоваться#

  1. Введите или вставьте заголовок в панель Ввод слева.
  2. Выберите разделитель — дефис (по умолчанию) или подчёркивание.
  3. Отметьте Нижний регистр (по умолчанию включено), чтобы сложить вывод в нижний регистр; снимите, если нужно сохранить регистр.
  4. Отметьте Транслитерация CJK в пиньинь (по умолчанию включено), чтобы преобразовать CJK в пиньинь без тонов; снимите, если хотите вырезать CJK, а не транслитерировать.
  5. При желании задайте Макс. длину (0 означает без ограничений). Когда слаг превышает её, он обрезается, а висящий в конце разделитель удаляется, чтобы URL никогда не заканчивался голым -.
  6. Читайте панель Вывод справа — слаг появляется, как только меняется ввод или любая опция. Нажмите Копировать, чтобы забрать его.

Строка состояния сообщает длину слага и отмечает два особых случая: когда CJK транслитерировался и когда результат был усечён под максимальную длину.

Ключевые возможности#

  • Обработка акцентов и лигатур. NFKD-разложение плюс небольшая карта латин-совместимости превращают café, Münchën, straße, œuvre в чистый ASCII (cafe, munchen, strasse, oeuvre), а не удаляют буквы целиком.
  • CJK в пиньинь. Китайские идеографы транслитерируются в пиньинь без тонов по встроенному словарю, поэтому 你好世界 становится ni-hao-shi-jie — произносимым, осмысленным слагом, а не пустым или искажённым.
  • Чистые границы слов. CJK-участки перед проходом разделителя оборачиваются пробелами, поэтому транслитерированный вывод разделяется на слова (ni-hao), а не склеивается (nihao).
  • Ограничение длины с чистой подрезкой. Максимальная длина обрезает слаг, а затем срезает висящий в конце разделитель, поэтому URL никогда не заканчивается на -.
  • Дефис или подчёркивание. Выберите разделитель, который ждёт ваша платформа, — большинство современных веб-слагов используют дефис, но некоторые системы и соглашения об именах файлов — подчёркивание.
  • Ленивая загрузка пиньиня. Словарь пиньиня импортируется только при первом появлении CJK во вводе, поэтому полностью латинский слаг никогда его не скачивает.
  • Локально и без выбросов. Пустой ввод сообщает empty; ввод, сводящийся к пустоте (например, только эмодзи), сообщает no-output. Неудачи превращаются в понятное сообщение, а не в исключение.

Разбор примера#

Вставьте заголовок из плейсхолдера со всеми дефолтами (дефис-разделитель, нижний регистр, транслитерация включена):

Café Münchën — 你好世界

По шагам:

  1. Обнаружен CJK, поэтому 你好世界 транслитерируется в ni hao shi jie.
  2. Акценты срезаны: CaféCafe, MünchënMunchen.
  3. Длинное тире и пробелы схлопываются в разделитель.
  4. Результат переводится в нижний регистр, лидирующие и завершающие разделители подрезаются.

Панель вывода показывает:

cafe-munchen-ni-hao-shi-jie

Теперь задайте Макс. длину = 20 и перегенерируйте. Слаг обрезается, а висящий дефис в конце удаляется:

cafe-munchen-ni-hao

Обратите внимание: акценты стали чистым ASCII, китайский заголовок стал произносимым пиньинем, разделённым на слова, а ограничение длины дало чистый фрагмент URL, а не обрыв посреди слова или голый дефис в конце.

FAQ#

Почему мой китайский заголовок становится пиньинем, а не остаётся иероглифами?#

Потому что URL безопаснее и мобильнее всего, когда используют ASCII. CJK-символы в URL требуют percent-кодирования (каждое превращается в %E4%BD%A0), что нечитаемо для людей и многих аналитических инструментов. Пиньинь без тонов сохраняет слаг произносимым, осмысленным и только-ASCII — ni-hao-shi-jie куда лучший URL, чем строка из знаков процента. Если хотите сохранить исходные символы, снимите Транслитерация.

Что происходит с эмодзи и прочими не-буквенно-цифровыми символами?#

Они вырезаются. Эмодзи, типографские кавычки, скобки и большинство пунктуации не переживают slug-пайплайн — это не буквы, поэтому проход не-буквенно-цифрового коллапса превращает их в разделители. Если ваш ввод — только эмодзи и символы, всё срезается и инструмент сообщает no-output, а не выдаёт пустой слаг.

Что выбрать — дефис или подчёркивание в качестве разделителя?#

Для URL, которые будут читать люди, используйте дефис — поисковики трактуют дефисы как разделители слов, и дефис — конвенция практически на всех современных веб-платформах. Подчёркивания уместны, когда слаг реально является именем файла или идентификатором, потребляемым системой, которая резервирует дефис для иного (диапазоны версий, флаги). Инструмент поддерживает оба, чтобы соответствовать ожиданиям вашей цели.

Как работает ограничение длины?#

Слаг сначала строится целиком, затем обрезается до запрошенной длины. Если срез пришёлся на середину слова, слово остаётся частичным; если срез оставил завершающий разделитель, он подрезается. Это гарантирует, что слаг никогда не превысит лимит и никогда не закончится голым - или _, что и нужно полям URL и ширине колонок базы данных.

Это то же самое, что URL-кодирование?#

Нет, и разница важна. URL-кодирование (percent-кодирование) экранирует символы, чтобы они могли проехать внутри URL — café становится caf%C3%A9. Slugify же нормализует текст в ASCII-буквы и разделители — café становится cafe. Слаги — для человекочитаемого сегмента пути URL; percent-кодирование — для безопасной передачи произвольных значений в строке запроса. Если нужно второе, используйте инструмент /en/encoding/url/.