Gere texto Zalgo glitch com uma semente reproduzível
Transforme uma mensagem comum em texto Zalgo glitch distorcido sem abrir mão da previsibilidade.
Executar grátis
Informe o texto, escolha uma intensidade de um a cinco e, se quiser, defina uma semente inteira. O gerador adiciona marcas diacríticas Unicode acima, no meio e abaixo dos caracteres visíveis sem usar estado aleatório do sistema. Assim, a mesma combinação de texto, intensidade e semente sempre produz exatamente o mesmo resultado, facilitando o uso em designs, testes, nomes, legendas e protótipos criativos reproduzíveis.
Crie um efeito glitch sob controle
O texto Zalgo funciona com marcas combinantes Unicode inseridas depois de caracteres visíveis comuns. As fontes normalmente usam essas marcas para acentos e outros recursos de escrita, mas uma pilha densa pode avançar acima, através e abaixo de uma letra para formar o conhecido aspecto corrompido. Este gerador seleciona marcas nas três posições e aplica a quantidade exata definida pela intensidade a cada caractere que não seja espaço em branco. O nível um cria uma perturbação leve que costuma continuar legível, enquanto o nível cinco produz uma textura muito mais carregada. Espaços e quebras de linha são preservados, mantendo as palavras e a disposição básica reconhecíveis. Marcas combinantes já existentes não recebem uma nova decoração, evitando que um acento fornecido multiplique o efeito de forma imprevisível. O resultado continua sendo texto Unicode, e não uma imagem. Você pode copiá-lo para uma composição, legenda, fixture de teste, mensagem ou qualquer sistema compatível com Unicode, embora a aparência final dependa da fonte e do mecanismo de renderização do destino.
Use a semente para reproduzir o resultado
Muitos geradores de texto decorativo mudam a saída a cada execução. Isso pode ser divertido, mas atrapalha quando um design, um teste de snapshot ou um rascunho de campanha precisa ser recriado mais tarde. Aqui, a semente faz parte da entrada e controla um pequeno gerador numérico determinístico. Quando texto de origem, intensidade e semente são idênticos, a sequência de marcas combinantes também é. Altere apenas a semente para obter outra variação visual com a mesma densidade; altere a intensidade para dar a cada caractere elegível uma quantidade fixa diferente de marcas. A semente padrão é zero, portanto omiti-la ainda gera um resultado repetível. Ela pode ser qualquer inteiro seguro, inclusive negativo, e será tratada de forma consistente pelo algoritmo. Se a reprodução for importante, registre as três entradas junto da saída aprovada. Esse contrato determinístico também favorece automações: uma nova tentativa não muda silenciosamente o efeito selecionado, e um teste golden pode comparar strings exatas em vez de depender de uma avaliação visual vaga.
Escolha uma intensidade adequada ao destino
Comece com intensidade um ou dois quando as palavras ainda precisarem ser lidas rapidamente. Configurações maiores combinam melhor com artes de terror, títulos experimentais, corrupção fictícia de terminal ou testes intencionais de resistência de layouts. Marcas combinantes podem aumentar a altura da linha, sobrepor elementos próximos, dificultar o movimento do cursor e ser anunciadas de modo estranho por tecnologias assistivas. Por isso, mantenha uma versão acessível sem decoração quando houver informação essencial e não use o efeito em senhas, endereços, comandos, identificadores, chaves de busca ou dados destinados a outro programa. Confira o resultado no aplicativo final, pois sistemas, navegadores, fontes e redes sociais podem posicionar, normalizar, limitar ou remover as marcas de maneiras diferentes. O gerador não danifica a origem nem troca os caracteres básicos; ele devolve uma nova string com marcas inseridas. As solicitações de API custam US$ 0,002, enquanto a versão do navegador funciona localmente. Uma intensidade fora da faixa gera erro em vez de ser ajustada silenciosamente, tornando qualquer configuração incorreta explícita e repetível.
Casos de uso
Criar um título de terror
Produza letras corrompidas repetíveis para um cartaz, uma tela de jogo ou um aviso fictício, mantendo o texto editável.
Testar renderização Unicode
Avalie altura de linha, corte, seleção e fontes alternativas com uma string determinística cheia de marcas combinantes.
Preparar conteúdo temático
Gere variações com sementes diferentes, revise-as na plataforma de destino e guarde a semente da versão escolhida.
Perguntas frequentes
Quais intensidades são aceitas?
Use um número inteiro de 1 a 5. Valores fora desse intervalo são rejeitados como entrada inválida.
A mesma semente sempre gera o mesmo texto?
Sim. Nesta capacidade, texto, intensidade e semente inteira iguais produzem a mesma sequência de marcas.
As letras originais são substituídas?
Não. Cada caractere básico é preservado, e marcas combinantes Unicode são inseridas após caracteres elegíveis que não sejam espaços.
Por que o resultado muda em outro aplicativo?
Fontes e renderizadores posicionam marcas combinantes de modos diferentes, e algumas plataformas normalizam ou removem pilhas incomuns.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A versão para navegador pode funcionar localmente sem chamar a API.
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/text/zalgo-glitch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Glitch me","intensity":2}'const res = await fetch("https://api.kit.forhosting.com/text/zalgo-glitch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Glitch me",
"intensity": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/zalgo-glitch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Glitch me",
"intensity": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/zalgo-glitch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Glitch me","intensity":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Glitch me","intensity":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/zalgo-glitch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Glitch me",
"intensity": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.zalgo_glitch",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_tokens | 20000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |