acento.io
Utilitário de texto

Gerador de slug URL

Converta títulos e textos em slugs prontos para URL — tudo no navegador, sem enviar nada a nenhum servidor.

Por Carlos Suárez , Engenheiro de sistemas
Última atualização:

O que este gerador de slug faz

Esta versão em português transforma qualquer texto em um slug válido para URLs: acentos latinos são transliterados (à→a, ç→c, ß→ss, ø→o), o resultado vai para minúsculas e você escolhe o separador — hífen, underscore ou ponto. Há ainda um limite configurável de caracteres para manter URLs curtas e legíveis. O RFC 3986 define exatamente quais caracteres são permitidos em caminhos de URL; este gerador segue essa especificação, restringindo a saída ao conjunto seguro a-z0-9 mais o separador escolhido. 100% no navegador — seus dados nunca saem do seu computador. Sem uploads, sem rastreamento, sem logs em servidor. O Acordo Ortográfico de 1990 unificou regras entre o português brasileiro e o europeu, mas na web o que vale é o ASCII: um slug como joao-pessoa chega igual em Recife ou em Lisboa.

Recursos

  • Transliteração de diacríticos latinos. Acentos do português, espanhol, francês e alemão são convertidos para o equivalente ASCII: ã→a, é→e, ü→ue, ñ→n. Ligaduras nórdicas como ø e æ também são tratadas corretamente.
  • Três opções de separador. Escolha hífen (kebab-case, padrão do WordPress e da maioria dos CMSs), underscore (snake_case, exigido pelo Drupal em algumas configurações) ou ponto — ou nenhum separador para IDs compactos.
  • Limite de comprimento configurável. Defina o número máximo de caracteres para garantir que o slug caiba em campos de banco de dados ou respeite limites de roteamento. O corte é feito no último separador válido, não no meio de uma palavra.
  • Aviso honesto sobre scripts não-latinos. Cirílico, CJK (chinês, japonês, coreano) e árabe são removidos, não transliterados de forma errada. O gerador avisa quando detecta caracteres fora do escopo latino, evitando slugs silenciosamente quebrados.
  • Geração de slug para SEO. Slugs curtos, descritivos e com a palavra-chave principal melhoram a legibilidade nos resultados de busca. Combine este gerador de slug para SEO com o [conversor de maiúsculas e minúsculas](/pt/case-converter/) para padronizar títulos antes de slugificar.

Como usar o gerador de slug

Cole o título ou texto no campo de entrada, ajuste as opções e copie o slug gerado com um clique.

  1. Cole o texto. Insira o título do post, nome de arquivo ou qualquer string no campo de entrada. Exemplo: "Café résumé — déjà vu".
  2. Escolha o separador. Selecione hífen para URLs de blog (cafe-resume-deja-vu), underscore para rotas de API (cafe_resume_deja_vu) ou ponto para pacotes (cafe.resume.deja.vu).
  3. Defina o comprimento máximo. Se o seu CMS limita slugs a 60 caracteres, informe o valor. O corte respeita os separadores para não truncar palavras no meio.
  4. Copie o resultado. Clique em "Copiar" — o slug vai direto para a área de transferência, pronto para colar no WordPress, Ghost, Next.js ou qualquer outro stack. Em JavaScript, o equivalente seria str.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/\s+/g, '-').

Casos de uso comuns

  • Posts de blog e artigos de conteúdo. Transforme títulos longos em slugs legíveis para URLs de posts. Um título como "Guia completo de finanças pessoais para 2025" vira guia-completo-financas-pessoais-2025 — curto, sem caracteres especiais e amigável para indexação.
  • Nomes de arquivos gerados por usuário. Quando usuários fazem upload de arquivos com nomes arbitrários, o slug sanitiza a string antes de salvar no storage, evitando problemas com espaços, acentos e caracteres reservados no sistema de arquivos.
  • Geração de IDs de rota em APIs REST. Em frameworks como Express ou FastAPI, slugs gerados a partir de nomes de recursos criam rotas legíveis (/produtos/cadeira-ergonomica-recife) sem depender de UUIDs opacos.
  • Sanitização de entradas para CMS headless. CMSs como Sanity, Contentful e Strapi aceitam slugs como campo de identificação único. Pré-gerar o slug antes de publicar evita conflitos e URLs com encoding de percentual. Se você também precisa comparar variantes de texto, o [comparador de textos](/pt/text-diff/) pode ajudar.

Perguntas frequentes

Meus dados são enviados para algum servidor?

Não. Todo o processamento acontece no seu navegador, em JavaScript puro. Nenhum caractere do texto que você digita sai do seu dispositivo. Não há logs, não há analytics de conteúdo, não há uploads.

Por que caracteres em cirílico ou chinês somem do slug?

A transliteração confiável de scripts não-latinos requer tabelas de mapeamento complexas e específicas por idioma — como as do ICU (International Components for Unicode). Tentar fazer isso de forma genérica produz resultados inconsistentes. Este gerador é honesto: trata bem o alfabeto latino estendido (incluindo português, alemão, francês, sueco) e remove o resto em vez de gerar lixo silencioso.

Qual separador devo usar — hífen ou underscore?

Para URLs públicas e SEO, o hífen é o padrão recomendado. O Google trata hífens como separadores de palavras, o que melhora a análise semântica do slug. Underscores são tratados como conectores, unindo as palavras em vez de separá-las. Use underscore apenas quando o sistema de destino exigir, como algumas rotas internas do Drupal.

O slug gerado pode conter caracteres reservados de URL?

Não. O RFC 3986 define um conjunto de caracteres reservados (como ?, #, /, @) que têm significado especial em URIs. Este gerador remove ou substitui qualquer caractere fora do conjunto seguro a-z, 0-9 e o separador escolhido, produzindo slugs que não precisam de percent-encoding.

Como definir um bom comprimento máximo para slugs de SEO?

Não existe um limite técnico imposto pelos buscadores, mas slugs muito longos diluem a relevância das palavras-chave. Uma prática comum é limitar entre 50 e 70 caracteres, mantendo apenas os termos essenciais do título. Este gerador de slug para SEO corta no último separador válido, preservando palavras inteiras.

Preciso de uma ferramenta diferente para converter maiúsculas antes de slugificar?

Este gerador já converte para minúsculas automaticamente. Se você precisa normalizar o texto de formas mais específicas — como Title Case ou UPPER CASE — antes de processar, o [conversor de maiúsculas e minúsculas](/pt/case-converter/) faz isso em um passo separado.