Converter para snake_case
“Hello World”, “HelloWorld” e “hello-world” viram “hello” e “world” em minúsculas unidas por um sublinhado: 2 palavras, sem espaços. Maiúsculas internas, pontos e hífens contam como quebras de palavra. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Hello World
- Resultado
- hello_world
- Comprimento
- 11
- Comprimento original
- 11
- Número de palavras
- 2
Entrada vazia é rejeitada com erro de validação claro em vez de devolver silenciosamente uma string vazia, o que protege clientes que esqueceram de vincular um campo.
O que é snake case e onde ele é usado
Snake case é um jeito de escrever um nome com todas as palavras em minúsculas e um único sublinhado entre elas, de modo que Hello World vira hello e world unidas por um sublinhado. É o estilo comum para cabeçalhos de colunas em planilhas e bancos de dados, nomes de arquivo e nomes de variáveis em muitas linguagens de programação, porque não tem espaços e é fácil de ler. Não é a mesma coisa que um slug de endereço web, que usa hífens e tira os acentos, nem que passar para minúsculas, que mantém os espaços. Escolher um estilo e usá-lo sempre evita que a mesma coluna apareça com dois nomes diferentes.
Como a conversão funciona e os tropeços comuns
Primeiro são procuradas as quebras de palavra escondidas dentro de um nome: onde uma minúscula ou um algarismo encontra uma maiúscula começa uma palavra nova, e uma sequência de maiúsculas como XML fica unida. Depois, cada grupo de espaços, hífens, pontos, sinais ou símbolos vira um único sublinhado, tudo passa para minúsculas e os sublinhados que sobram no começo ou no fim são removidos. Por isso HelloWorld e hello-world dão o mesmo resultado. Surpresas típicas: os acentos ficam, os algarismos continuam grudados na palavra vizinha e um texto só de símbolos é recusado em vez de voltar vazio.
Como um texto vira snake case
Após esses cortes estruturais, cada sequência de caracteres não alfanuméricos—espaços, hífens, pontuação, símbolos—é substituída por um único sublinhado. Toda a string é então convertida a minúsculas com o mapeamento Unicode toLowerCase do host para que letras latinas acentuadas se dobrem corretamente sem remover diacríticos. Sublinhados iniciais e finais são removidos e sequências internas colapsam em um só, o que evita separadores duplos em frases bagunçadas.
Dígitos permanecem ligados a segmentos vizinhos salvo se uma borda letra-dígito já tiver forçado um corte. Strings vazias e entradas que contêm só separadores falham na validação antes de devolver um resultado. Como o caminho é parse puro sobre strings, a latência fica submilissegundo em formulários típicos e o modelo de custo publicado é analítico, não baseado em tokens de modelo.
Perguntas frequentes
O que acontece se eu enviar texto vazio?
Strings vazias e entrada só de separadores são rejeitadas para que clientes notem campos ausentes em vez de receberem resultado vazio em silêncio.
É a mesma coisa que um slug de URL?
Não. Snake_case usa sublinhados entre palavras em minúsculas. Slugs de URL tipicamente usam hífens e podem remover mais caracteres; use uma ferramenta de slug dedicada para essa intenção.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Como são separadas as palavras com maiúsculas internas, como HelloWorld?
Uma nova palavra começa onde uma minúscula ou um algarismo é seguido de uma maiúscula, então HelloWorld se divide em hello e world. Uma sequência de maiúsculas fica junta: XMLHttp vira xml e http, e não letras soltas.
Os acentos das letras são removidos?
Não, as letras acentuadas só passam para minúscula, então Café mantém o é. Essa é a grande diferença para um slug de endereço web, que tira os acentos. Se precisar de texto sem acentos, limpe-os antes de converter.
Ferramentas relacionadas
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/str/snake-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/str/snake-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/snake-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/snake-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/snake-case", 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": "Hello World"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.snake_case",
"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.
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. |
Notas técnicas
Snake_case é o padrão em muitas linguagens e contratos de dados para nomear variáveis, colunas e campos de API: cada palavra em minúsculas, separada por um único sublinhado. Esta ferramenta recebe a frase ou identificador que você digita, normaliza separadores e limites camelCase, passa cada letra a minúsculas com mapeamento consciente de Unicode e devolve uma string snake_case limpa mais contagem de palavras e metadados de alteração. Espaços, hífens, pontos e outros caracteres não alfanuméricos viram separadores; HelloWorld e hello-world ambos viram hello_world. Sem idas à rede dentro do motor, sem sementes aleatórias e sem dependência de relógio: o mesmo texto sempre produz o mesmo JSON.
Como a conversão para snake_case funciona
O conversor primeiro insere limites com sublinhado nas bordas camelCase e PascalCase: um caractere minúsculo ou dígito seguido de maiúscula se divide, e sequências de maiúsculas seguidas de maiúscula-mais-minúscula se dividem para que acrônimos como XMLHttp virem xml_http. Payloads extremamente longos acima do limite documentado também falham com invalid_input para que uma única requisição não monopolize a memória do Worker.
O que você envia e o que recebe de volta
Números e booleanos são convertidos para suas formas decimal ou true/false; objetos, arrays, NaN e Infinity são rejeitados. Envie um único campo obrigatório chamado text com a frase ou identificador não vazio que deseja em snake_case. Aliases como input, value, data, s, message, string, content, body e phrase são aceitos por conveniência ao conectar clientes antigos. Em sucesso a resposta ecoa o text original, o result em snake_case, a length do resultado, original_length, um word_count de segmentos separados por sublinhado, um booleano changed e operation com valor snake_case. Checagens clássicas: Hello World vira hello_world, HelloWorld vira hello_world, kebab-case-name vira kebab_case_name, e already_snake permanece already_snake com changed false quando a entrada já era snake_case perfeito. Use o formulário gratuito do navegador para colar e copiar com rapidez e chame o mesmo contrato em scripts ao renomear cabeçalhos CSV, gerar colunas de banco ou normalizar nomes de campo de API em lote. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação, inclusive texto vazio, não consomem saldo pré-pago. Se mais tarde seu pipeline precisar de minúsculas puras sem sublinhados, hífens de slug de URL, camelCase ou caixa de título, trate isso como ferramentas separadas em vez de sobrecarregar esta página de conversão para snake_case.
Onde ferramentas snake_case aparecem no trabalho real
Equipes de backend e dados renomeiam rótulos humanos de planilhas e docs de design em nomes estáveis de coluna e campo antes de migrações e geração OpenAPI. Clientes móveis e web mapeiam rótulos de formulário em chaves do corpo da requisição que batem com contratos de servidor escritos em snake_case. Jobs ETL que ingerem cabeçalhos CSV mistos costumam forçar cada cabeçalho para snake_case para que joins e registros de schema fiquem consistentes entre fornecedores. Equipes de produto e crescimento colam nomes de recurso e rótulos de experimento em uma caixa snake_case antes de arquivá-los em dicionários de eventos de analytics que assumem um único estilo de nomes. Como esta capacidade é um motor de parse puro, o preço de API é a base publicada de US$ 0,002 por item bem-sucedido e validação falha não consome saldo. Prefira esta página quando a intenção de busca for literalmente converter para snake case ou conversor snake_case; se precisar de um slug com hífens amigável a URL, use a ferramenta de slug dedicada em vez de esticar esta capacidade além do contrato.
Casos de integração
Normalizar nomes de campo de API e banco
Transforme rótulos humanos e identificadores mistos em chaves snake_case estáveis antes de migrações, specs OpenAPI e mapeamentos ORM.
Limpar cabeçalhos CSV para ETL
Force cabeçalhos de planilhas importadas para snake_case para que joins e registros de schema coincidam entre fornecedores e execuções.
Geradores de código e scaffolds
Alimente frases a um passo snake_case determinístico ao scaffoldar variáveis, nomes de evento e chaves de configuração.
Perguntas técnicas
O que faz converter para snake_case?
Passa sua frase ou identificador a minúsculas e une palavras com sublinhados, dividindo camelCase e normalizando espaços, hífens e outros separadores em uma única string snake_case.
Ela lida com camelCase e kebab-case?
Sim. HelloWorld vira hello_world, e kebab-case-name vira kebab_case_name. PascalCase estilo acrônimo como XMLHttpRequest vira xml_http_request.