Conversor de troca de maiúsculas
Inverta maiúsculas e minúsculas de cada letra de uma vez: tHIS IS WRONG, digitado com o Caps Lock ligado, vira This is wrong, e Hello World vira hELLO wORLD. Dígitos, espaços e pontuação ficam onde estão. 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
- Texto
- hELLO wORLD
- Original
- Hello World
- Comprimento
- 11
Este conversor de troca de maiúsculas recebe qualquer string de texto não vazia e devolve os mesmos caracteres com cada letra invertida entre maiúscula e minúscula. Quando o Caps Lock estava ligado por engano, Hello vira hELLO e uma frase inteira pode ser reparada em uma passagem sem redigitar. O motor é totalmente determinístico: percorre cada caractere, mapeia letras com formas maiúscula e minúscula distintas para a forma oposta, nunca chama a rede, nunca usa aleatoriedade e nunca depende do relógio. Dígitos, espaços e pontuação permanecem exatamente onde você os colocou; só muda a capitalização das letras.
O que significa trocar maiúsculas e o que a resposta contém
Trocar maiúsculas significa que cada letra com forma capital e forma pequena é invertida: maiúscula vira minúscula e minúscula vira maiúscula, enquanto o que não é letra permanece igual. Na prática Hello World vira hELLO wORLD, um desastre de Caps Lock como tHIS IS WRONG vira This is wrong quando a intenção original era frase normal, e palavras acentuadas como Café viram cAFÉ quando o mapa de maiúsculas do runtime define esse pareamento.
A transformação não é título, frase, maiúsculas alternadas nem tudo em maiúsculas: não inventa limites de palavra nem força um único caso em toda a string. Não há modo parcial que inverta só a primeira letra, nem seletor de locale nesta capacidade, nem coerção silenciosa de null em string vazia. Casos rejeitados incluem campo text ausente, valor null, string vazia, objetos e arrays que não são texto simples, e qualquer carga maior que o máximo documentado de caracteres.
Onde a troca de maiúsculas se encaixa em estudo, publicação e software
Estudantes encontram a troca de maiúsculas quando um exercício de programação pede capitalização invertida, quando um laboratório de entrada de dados recupera texto digitado com Caps Lock ligado, ou quando uma demo de folha de estilos mostra como mapas de maiúsculas funcionam caractere a caractere. Professores podem pré-gerar chaves de resposta que mostram a forma invertida esperada sem confiar em macros opacas de escritório que mudam regras de locale no meio do arquivo.
Designers e produtores usam para reverter rascunhos acidentais em maiúsculas de volta a maiúsculas mistas, preparar texto de exibição lúdico e testar fontes que renderizam glifos maiúsculos e minúsculos de forma diferente. Equipes de suporte e operações colam assuntos barulhentos de tickets na ferramenta para restaurar capitalização legível quando alguém digitou com a tecla de bloqueio ligada. Combine com ferramentas de maiúsculas, minúsculas ou maiúsculas alternadas ao montar um pequeno laboratório de auxiliares de texto gratuitos e determinísticos para formulários, preparação de CMS e higiene de dados.
Casos de uso
Corrigir erros de Caps Lock
Recupere maiúsculas mistas legíveis quando uma mensagem inteira foi digitada com Caps Lock ligado, sem redigitar o conteúdo.
Limpeza de texto e dados
Inverta rascunhos com capitalização invertida em e-mails, tickets e campos de CMS antes de publicar ou arquivar.
Perguntas frequentes
O que acontece se eu enviar uma string vazia?
Texto vazio não é uma conversão válida; forneça ao menos um caractere.
Dígitos e pontuação são alterados?
Não. Só letras com formas maiúscula e minúscula distintas são invertidas. Dígitos, espaços, símbolos e pontuação ficam no lugar, sem mudança.
É o mesmo que maiúsculas alternadas?
Não. Maiúsculas alternadas forçam um padrão como aLtErNaTiNg. A troca só inverte o caso existente de cada letra, de modo que Hello vira hELLO.
O resultado é o mesmo sempre para a mesma entrada?
Sim. A transformação é pura e determinística: sem rede, sem aleatoriedade e sem relógio. O mesmo texto sempre gera a mesma string com maiúsculas trocadas.
Funciona com letras acentuadas?
Funciona: Café vira cAFÉ. Toda letra que tem forma maiúscula e minúscula é invertida, inclusive as acentuadas, e o restante do texto continua igual.
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/swap-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/swap-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/swap-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/swap-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/swap-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.swap_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.
Limites
max_chars | 100000 |
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
Entrada vazia é rejeitada com um erro invalid_input claro para que um campo em branco não se torne um sucesso vazio silencioso.
O que significa trocar maiúsculas e o que a resposta contém
Esta calculadora devolve quatro campos estáveis: text guarda o resultado invertido que você copiará ou armazenará, original ecoa a string de entrada exata para auditar o que foi transformado, length informa a contagem de caracteres do resultado (que coincide com o comprimento original em texto BMP ordinário) e method é a etiqueta fixa swap_case para logs e pipelines multi-ferramenta. O motor constrói uma string completa invertida dentro do comprimento suportado ou rejeita a solicitação com invalid_input. Se você precisar só de maiúsculas, só de minúsculas, título ou camelCase, use essas ferramentas dedicadas; esta página responde apenas à troca completa de maiúsculas com saída estável adequada a planilhas, testes unitários e consumidores de API que não devem inventar regras de capitalização.
Como o campo text é lido e como o resultado permanece reproduzível
O valor deve ser uma string não vazia; números finitos e bigints são convertidos primeiro em string para que um código de produto digitado como número ainda passe limpo após a conversão em dígitos decimais, sem inversão de letras quando a string só tem dígitos. A conversão usa os caminhos JavaScript String toUpperCase e toLowerCase por caractere, que aplicam os mapeamentos Unicode padrão de maiúsculas do runtime — sem dicionário em rede, sem modelo de aprendizado de máquina e sem exceções dependentes de data. O campo preferido é text, mas os aliases input, string, value, content e s são aceitos para que query strings, planilhas e formulários tipados reutilizem o mesmo contrato sem renomear colunas. Booleanos, objetos simples e arrays são rejeitados com mensagem clara para que um corpo JSON errado não vire a palavra TRUE nem um dump de objeto pouco útil. String vazia é sempre invalid_input: a promessa do produto é converter texto, não inventar um sucesso em branco. O comprimento é limitado a cem mil caracteres para que um paste descontrolado não monopolize um Worker; cargas maiores falham com mensagem de limite explícita em vez de corte silencioso. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo resultado de troca de maiúsculas dentro de um pipeline automatizado sem enviar seus próprios auxiliares de string.
Onde a troca de maiúsculas se encaixa em estudo, publicação e software
Nesta página o trabalho roda inteiramente no seu navegador; pela API cada conversão bem-sucedida custa US$ 0,002, validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão — exploração interativa gratuita e uma API idêntica paga — combina com o restante do catálogo KIT tier-A e permite passar de uma demo de sala de aula a um pipeline automatizado sem mudar o resultado da string.
Casos de integração
Fixtures de teste determinísticos
Gere strings de troca de maiúsculas reproduzíveis para testes unitários, arquivos golden e asserções de CI sobre código que trata capitalização.
Perguntas técnicas
Quanto custa o conversor de troca de maiúsculas?
É gratuito no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.