Todos os artigos

Slugify: como transformar qualquer texto numa URL

O til em «não» não é um simples acento decorativo — marca uma nasalização que muda completamente o significado da palavra. Ao virar slug, «não» perde o til e vira «nao», uma sequência de letras que, isolada, não tem significado próprio em português, mas que ilustra bem quanta informação fonética um slug descarta silenciosamente ao achatar acentos e til para o alfabeto ASCII básico.

O que a conversão para slug faz

  • Converte todas as letras para minúsculas.
  • Substitui espaços e pontuação por hífens.
  • Translitera ou remove caracteres fora do latim básico (como cirílico, cedilha, til ou letras acentuadas).
  • Reduz hífens repetidos e remove hífens do início e do fim.

Por exemplo, o título "Olá, Mundo! Como vai?" vira algo como ola-mundo-como-vai.

Por que apenas URL-encode não basta

O percent-encoding (por exemplo, %C3%A3 para "ã") é tecnicamente válido numa URL, mas ilegível para uma pessoa e parece pouco confiável na barra de endereços ou ao compartilhar um link. Um slug resolve justamente o problema de legibilidade, não só a validade técnica.

Para que serve

  • Gerar automaticamente a URL de um post de blog a partir do seu título em português.
  • Criar um identificador legível a partir do nome de um produto para uma loja online.
  • Formar um nome de arquivo ou classe CSS a partir de um texto qualquer, evitando caracteres não permitidos.

Colisões: quando títulos diferentes geram o mesmo slug

Os títulos "Olá, Mundo!" e "olá mundo" viram, após a normalização (minúsculas, remoção de pontuação), o mesmo slug ola-mundo, embora os textos originais sejam diferentes. Se o slug for usado como identificador único (por exemplo, na URL de um artigo), essa colisão precisa ser resolvida à parte — tipicamente adicionando um sufixo numérico ou um ID ao duplicado.

Experimentar a ferramenta