ForHosting KIT · Monitorar sites

Gerar slug de URL curta

Informe uma URL longa e uma semente e receba um código curto que nunca muda: a página do exemplo com a semente tenant-acme-v1 sempre dá rTEr1Ff, sete caracteres base62 por padrão. Nada é acessado nem guardado, e nenhum link ativo é criado. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Endereço web
https://example.com/docs/guide
Semente
tenant-acme-v1
Comprimento
7
Você obtém
Slug
rTEr1Ff
Alfabeto
base62
Caminho curto
/rTEr1Ff

Encurtadores de URL precisam de códigos de caminho curtos e opacos que apontem para um destino longo sem vazar a estrutura do link. Equipes que constroem o próprio encurtador—ou reservam códigos vanity offline antes da gravação—precisam de uma função determinística: a mesma URL de destino e a mesma semente de inquilino devem sempre produzir o mesmo slug do comprimento escolhido, para que retentativas e escritores multi-região nunca inventem cadeias aleatórias em colisão para o mesmo vínculo lógico. Esta capacidade aceita uma URL alvo, uma semente (namespace, segredo ou chave de inquilino) e um comprimento opcional (padrão sete, mínimo quatro), e expande uma mistura pura no estilo FNV de URL mais semente em dígitos base62 de 0-9, A-Z e a-z.

Como o slug base62 do encurtador com semente é construído

Um slug de encurtador não é um slug de título legível por humanos. É um token opaco em um alfabeto compacto que cabe em códigos QR, SMS e embalagens impressas e ainda oferece espaço combinatório suficiente para milhões de links. Esta ferramenta usa o alfabeto clássico base62 de dez dígitos, vinte e seis letras maiúsculas e vinte e seis minúsculas—sessenta e dois símbolos que transitam com segurança em segmentos de caminho sem percent-encoding.

O gerador concatena a URL de destino, um separador NUL e a semente, e executa rodadas FNV-1a de 32 bits com contador que expandem cinco dígitos base62 por rodada até preencher o comprimento pedido. Como a mistura é aritmética pura sobre códigos de caractere, as mesmas entradas sempre geram o mesmo slug no Node e no navegador.

A semente é o que torna seguros os sistemas multi-inquilino: dois inquilinos que encurtam a mesma URL de marketing com sementes diferentes obtêm códigos diferentes, de modo que namespaces públicos compartilhados não revelam que duas organizações apontaram para o mesmo destino. O comprimento padrão é sete caracteres (cerca de 3.5e12 possibilidades) e pode ir de quatro a trinta e dois; quatro é o piso rígido porque espaços de três caracteres são pequenos demais para encurtadores abertos na internet e convidam enumeração por força bruta do espaço de caminhos.

Onde um gerador de slug de URL curta com semente agrega valor

Backends de encurtador auto-hospedados usam esta capacidade para pré-calcular códigos em workers antes de um insert transacional, mantendo a lógica de alocação idêntica em cada região sem compartilhar uma sequência aleatória central. Equipes de operações de marketing geram códigos de campanha estáveis offline a partir de uma URL de landing conhecida e uma semente de campanha, para que revisão criativa, arte QR e o corte para produção compartilhem uma única string.

Produtos SaaS multi-inquilino passam o id do inquilino como seed para que o cliente A e o cliente B nunca recebam o mesmo caminho público para destinos idênticos, o que simplifica a revisão de abuso e as narrativas de residência de dados. Prefira comprimentos maiores quando o namespace for público e de longa duração; use o mínimo quatro só em sistemas fechados com tratamento agressivo de colisões.

Alocação em encurtador auto-hospedado

Pré-calcule um código de caminho base62 determinístico a partir da URL longa e de uma semente de serviço antes de gravar a linha de redirecionamento no seu próprio banco de dados.

Códigos de campanha multi-inquilino

Misture uma semente de inquilino ou de campanha com a mesma URL de landing para que cada cliente obtenha um slug público distinto sem aleatoriedade central.

Por que length abaixo de 4 é rejeitado?

Códigos com menos de quatro caracteres base62 são pequenos demais para namespaces públicos de encurtador e fáceis de enumerar.

