Gerador de Slug de URL — Slugify de Texto
Transforme qualquer título em um slug de URL limpo e otimizado para SEO instantaneamente. Translitera acentos e cirílico ou mantém letras Unicode. 100% privado, no navegador.
O que é um slug de URL?
Um slug de URL é a parte de um endereço web que identifica uma página específica de forma legível. Em `https://go-tools.org/blog/how-to-write-url-slugs`, o slug é `how-to-write-url-slugs` — o segmento depois da última barra que nomeia o conteúdo. A palavra vem da publicação de jornais, onde um "slug" era o nome curto de trabalho que os editores davam a uma matéria; a web emprestou o termo para o nome curto que identifica uma página.
Um slug bem formado segue algumas convenções que se tornaram quase universais. Ele fica em minúsculas, porque mecanismos de busca tratam URLs como sensíveis a maiúsculas e uma forma consistentemente em minúsculas evita que a mesma página fique acessível em várias URLs. Ele usa hífens para separar palavras, porque o Google lê um hífen como fronteira de palavra (então `url-slug-generator` são três palavras-chave) mas lê um underscore como junção de palavra. Ele remove pontuação e símbolos, porque caracteres como `?`, `&`, `#` e espaços têm significados reservados em URLs ou precisam ser codificados em percentual, o que deixa o endereço feio e mais difícil de compartilhar. E é conciso — longo o suficiente para descrever a página e carregar a palavra-chave-alvo, curto o suficiente para ler de relance.
Gerar um slug à mão é mecânico mas tedioso: passar o título para minúsculas, substituir espaços por hífens, remover pontuação, dobrar caracteres acentuados, colapsar quaisquer hífens duplicados e aparar as pontas. Esta ferramenta faz tudo isso em um passo, a cada tecla. As decisões interessantes giram em torno de texto não-ASCII. Há duas filosofias válidas. A primeira, transliteração (o modo ASCII desta ferramenta), converte é para e, ü para u, ß para ss e Привет para privet, produzindo um slug portátil puramente ASCII que funciona em qualquer lugar. Ela se apoia na normalização Unicode NFD para dividir uma letra acentuada em uma letra base mais uma marca combinante, depois descarta a marca — uma técnica de zero dependências embutida em todo engine JavaScript — mais pequenas tabelas mantidas à mão para caracteres que não têm decomposição (ß, æ, ø) e para os alfabetos cirílico e grego. A segunda filosofia, preservação Unicode (o modo Unicode desta ferramenta), mantém letras de todo script e apenas passa para minúsculas e separa por hífens, produzindo um slug internacionalizado como 你好-世界. Essa é exatamente a regra que o GitHub aplica quando transforma um cabeçalho Markdown em um link de âncora, e navegadores e mecanismos de busca modernos a suportam totalmente através do padrão IRI.
O slug é uma pequena peça do design de URL, mas faz trabalho real: ele diz aos visitantes humanos sobre o que é uma página antes de clicarem, dá aos mecanismos de busca sinais de palavra-chave e torna os links legíveis quando compartilhados em chat, e-mail ou posts sociais. Um slug descritivo como /tools/url-slug-generator ganha de um opaco como /tools/page?id=4823 em todas essas dimensões.
Esta ferramenta roda inteiramente no seu navegador — o slug atualiza sem requisição de rede, e seu texto nunca é enviado nem registrado. Para trabalho de texto relacionado, o conversor de maiúsculas alterna texto entre camelCase, snake_case, kebab-case e outros estilos de identificador, o codificador/decodificador de URL lida com codificação percentual de URLs completas e strings de consulta, e o contador de palavras mede comprimento e tempo de leitura. Juntos eles cobrem a maior parte da modelagem de texto que um desenvolvedor ou autor de conteúdo faz antes de publicar.
// The core of a zero-dependency slugify (ASCII mode)
function slugify(input) {
return input
.normalize('NFD') // café → cafe + combining accent
.replace(/[\u0300-\u036f]/g, '') // drop the combining marks
.replace(/ß/g, 'ss') // chars with no NFD decomposition
.replace(/&/g, ' and ') // keep the meaning of '&'
.toLowerCase()
.replace(/[^a-z0-9]+/g, '-') // every other run of junk → one hyphen
.replace(/^-+|-+$/g, ''); // trim leading / trailing hyphens
}
slugify('Crème Brûlée Recipe'); // 'creme-brulee-recipe'
slugify('Salt & Pepper'); // 'salt-and-pepper'
slugify('10 Tips: A Guide!'); // '10-tips-a-guide' Principais recursos
Dois modos de transliteração
O modo ASCII dobra acentos e romaniza cirílico e grego para um slug portátil a–z; o modo Unicode mantém letras de qualquer script, no estilo de âncora do GitHub. Um seletor cobre tanto o caso de uso de "tornar portátil" quanto o de "manter meu idioma", entre os quais outras ferramentas forçam você a escolher.
Dobramento preciso de acentos
Usa normalização Unicode NFD para dobrar café → cafe, naïve → naive e Zürich → zurich, mais tratamento explícito para caracteres que não têm decomposição (ß → ss, æ → ae, ø → o). O resultado é correto para francês, espanhol, português, alemão, as línguas nórdicas e mais.
Tempo real, sem botão Converter
O slug atualiza a cada tecla e a cada mudança de opção — sem botão para clicar, sem recarregar a página. Cole um título, leia o slug, copie. Feito para a velocidade de publicar de verdade.
Controles de separador, caixa e comprimento
Alterne entre separadores de hífen e underscore, mantenha ou descarte o uso de minúsculas, e limite o slug em um comprimento máximo que trunca em uma fronteira de palavra em vez de no meio. Padrões sensatos (hífen, minúsculas, sem limite) batem com as boas práticas de SEO de fábrica.
Tratamento inteligente do e-comercial
O e-comercial é expandido para "and", então "Salt & Pepper" vira salt-and-pepper em vez de descartar silenciosamente uma palavra. Sequências de qualquer outra pontuação colapsam em um único separador, então você nunca obtém hífens duplicados ou finais.
Permalink compartilhável
Sua entrada e suas escolhas de opção são codificadas na URL da página, então você pode compartilhar um link que reproduz o slug exato que você gerou — útil para documentar uma decisão de nomenclatura em um ticket ou pull request.
Privacidade 100% no navegador
Todo slug é gerado localmente no seu navegador. Seu texto nunca é enviado, registrado ou analisado — seguro para nomes de produtos não anunciados e rascunhos de títulos. Zero requisições de rede enquanto você digita; verifique na aba Network do seu navegador.
Alternativas comparadas ao gerador de slug
slugify (pacote npm)
biblioteca JavaScriptA biblioteca slugify mais popular do Node — separador, minúsculas, substituições personalizadas e um mapa de transliteração configuráveis. Use-a no seu pipeline de build para gerar slugs programaticamente; use esta ferramenta para slugs pontuais e para pré-visualizar como um título vai ficar antes de fixá-lo no código.
github-slugger
biblioteca JavaScriptA biblioteca que alimenta as âncoras de cabeçalho do GitHub — ela mantém letras Unicode (não translitera) e desduplica slugs repetidos em uma página. O modo Unicode desta ferramenta reproduz seu comportamento de manter-as-letras, que é o que você quer ao casar links de âncora na página em docs Markdown.
Django slugify / Python-slugify
biblioteca PythonO slugify embutido do Django translitera para ASCII; o python-slugify de terceiros adiciona tratamento Unicode e mais opções. Ambos são do lado do servidor. Esta ferramenta de navegador te dá o mesmo resultado de transliteração interativamente, sem ambiente Python necessário, para verificações rápidas e trabalho de conteúdo.
Auto-slug do WordPress / Ghost / Hugo
recurso de CMSTodo CMS importante auto-gera um slug a partir do título ao salvar. Eles são convenientes mas dão pouco controle e frequentemente deixam stop words ou truncamento desajeitado. Use esta ferramenta para elaborar e encurtar o slug deliberadamente, depois cole-o no campo de slug do CMS para sobrescrever o auto-gerado.
Slugify do it-tools
ferramenta de navegadorUm slugify limpo e open-source na popular suíte it-tools — translitera e passa para minúsculas com comportamento fixo. Esta ferramenta adiciona um seletor explícito de modo ASCII/Unicode, controles de separador e comprimento, tratamento inteligente do e-comercial, e exemplos trabalhados completos e orientação de boas práticas para os casos de borda não-latinos e de SEO.
ferramenta de slug do convertcase.net
ferramenta de navegadorUm site de utilidade de texto de longa data com uma opção básica de slug focada em texto latino. Esta ferramenta vai além na internacionalização (romanização de cirílico/grego, um modo que preserva Unicode) e nas decisões de SEO — escolha de separador, limitação de comprimento e a justificativa de hífen-versus-underscore — que determinam se um slug realmente ranqueia.
Exemplos do gerador de slug
Título de post de blog → Slug de URL
10 Tips for Faster JavaScript: A Complete Guide!
10-tips-for-faster-javascript-a-complete-guide
Os dois-pontos, o ponto de exclamação e as letras maiúsculas são todos normalizados. O resultado é o slug kebab-case exato que WordPress, Ghost e Hugo geram por padrão — solte direto no campo de slug. Números são preservados, então "10" fica na frente onde carrega valor de palavra-chave.
Título acentuado (modo ASCII) → Slug transliterado
Crème Brûlée Recipe
creme-brulee-recipe
O modo ASCII dobra os acentos usando normalização Unicode NFD: è → e, û → u. O slug é puramente ASCII, então funciona em qualquer URL, nome de arquivo e chave de banco de dados sem codificação percentual. Esse é o comportamento que a maioria das plataformas CMS espera para títulos em línguas europeias.
Título alemão com ß e tremas
Große Änderungen für 2026
grosse-anderungen-fur-2026
O ß não tem decomposição NFD, então é mapeado explicitamente para "ss". Os tremas ä e ü se dobram para a e u. Nota: isso usa a convenção internacional simples (ä → a); se seu guia de estilo exige a grafia alemã ae/oe/ue, edite o slug depois de copiar.
Título cirílico (modo ASCII) → Slug romanizado
Привет мир
privet-mir
Uma tabela compacta de cirílico para latino romaniza a frase inteira, de forma que ela vira um slug ASCII legível em vez de uma string vazia. Mude para o modo Unicode e a mesma entrada permanece привет-мир, mantendo o script original para um público de língua russa.
Título CJK no modo Unicode
你好 世界
你好-世界
Ideogramas chineses, japoneses e coreanos não têm transliteração ASCII aqui, então o modo ASCII retorna um slug vazio. O modo Unicode mantém as letras e apenas separa por hífens — a abordagem moderna e conforme aos padrões para URLs internacionalizadas que o GitHub usa nas suas âncoras de cabeçalho.
Símbolos e e-comercial → Palavras legíveis
Salt & Pepper: 100% Natural
salt-and-pepper-100-natural
O e-comercial é expandido para "and" de forma que a palavra sobrevive em vez de desaparecer. O sinal de percentual e os dois-pontos são removidos como caracteres de URL inseguros, enquanto os dígitos em "100" são mantidos. O resultado se lê de forma limpa e carrega cada palavra-chave significativa.
Como usar o gerador de slug
- 1
Cole ou digite seu texto
Clique no editor e digite um título, cabeçalho ou frase — ou toque em um dos chips de exemplo (Título de blog, Acentos, CJK, Cirílico, Símbolos) para carregar um exemplo representativo. O slug aparece instantaneamente na caixa de saída abaixo.
- 2
Escolha o modo ASCII ou Unicode
Deixe o Modo em ASCII para um slug portátil a–z que translitera acentos e romaniza cirílico/grego. Mude para Unicode se seu texto está em um script não-latino (chinês, árabe, cirílico) e você quer manter os caracteres originais na URL.
- 3
Ajuste separador, caixa e comprimento
Mantenha o separador de hífen (recomendado) ou mude para underscore. Minúsculas vem ligado por padrão; desligue para preservar a capitalização. Defina um Comprimento máximo para limitar slugs longos em uma fronteira de palavra, ou deixe em 0 para o slug completo.
- 4
Copie o slug
Clique em Copiar para escrever o slug finalizado na sua área de transferência — o botão pisca "Copiado!" para confirmar. Cole-o no campo de slug do seu CMS, nome de arquivo ou id de âncora. Clique em Resetar para limpar o editor e começar de novo.
Erros comuns de slug
Deixar letras maiúsculas no slug
Porque URLs são sensíveis a maiúsculas para mecanismos de busca, um slug com caixa mista pode tornar a mesma página acessível em vários endereços (/My-Post e /my-post), dividindo os sinais de link e arriscando tratamento de conteúdo duplicado. Sempre passe slugs para minúsculas a menos que um sistema especificamente exija o contrário.
https://example.com/My-Awesome-Post
https://example.com/my-awesome-post
Usar underscores em vez de hífens
Underscores unem palavras aos olhos do Google, então my_first_post é lido como um único token em vez de três palavras-chave. Hífens separam palavras e são a escolha recomendada para SEO, padrão dos CMS. Mude o separador para underscore apenas quando um sistema downstream forçar.
https://example.com/my_first_post
https://example.com/my-first-post
Deixar caracteres não-ASCII brutos na URL
Colar um título com acentos ou símbolos direto em um campo de URL pode produzir uma sopa codificada em percentual quando o endereço é copiado (caf%C3%A9-cr%C3%A8me). Translitere para ASCII (café → cafe) ou escolha deliberadamente o modo Unicode e aceite a codificação — não deixe caracteres acidentais, meio codificados, no slug.
https://example.com/caf%C3%A9-cr%C3%A8me
https://example.com/cafe-creme
Enfiar o título inteiro no slug
Um slug de 90 caracteres que repete a manchete inteira palavra por palavra é difícil de ler, é truncado nos snippets de busca e dilui a palavra-chave. Apare-o para a frase central. Use a opção de Comprimento máximo para limitar o slug e remova stop words para uma URL mais enxuta.
the-10-absolute-best-and-most-effective-tips-for-writing-faster-javascript-code-in-2026
faster-javascript-tips
Quem usa um gerador de slug
- Blogueiros e autores de conteúdo
- Transforme um título de post no slug de URL que seu CMS espera. Cole "10 Tips for Faster JavaScript: A Complete Guide" e copie `10-tips-for-faster-javascript-a-complete-guide` direto para o campo de slug do WordPress, Ghost ou Hugo — rico em palavra-chave e limpo.
- Especialistas SEO
- Elabore slugs curtos e focados em palavra-chave que se leem bem nos resultados de busca e carregam valor de clique. Use o controle de Comprimento máximo para manter slugs abaixo de ~60 caracteres e remova stop words para uma URL mais enxuta e relevante.
- Desenvolvedores nomeando rotas e arquivos
- Gere identificadores seguros para caminhos de rota, nomes de arquivos estáticos, nomes de ativos de imagem e chaves de armazenamento a partir de rótulos legíveis. O modo ASCII garante que o resultado seja portátil entre sistemas de arquivos e bancos de dados que engasgam com caracteres não-ASCII.
- Autores de documentação e Markdown
- Reproduza os slugs de âncora de cabeçalho que o GitHub, GitLab e a maioria dos geradores de site estático criam a partir de cabeçalhos, para que seus links "#section" na página coincidam. O modo Unicode espelha o comportamento de manter-as-letras do GitHub para cabeçalhos não-ingleses.
- Sites internacionalizados
- Escolha o comportamento por idioma: translitere títulos europeus para ASCII para máxima compatibilidade, ou mude para o modo Unicode para manter caracteres chineses, cirílicos ou gregos na URL para leitores do script nativo. Ambos são válidos; o seletor deixa você decidir por página.
- Equipes de e-commerce e catálogo
- Gere slugs estáveis de produto e categoria a partir de nomes de produto — incluindo nomes de marca acentuados e símbolos. O tratamento inteligente do e-comercial significa que "Salt & Pepper" vira salt-and-pepper em vez de perder a palavra, mantendo o nome do produto pesquisável.
Como funciona a slugificação
- Normalização Unicode NFD para acentos
- Letras latinas acentuadas são dobradas normalizando a string para NFD (Decomposição Canônica), que divide um caractere como é na letra base e mais um acento agudo combinante (U+0301), depois removendo as marcas combinantes no intervalo U+0300–U+036F. Essa é uma capacidade embutida, de zero dependências, de todo engine JavaScript e cobre os acentos do francês, espanhol, português, italiano, os tremas alemães e as línguas nórdicas e da Europa Central. Caracteres sem decomposição canônica — ß, æ, œ, ø, đ, ł, þ — são tratados por um pequeno mapa explícito (ß → ss, æ → ae, e assim por diante).
- Romanização de cirílico e grego
- O modo ASCII inclui tabelas de transliteração compactas, mantidas à mão, para os alfabetos cirílico e grego, então Привет мир vira privet-mir e Λάμδα vira lamda. A tabela cirílica usa o esquema comum de romanização do russo. Ideogramas CJK e o script árabe são intencionalmente não transliterados no modo ASCII — a conversão completa por pinyin/romaji exige dicionários grandes e produz saída ambígua — então, para esses scripts, o modo Unicode (que preserva os caracteres) é a escolha recomendada.
- Folha de consulta de transliteração
- A tabela abaixo mostra como caracteres representativos se comportam em cada modo. O modo ASCII visa um slug portátil a–z, 0–9; o modo Unicode mantém qualquer letra ou dígito.
Entrada Modo ASCII Modo Unicode é è ê ë e é è ê ë (mantido) ü ö ä u o a mantido ñ n ñ (mantido) ç c ç (mantido) ß ss ß (mantido) æ / œ / ø ae / oe / o mantido Привет privet привет Λάμδα lamda λάμδα 你好 世界 (descartado) 你好-世界 & and and 🚀 (emoji) (descartado) (descartado) - Colapso e aparo de separadores
- Depois da transliteração, toda sequência de caracteres que não é letra ou dígito é substituída por um único separador. Isso significa que pontuação duplicada ou triplicada nunca pode produzir separadores duplicados: "a---b__c" vira a-b-c. Separadores no início e no fim são aparados, então um título que começa ou termina com pontuação nunca gera um slug com um hífen pendurado. O e-comercial é expandido para "and" antes desse passo, então a palavra é preservada.
- Truncamento em fronteira de palavra
- Quando você define um comprimento máximo, o slug é cortado naquele comprimento e então, se o corte caiu no meio de uma palavra, retrocedido até o separador anterior para você nunca obter meia palavra no fim. Um separador final deixado pelo corte é removido. Pelo menos uma palavra é sempre mantida, mesmo que a primeira palavra seja mais longa que o limite. Defina o limite como 0 para desativar o truncamento inteiramente.
- Sensibilidade a maiúsculas e uso de minúsculas
- URLs são sensíveis a maiúsculas por especificação — /About e /about são endereços diferentes para um mecanismo de busca — então a ferramenta passa para minúsculas por padrão para evitar que o mesmo conteúdo fique acessível em várias URLs (um risco de conteúdo duplicado). No modo Unicode, o uso de minúsculas se aplica a scripts que têm caixa (latino, cirílico, grego) e não faz nada para scripts que não têm (CJK). Desligue a opção Minúsculas quando um sistema downstream exigir a capitalização original preservada.
Boas práticas para slugs de URL
- Mantenha slugs curtos e focados em palavra-chave
- Mire em aproximadamente 3–6 palavras significativas, idealmente abaixo de cerca de 60 caracteres. Um slug curto é mais fácil de ler, menos propenso a ser truncado nos resultados de busca e mais limpo quando compartilhado. Inclua a palavra-chave-alvo da página e remova o enchimento — stop words como a, the, of e for quase sempre podem ser removidas sem perder clareza.
- Use hífens, não underscores ou espaços
- O Google trata hífens como separadores de palavra e underscores como junções de palavra, então hífens dão a cada palavra seu próprio sinal de palavra-chave. Espaços precisam ser codificados em percentual como %20, o que deixa as URLs feias. Hífens são a convenção universal dos CMS — esta ferramenta usa hífens por padrão por uma boa razão.
- Nunca mude um slug publicado
- Um slug é um endereço permanente. Mudá-lo depois da publicação quebra todos os links de entrada, favoritos e compartilhamentos sociais existentes, e zera o valor de SEO acumulado da página a menos que você configure um redirecionamento 301. Decida o slug antes de publicar, e se você precisar mudá-lo mais tarde, sempre adicione um redirecionamento do slug antigo para o novo.
- Escolha ASCII ou Unicode deliberadamente
- Para um público amplo ou internacional, a transliteração ASCII maximiza a compatibilidade e mantém as URLs limpas quando copiadas como texto. Para um público de um único idioma não-latino (um site chinês, russo ou grego), slugs Unicode são mais legíveis para seus leitores reais e são totalmente suportados por mecanismos de busca modernos. Combine o modo com quem vai ler a URL.
- Deixe datas fora do slug
- Não embuta um ano ou data no slug (/2024-buyers-guide). Quando você atualizar o conteúdo mais tarde, fica preso com uma data desatualizada na URL ou uma mudança de slug que quebra links. Armazene a data de publicação nos metadados do seu CMS em vez disso, e mantenha o slug atemporal para que a mesma URL possa carregar conteúdo atualizado por anos.
Perguntas frequentes
O que é um slug de URL?
Devo usar hífens ou underscores em um slug de URL?
Qual é a diferença entre modo ASCII e modo Unicode?
Slugs de URL Unicode (não-ASCII) são seguros e bons para SEO?
Como emojis e símbolos especiais são tratados?
Qual é um bom comprimento máximo para um slug?
Como a ferramenta lida com texto chinês, japonês, coreano ou árabe?
Um slug de URL deve incluir a data ou um número?
Meu texto é enviado para algum lugar?
Ferramentas relacionadas
Ver todas as ferramentas →Conversor de Maiúsculas — UPPER, lower, camelCase
Processamento de Texto
Converta texto entre UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE e mais 6 formatos instantaneamente. Grátis, no navegador, sem cadastro.
Gerador de Lorem Ipsum — Texto de Preenchimento
Processamento de Texto
Gere texto de preenchimento Lorem Ipsum na hora — por parágrafo, frase, palavra, byte ou lista. Copie ou baixe como texto puro, HTML, Markdown ou JSON. 100% grátis e privado, no navegador. Sem cadastro.
Testador Regex Grátis — Depure e Combine Padrões Online
Processamento de Texto
Teste padrões de expressões regulares instantaneamente contra qualquer texto. Destaque ao vivo, grupos de captura, prévia de substituição, divisão e explicador. Regex JavaScript, 100% privado, sem cadastro, grátis e online.
Comparar dois textos — Diff
Processamento de Texto
Compare dois textos na hora no seu navegador. Vista lado a lado, destaque palavra a palavra, exportação para diff unificado, opções para ignorar maiúsculas/espaços/linhas vazias. 100 % navegador — sem upload.
Contador de Palavras e Caracteres Grátis
Processamento de Texto
Conte palavras, caracteres, frases, parágrafos e tempo de leitura instantaneamente. Contador em tempo real com verificação de limites do Twitter, meta description e Instagram. Grátis, privado, sem cadastro.
Conversor de Base Numérica — Binário, Hex, Decimal e Octal
Ferramentas de Conversão
Converta números entre binário, hexadecimal, decimal, octal e qualquer base personalizada (2-36) instantaneamente. Gratuito, privado, sem cadastro — todo o processamento acontece no seu navegador.