Adicione números de linha ao texto com alinhamento
Adicione números de linha ao texto sem abrir um editor, escrever um script ou corrigir prefixos desalinhados manualmente.
Executar grátis
Cole qualquer conteúdo com várias linhas, escolha um número inicial não negativo e receba uma versão numerada em que todos os prefixos têm a mesma largura. As linhas em branco são mantidas e também recebem números, portanto o resultado preserva exatamente a estrutura de linhas da origem. A ferramenta é determinística, aceita formatos comuns de quebra de linha e retorna contagens úteis para conferência e automação.
Transforme linhas simples em referências claras
Números de linha tornam textos não estruturados muito mais fáceis de discutir, revisar e comparar. Cole a origem no campo de texto e defina o primeiro número que você deseja usar. A ferramenta trata como linha cada segmento separado por uma quebra, inclusive um segmento vazio entre duas linhas visíveis e o segmento final vazio depois de uma quebra no fim. Em seguida, ela acrescenta a cada linha seu número sequencial, uma barra vertical e um espaço. Esse formato estável permite que colaboradores indiquem precisamente a linha 8 ou a linha 42 sem alterar as palavras que vêm após o prefixo. Quebras do Windows e retornos de carro antigos são normalizados como quebras comuns, mantendo a saída uniforme entre sistemas. O espaçamento original dentro de cada linha é preservado. Nada é ordenado, aparado, quebrado, interpretado ou removido. Assim, você pode colar o texto numerado em um chamado, parecer, aula, transcrição, lista ou mensagem sem perder a ordem original nem a estrutura visual das linhas em branco.
Comece onde precisar e mantenha os números alinhados
O valor inicial padrão é 1, mas você pode escolher qualquer inteiro seguro não negativo que deixe espaço para todos os números seguintes. Começar em 0 é permitido, o que ajuda em índices técnicos baseados em zero, e um valor posterior como 101 pode continuar a numeração de um trecho anterior. Valores negativos são rejeitados porque não atendem ao contrato da capacidade. O alinhamento é calculado a partir do número final: a ferramenta descobre quantos dígitos ele exige e preenche à esquerda, com espaços, todos os prefixos menores. Se uma lista começar em 8 e terminar em 12, por exemplo, os números de um dígito ganham um espaço inicial, enquanto 10, 11 e 12 não ganham. As barras separadoras formam, assim, uma coluna visual reta. Isso é importante quando a faixa passa por 9, 99 ou outra mudança de quantidade de dígitos. O resultado informa ainda o início, o fim, o total de linhas e a largura, permitindo que uma integração confira a transformação sem analisar novamente a saída.
Use o resultado com segurança em fluxos repetíveis
Texto numerado é útil sempre que as pessoas precisam apontar partes exatas de um conteúdo sem coordenadas permanentes do editor. Uma equipe de suporte pode compartilhar um trecho de log e perguntar sobre uma linha específica. Docentes podem preparar um poema ou uma passagem para discussão em sala. Profissionais de edição podem anotar um rascunho em um canal sem numeração nativa. Quem desenvolve software pode numerar exemplos de configuração, saídas de comandos ou dados de teste antes de publicá-los em uma ocorrência. Para automatizar, envie o mesmo texto e número inicial pela API e receba sempre o mesmo resultado; cada solicitação custa US$ 0,002. O processamento é analítico e local: não consulta modelos de IA, recursos remotos, o horário atual nem valores aleatórios. Trate a saída como uma cópia para apresentação, e não como codificação reversível, pois os prefixos passam a integrar o texto. Guarde a origem caso você precise depois de uma versão sem números. Se a faixa ultrapassar o limite de inteiros seguros, a ferramenta rejeita a entrada em vez de emitir números enganosos.
Casos de uso
Revise logs com outra pessoa
Acrescente referências estáveis a um trecho de log para apontar linhas exatas sem depender da posição na tela.
Continue um trecho existente
Escolha um número inicial posterior para numerar a próxima seção de um documento ou transcrição sem recomeçar em um.
Prepare material didático
Numere todas as linhas de uma passagem, inclusive as linhas em branco intencionais, para criar perguntas e anotações claras.
Perguntas frequentes
Quanto custa?
A API custa US$ 0,002 por solicitação. Você também pode executar a versão para navegador nesta página.
A numeração pode começar em zero?
Sim. Zero e qualquer outro inteiro inicial válido e não negativo são aceitos.
O que acontece com linhas em branco?
Toda linha em branco é preservada e recebe seu próprio número sequencial, inclusive a linha final criada por uma quebra no fim.
Como os números das linhas são alinhados?
Os números menores são preenchidos à esquerda até a largura do número final, deixando todos os separadores na mesma coluna.
A ferramenta altera o conteúdo original das linhas?
Não. Ela normaliza as quebras e adiciona prefixos, mas não apara, ordena, quebra nem reescreve o conteúdo de cada linha.
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/add-line-numbers \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"First task\nSecond task\nThird task"}'const res = await fetch("https://api.kit.forhosting.com/text/add-line-numbers", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "First task\nSecond task\nThird task"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/add-line-numbers",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "First task\nSecond task\nThird task"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/add-line-numbers", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"First task\\nSecond task\\nThird task"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"First task\nSecond task\nThird task"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/add-line-numbers", 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": "First task\nSecond task\nThird task"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.add_line_numbers",
"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. |