Slugify
TextoConverte qualquer texto — incluindo chinês, acentos e emojis — em um slug seguro para URL. Escolha separador, maiúsculas/minúsculas, transliteração CJK→pinyin e um limite de comprimento opcional, com pré-visualização ao vivo.
Nesta página
O que é uma ferramenta de slugify?#
Uma ferramenta de slugify transforma um título legível por humanos num slug seguro para URL — a string compacta, em minúsculas, sem pontuação que vive num endereço web depois do domínio. How to Brew Coffee at Home passa a how-to-brew-coffee-at-home; Café Münchën passa a cafe-munchen; 你好世界 passa a ni-hao-shi-jie. Os slugs são a forma como blogs, sites de e-commerce e sistemas de documentação constroem URLs legíveis, partilháveis e amigáveis para SEO a partir de títulos que nunca foram escritos pensando num URL.
As partes difíceis são exatamente os carateres que as pessoas realmente usam: acentos (café), ligaduras (ß, æ), travessões e aspas tipográficas, e ideogramas CJK que não têm nenhuma representação ASCII. Um ingénuo “apagar tudo o que não seja a-z” transforma 你好世界 numa string vazia, o que produz um URL partido. Esta ferramenta trata os três corretamente: decompõe as letras acentuadas e retira as marcas combinatórias (é → e), mapeia as ligaduras latinas não-decomponíveis (ß → ss, æ → ae) e translitera ideogramas CJK para pinyin sem tons (你好世界 → ni hao shi jie) para que um título chinês ainda produza um slug com significado e pronunciável.
Tudo corre localmente. O dicionário de pinyin só é carregado quando a entrada contém efetivamente CJK, pelo que um slug puramente latino nunca paga por ele.
Como usar#
- Escreva ou cole o título no painel de entrada à esquerda.
- Escolha o separador — hífen (padrão) ou sublinhado.
- Marque Minúsculas (ligado por padrão) para dobrar a saída para minúsculas; desmarque se precisa de preservar a maiúscula.
- Marque Translitarar CJK para pinyin (ligado por padrão) para converter carateres CJK em pinyin sem tons; desmarque se prefere que o CJK seja removido em vez de transliterado.
- Opcionalmente defina um Comprimento máx. (0 significa ilimitado). Quando o slug o excede, é cortado e qualquer separador final pendente é aparado para que o URL nunca termine num
-nu. - Leia o painel de saída à direita — o slug aparece no momento em que a entrada ou qualquer opção muda. Carregue em Copiar para o recolher.
A linha de estado reporta o comprimento do slug e sinaliza dois casos especiais: quando o CJK foi transliterado e quando o resultado foi truncado para caber num comprimento máximo.
Principais recursos#
- Tratamento de acentos e ligaduras. Decomposição NFKD mais um pequeno mapa de compatibilidade latino transforma
café,Münchën,straße,œuvreem ASCII limpo (cafe,munchen,strasse,oeuvre) em vez de descartar as letras inteiramente. - CJK para pinyin. Os ideogramas chineses são transliterados para pinyin sem tons usando um dicionário embutido, pelo que
你好世界passa ani-hao-shi-jie— um slug pronunciável e com significado em vez de vazio ou mutilado. - Fronteiras de palavra limpas. Sequências CJK são envolvidas em espaços antes da passagem do separador, pelo que a saída transliterada se separa em palavras (
ni-hao) em vez de se colar (nihao). - Limite de comprimento com aparo limpo. Um comprimento máximo corta o slug e depois retira qualquer separador final pendente, para que nunca se obtenha um URL a terminar em
-. - Hífen ou sublinhado. Escolha o separador que a sua plataforma espera — a maioria dos slugs web modernos usa hífens, mas alguns sistemas e convenções de nomes de arquivo usam sublinhados.
- Carregamento preguiçoso do pinyin. O dicionário de pinyin só é importado da primeira vez que a entrada contém efetivamente CJK, pelo que um slug todo-latim nunca o descarrega.
- Local e nunca lança erros. Entrada vazia reporta
empty; entrada que se reduz a nada (por exemplo, só emoji) reportano-output. As falhas tornam-se uma mensagem clara, nunca uma exceção.
Exemplo detalhado#
Cole o título do texto de exemplo do campo de entrada, com todos os padrões (separador hífen, minúsculas ligadas, transliterar ligado):
Café Münchën — 你好世界
Passo a passo:
- CJK é detetado, pelo que
你好世界é transliterado parani hao shi jie. - Acentos são retirados:
Café→Cafe,Münchën→Munchen. - O travessão e os espaços colapsam para o separador.
- O resultado passa a minúsculas e os separadores iniciais/finais são aparados.
O painel de saída mostra:
cafe-munchen-ni-hao-shi-jie
Agora defina Comprimento máx. para 20 e regenere. O slug é cortado e o hífen final pendente é removido:
cafe-munchen-ni-hao
Note que os acentos passaram a ASCII simples, o título chinês tornou-se pinyin pronunciável separado em palavras, e o limite de comprimento produziu um fragmento de URL limpo em vez de um a terminar a meio de uma palavra ou num hífen nu.
Perguntas frequentes#
Porque é que o meu título chinês passa a pinyin em vez de se manter como carateres?#
Porque os URLs são mais seguros e portáteis quando usam ASCII. Carateres CJK num URL exigem percent-encoding (cada 你 passa a %E4%BD%A0), o que é ilegível para humanos e para muitas ferramentas de analítica. Pinyin sem tons mantém o slug pronunciável, com significado e só em ASCII — ni-hao-shi-jie é um URL muito melhor do que uma string de sinais de percentagem. Se prefere manter os carateres originais, desmarque Translitarar CJK para pinyin.
O que acontece aos emojis e a outros símbolos não alfanuméricos?#
São retirados. Emojis, aspas tipográficas, parênteses e a maioria da pontuação não sobrevivem ao pipeline do slug — não são letras, pelo que a passagem de colapso não-alfanumérico os transforma em separadores. Se a sua entrada é só emojis e símbolos, tudo é retirado e a ferramenta reporta no-output em vez de emitir um slug vazio.
Devo usar hífen ou sublinhado como separador?#
Para URLs que os humanos vão ler, use hífen — os motores de pesquisa tratam os hífens como separadores de palavras e os hífens são a convenção em praticamente todas as plataformas web modernas. Os sublinhados são adequados quando o slug é afinal um nome de arquivo ou um identificador consumido por um sistema que reserva hífens para outra coisa (intervalos de versão, flags). A ferramenta suporta ambos para que se possa corresponder ao que o seu alvo espera.
Como funciona o corte do comprimento máximo?#
O slug é primeiro construído por completo, depois cortada para o comprimento pedido. Se o corte cair no meio de uma palavra, a palavra fica parcial; se o corte deixar um separador final, esse separador é aparado. Isto garante que o slug nunca excede o limite e nunca termina num - ou _ nu, que é o que os campos de URL e as larguras de coluna de base de dados efetivamente exigem.
Isto é o mesmo que URL-encoding?#
Não, e a diferença interessa. URL-encoding (percent-encoding) escapa carateres para que possam viajar dentro de um URL — café passa a caf%C3%A9. Slugify em vez disso normaliza o texto para letras e separadores ASCII — café passa a cafe. Os slugs são para o segmento de caminho legível por humanos de um URL; o percent-encoding é para transportar com segurança valores arbitrários em query strings. Se precisa do segundo, use a ferramenta /en/encoding/url/.