Recuar linhas com espaços
Recue hello e world com 4 espaços e as duas linhas andam para a direita, com 8 caracteres acrescentados no total. Linhas em branco recebem os mesmos espaços, o recuo que já existe é mantido e nada muda dentro de cada linha. 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
- Espaços
- 4
- Entrada
- hello world
- Texto
- hello world
- Contagem de linhas
- 2
- Linhas
- hello, world
Uma ferramenta de indentação consciente de linhas prefixa cada linha do seu texto colado com um número fixo de espaços ASCII para que blocos de código aninhados, citações em bloco e listas hierárquicas se alinhem sem abrir um IDE. Informe qualquer string multilinha não vazia—trechos de código, dumps de chat, rascunhos Markdown ou trechos de log—mais o inteiro de espaços iniciais desejado, e a ferramenta normaliza as quebras de linha, divide por novas linhas e antepõe a mesma sequência de espaços a cada linha, deixando o restante intacto. Redatores, desenvolvedores, autores de documentação e agentes de suporte precisam dessa mesma regra por linha ao aninhar conteúdo sob outro bloco ou quando um guia de estilo pede um deslocamento de quatro espaços.
O que significa indentar por linha com espaços e quando usar
Você fornece o texto e um valor inteiro não negativo spaces entre zero e duzentos. Depois que finais Windows CRLF e CR legado são normalizados para uma forma LF única, a string é dividida por LF, cada segmento—incluindo linhas em branco—recebe um prefixo de exatamente esse número de caracteres de espaço ASCII, e os segmentos são reunidos com LF.
Espaços iniciais já presentes em uma linha são mantidos: a ferramenta sempre adiciona a quantidade solicitada em vez de reindentar até uma coluna-alvo, de modo que aninhar um bloco que já tem dois espaços sob outro nível de quatro espaços resulta em seis espaços nessas linhas. Espaços interiores entre palavras permanecem; o conteúdo final nunca é aparado nem colapsado. Zero espaços é permitido e devolve o texto com quebras normalizadas sem prefixo extra, útil para testar o pipeline sem deslocar o conteúdo.
Spaces ausente, não inteiro, negativo ou acima de duzentos também falha na validação. Prefira esta ferramenta quando a intenção de busca for indentar linhas com espaços, adicionar espaços iniciais a cada linha ou aninhar um bloco multilinha sob Markdown ou citação de e-mail—não quando só precisar preencher uma string curta até uma largura fixa.
Dicas práticas, limites e buscas relacionadas
Use esta capacidade quando a intenção de busca for indentar linhas com espaços, adicionar espaços iniciais multilinha, indentar bloco de código online ou aninhar texto citado com uma sequência fixa de espaços. Deixe formatadores conscientes de linguagem fora do escopo: esta ferramenta não conhece a significância de profundidade de indentação de Python ou YAML além dos espaços literais que você solicita, e nunca converte tabulações.
Fonte HTML e Markdown ainda indentam cada linha bruta da string que você envia; remova tags primeiro se importar o texto renderizado e não a marcação. Ao ensinar alunos ou integrar revisores, mostre a mesma amostra antes e depois com spaces em dois e em quatro para que vejam que só a borda inicial de cada linha cresce e que o espaçamento interno das palavras permanece intacto.
Casos de uso
Aninhar amostras de código sob documentação
Autores de docs colam um trecho e indentam cada linha com quatro espaços para que Markdown ou reStructuredText tratem o bloco como código aninhado sob um item de lista.
Citar respostas multilinha em tickets
Agentes de suporte indentam o colado do cliente com dois espaços (ou mais) antes de envolvê-lo em estilo de citação para que threads aninhadas permaneçam legíveis.
Perguntas frequentes
Isto converte tabulações em espaços?
Não. Apenas antepõe caracteres de espaço ASCII. Tabulações existentes dentro ou no início de uma linha permanecem inalteradas.
O que acontece com entrada vazia?
Forneça uma string não vazia com pelo menos um caractere que não seja espaço em branco.
Linhas em branco também são indentadas?
Sim. Cada linha após a divisão—incluindo as vazias—recebe o mesmo prefixo de espaços iniciais para que a estrutura do bloco permaneça consistente.
Como são tratados os finais de linha do Windows?
CRLF e CR isolado são normalizados para LF antes da divisão, de modo que o mesmo colado produz o mesmo resultado em cada plataforma.
A ferramenta de indentação por linha é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
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/indent-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello\nworld","spaces":4}'const res = await fetch("https://api.kit.forhosting.com/str/indent-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello\nworld",
"spaces": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/indent-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello\nworld",
"spaces": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/indent-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello\\nworld","spaces":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello\nworld","spaces":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/indent-lines", 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\nworld",
"spaces": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.indent_lines",
"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
Entrada vazia ou só com espaços é rejeitada com um erro invalid_input claro para que a automação nunca trate um colar em branco como indentação bem-sucedida. O caminho é lógica de strings pura e determinística—sem rede, sem sementes aleatórias, sem dependência de relógio—de modo que o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON sempre que você a invoca.
O que significa indentar por linha com espaços e quando usar
A maioria dos editores indenta uma seleção inserindo espaços ou tabulações no início de cada linha selecionada; esta capacidade faz o mesmo trabalho como uma transformação focada e pronta para API. Entrada inteira vazia ou só com espaços é erro duro: não há documento indentado significativo a devolver, e os clientes devem tratar isso como invalid_input e não como sucesso de zero linhas.
Como chamar a API e o que a resposta contém
O valor spaces deve ser um inteiro finito de zero a duzentos inclusive. Prefira enviar o corpo multilinha bruto em vez de unir linhas de antemão quando quiser semântica verdadeira por linha. Envie um corpo JSON com o campo string obrigatório text (aliases input, value, string, s, content e body) e o campo inteiro obrigatório spaces (aliases n, indent, count, amount e pad). O texto deve ser não vazio após aparar espaços gerais e não deve exceder cem mil caracteres para que uma única requisição não esgote a memória do Worker ou do navegador com colagens enormes. Em caso de sucesso a resposta devolve input como a string original enviada, spaces como o inteiro normalizado aplicado, text como o resultado totalmente indentado unido com LF, line_count como o número de linhas após a divisão (incluindo vazias), lines como um array ordenado das strings de linha indentadas, chars_before e chars_after como os comprimentos das strings original e indentada, chars_added como quantos caracteres os prefixos introduziram no total (tipicamente line_count vezes spaces, ajustado se a normalização de quebras encurtou o original), e message como um resumo breve em inglês que informa contagem de linhas, spaces e caracteres adicionados. Validação falha—text ausente, valor que não é string, carga excessiva, conteúdo vazio após o trim geral ou spaces inválido—devolve invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por requisição bem-sucedida com unidade item. Ao integrar, asserte sobre text ou lines para o conteúdo indentado, compare opcionalmente chars_added em checagens de regressão e trate invalid_input como bug do cliente em envios de formulário em branco e não como evento de faturamento.
Dicas práticas, limites e buscas relacionadas
Checagens de ida e volta para testes são fáceis: envie duas linhas curtas com spaces igual a quatro e espere que cada linha comece com quatro espaços; envie uma linha em branco entre conteúdos e confirme que essa linha vazia também carrega o mesmo prefixo; envie deliberadamente string vazia ou só espaços para confirmar invalid_input e a mensagem que pede uma string não vazia; envie spaces negativo ou um float para confirmar invalid_input no campo de contagem. Se precisar remover espaços iniciais e finais por linha em vez de adicionar espaços, use a ferramenta irmã de trim por linha; se precisar preencher uma única string até uma largura total com um caractere de preenchimento à esquerda ou à direita, use o pad de string; se precisar de JSON com indentação estrutural, use um formatador JSON. Tarefas falhas que devolvem invalid_input não consomem saldo pré-pago, o que mantém barata a validação de formulários e testes negativos de CI. Respeite os limites de caracteres e de spaces documentados acima ao enviar dumps grandes pela API.
Casos de integração
Testes unitários de pré-processadores de texto
Gere fixtures multilinha indentados de referência e rejeições de entrada vazia ou contagem inválida para editores, etapas ETL e pipelines de markdown.