Numerar linhas com início e passo personalizados
A numeração personalizada é útil quando uma sequência comum de um em um não é suficiente.
Executar grátis
Cole um trecho, uma lista, um exemplo de código, uma transcrição ou um bloco de citações; escolha o número da primeira linha e quanto cada número seguinte deve variar. A ferramenta preserva a ordem e o conteúdo de todas as linhas e acrescenta referências previsíveis, fáceis de citar, comparar ou colar em outro documento. Ela também aceita valores decrescentes ou repetidos quando o seu fluxo exigir.
Escolha um valor inicial adequado ao documento
A configuração de início controla o número atribuído à primeira linha. Isso faz diferença quando o texto é um trecho, e não um documento completo. Se uma seção anterior terminou na linha 240, por exemplo, comece a próxima em 241 e mantenha as referências contínuas sem inserir linhas de preenchimento. Um início personalizado também ajuda em exercícios acadêmicos, anexos jurídicos, transcrições de entrevistas e revisões de código por etapas, nas quais um fragmento colado precisa conservar uma posição significativa. Insira o texto de origem exatamente como ele deve aparecer, inclusive com linhas vazias intencionais. A ferramenta normaliza os formatos comuns de quebra de linha para manter o resultado estável entre sistemas operacionais, mas não remove espaços, reescreve, quebra automaticamente nem altera o conteúdo original. Cada linha resultante recebe um rótulo, inclusive uma linha vazia e a linha vazia final criada por uma quebra no fim. Esse comportamento deixa as referências posteriores inequívocas: a mesma entrada e as mesmas configurações sempre identificam o mesmo conteúdo com os mesmos números.
Use o passo para criar sequências além da ordem consecutiva
O passo é somado depois de cada linha e oferece controle direto sobre a sequência. O valor 1 cria rótulos consecutivos conhecidos, enquanto 5 produz 10, 15, 20 e assim por diante quando o início é 10. Intervalos maiores deixam espaço conceitual para material que poderá ser inserido depois, algo útil em especificações, roteiros e notas de revisão. Passos negativos criam referências decrescentes para contagens regressivas ou trechos em ordem inversa. Um passo igual a zero repete deliberadamente o mesmo rótulo em todas as linhas quando um marcador de seção compartilhado é mais útil do que uma sequência. O início e o passo precisam ser inteiros dentro dos limites publicados. Aceitar apenas inteiros evita rótulos fracionários inesperados e facilita as citações. Antes de retornar a saída, o algoritmo também confirma que o último valor gerado continua sendo um inteiro seguro. Essas regras mantêm entradas longas determinísticas e impedem arredondamentos numéricos silenciosos tanto no navegador quanto em um fluxo automatizado de API.
Copie um resultado estável para citações, listagens e revisões
O separador é o pequeno texto colocado entre cada número gerado e a respectiva linha de origem. O ponto seguido de espaço, usado por padrão, funciona naturalmente em listas gerais; dois-pontos, tabulação, barra vertical ou uma marca semelhante a colchete podem combinar melhor com código e formatos de citação. O resultado inclui um texto combinado para cópia imediata e uma matriz de linhas numeradas para programas que precisam processar cada item separadamente. Ele também informa a quantidade de linhas e os valores efetivos de início, passo e separador, permitindo que uma integração registre exatamente como a saída foi produzida. Nenhuma rede, modelo de linguagem, relógio ou valor aleatório participa da transformação. O tamanho da entrada, a quantidade de linhas e o comprimento do separador são limitados e verificados antes da resposta. Assim, a capacidade atende a pipelines editoriais repetíveis: guarde as configurações junto de uma revisão da fonte, gere o trecho novamente e obtenha rótulos idênticos sempre que o texto não tiver mudado.
Casos de uso
Continuar uma listagem de código
Inicie um bloco extraído no número usado pelo arquivo de origem e crie referências estáveis para revisão.
Preparar cláusulas espaçadas
Numere requisitos em intervalos como dez para permitir a inserção posterior de cláusulas entre referências.
Criar transcrições prontas para citação
Aplique rótulos consistentes a cada linha, inclusive às vazias intencionais, antes de compartilhar um trecho.
Perguntas frequentes
Quanto custa uma solicitação?
Cada solicitação de API custa US$ 0,002. A versão do navegador usa o mesmo algoritmo determinístico.
A numeração pode ser regressiva?
Sim. Use um inteiro negativo como passo, por exemplo -1 ou -10.
Todas as linhas podem receber o mesmo número?
Sim. Um passo igual a zero repete o valor inicial em cada linha.
As linhas vazias são removidas?
Não. Elas são preservadas e numeradas, inclusive a linha vazia final causada por uma quebra no fim.
A ferramenta altera as terminações de linha?
As terminações CRLF e CR são normalizadas como LF para manter a saída uniforme entre plataformas.
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/enumerate-lines-custom \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"First reference\nSecond reference\nThird reference"}'const res = await fetch("https://api.kit.forhosting.com/str/enumerate-lines-custom", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "First reference\nSecond reference\nThird reference"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/enumerate-lines-custom",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "First reference\nSecond reference\nThird reference"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/enumerate-lines-custom", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"First reference\\nSecond reference\\nThird reference"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"First reference\nSecond reference\nThird reference"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/enumerate-lines-custom", 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 reference\nSecond reference\nThird reference"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.enumerate_lines_custom",
"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 |
max_lines | 10000 |
max_separator_chars | 32 |
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. |