Isto cria um link curto ao vivo?

Não. Apenas calcula uma string de slug determinística. Você armazena o mapeamento e serve os redirecionamentos no seu próprio domínio ou serviço de encurtador.

Que alfabeto o slug usa?

Base62 padrão: dígitos 0-9, maiúsculas A-Z e minúsculas a-z. A resposta define alphabet como base62 e length como a contagem de caracteres resolvida.

Duas URLs diferentes podem receber o mesmo código?

Sim, principalmente com comprimentos curtos. Os mesmos dados sempre geram o mesmo código, mas endereços diferentes podem coincidir, então confira a unicidade ao salvar e escolha mais caracteres para links públicos e duradouros.

Para que serve usar uma semente diferente por cliente?

Para que dois clientes que encurtam o mesmo endereço recebam códigos diferentes. Assim um espaço de links público não revela que duas empresas apontaram para o mesmo destino. A semente pode ser o identificador do cliente ou o nome de uma campanha.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/web/url-shortener-slug-generate

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/web/url-shortener-slug-generate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/docs/guide","seed":"tenant-acme-v1"}'
{
  "url": "https://example.com/docs/guide",
  "seed": "tenant-acme-v1"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.url_shortener_slug_generate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

timeout_sec30
max_crawl_pages25
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Nada é buscado na rede e nada é armazenado: você recebe a string do slug e um prefixo short_path pronto, e então o associa no seu próprio armazenamento. Comprimentos abaixo de quatro falham com invalid_input porque códigos tão curtos são inseguros para namespaces públicos de encurtador em escala significativa.

Como o slug base62 do encurtador com semente é construído

A resposta ecoa url, seed e length, devolve o slug, rotula o alfabeto como base62 e oferece short_path como conveniência com barra inicial para colar em templates—sem afirmar que esse caminho esteja ativo em nenhum domínio.

Contrato de entrada, formato da resposta e regras de rejeição

Combine o slug com a sua própria verificação de unicidade na gravação: a função é determinística para um triplo de entradas, mas duas URLs diferentes ainda podem colidir em códigos curtos—seu armazenamento deve tratar corridas de inserção como fonte da verdade. Envie um objeto JSON com duas strings obrigatórias e um inteiro opcional. O campo url (aliases target, link, href, long_url) é o destino longo que você pretende vincular depois; não é buscado, então localhost, caminhos profundos e query strings são aceitos como texto opaco após trim, até quatro mil e noventa e seis caracteres. O campo seed (aliases key, salt, namespace, secret) é uma string não vazia que define o namespace do hash—use um segredo por inquilino ou um id de linha de produto para que colisões entre inquilinos sejam improváveis. O campo length (aliases len, size, slug_length) vale sete quando omitido; deve ser um inteiro de quatro a trinta e dois inclusive. Valores abaixo de quatro geram invalid_input com mensagem que indica o mínimo de slug de encurtador; valores acima de trinta e dois e não inteiros também são rejeitados e não são cobrados. Em caso de sucesso o corpo inclui as strings url e seed normalizadas, o length resolvido, o slug, alphabet definido como base62, short_path igual a barra mais slug, e uma nota breve lembrando os clientes de que é um código determinístico, não um redirecionamento ao vivo. url ou seed vazios, objetos que não são string nesses campos e chaves obrigatórias ausentes falham de forma clara para que UIs de formulário destaquem o campo.

Onde um gerador de slug de URL curta com semente agrega valor

Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída; validação falha não consome saldo. Lembre-se de que este endpoint não cria redirecionamentos, não mede cliques nem reserva DNS—apenas gera o segmento de caminho opaco que o seu encurtador vai armazenar.

Fixtures estáveis de QR e impressão

Trave url, seed e length nas ferramentas de design para que embalagem, templates SMS e goldens de CI concordem sempre na string do caminho curto.

Como gero um slug de URL curta a partir de uma URL e uma semente?

Envie strings não vazias url e seed e, opcionalmente, length (padrão 7, mín. 4, máx. 32). A API devolve um slug base62 determinístico e short_path como /Ab3x9kQ.

Quanto custa o gerador de slug de URL curta com semente?

A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →