Alinhar texto em colunas
Cole «name,age,city», «Alice,30,NY» e «Bob,25,Los Angeles» e receba três colunas limpas de 5, 3 e 11 caracteres, separadas por dois espaços e legíveis em qualquer visualização monoespaçada. Sem abrir planilha. 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
- name,age,city Alice,30,NY Bob,25,Los Angeles
- Delimitador
- ,
- Alinhar
- Left
- Gap
- 2
- Linhas
- 3
- Colunas
- 3
- Larguras das colunas
- 5, 3, 11
- Contagem de linhas
- 3
Colagens tabulares confusas —exportações CSV com comprimentos irregulares, logs unidos por pipes ou listas com tabulações digitadas à mão— são difíceis de ler até que cada coluna fique alinhada. Esta ferramenta recebe texto multilinha, divide cada linha pelo delimitador escolhido, mede o valor mais largo de cada coluna e preenche cada célula para que a tabela fique legível em qualquer visualização monoespaçada. Você controla o alinhamento (esquerda, direita ou centro), o espaço entre colunas e se os campos são aparados antes da medição. Não há rede dentro do motor, nem modelo nem dependência de relógio: entradas idênticas sempre geram a mesma saída alinhada e os mesmos metadados de largura de coluna para testes e pipelines.
Como funciona o alinhamento de colunas em texto delimitado
O alinhamento de colunas é um problema clássico de layout de largura fixa: trate cada linha como uma fileira de campos, descubra quão larga cada coluna precisa ser para caber a célula mais longa e preencha cada célula mais curta até as colunas visuais se empilharem.
Esta capacidade primeiro divide a entrada em quebras de linha (com suporte a LF, CRLF e CR simples) e depois divide cada linha não vazia pelo delimitador configurado —vírgula por padrão, ou tabulação, pipe, ponto e vírgula, ou qualquer string curta personalizada que você enviar. O aparo opcional de campos remove espaços no início e no fim antes de medir a largura, para que espaços acidentais em uma colagem CSV não inflacionem uma coluna.
Linhas irregulares com menos campos do que a linha mais larga são preenchidas com strings vazias para que todas tenham o mesmo número de colunas. Para cada coluna o motor guarda o comprimento máximo da célula e preenche cada célula até essa largura: alinhamento à esquerda acrescenta espaços no final, à direita no início, e ao centro divide o orçamento de preenchimento com o piso à esquerda e o resto à direita para um centro estável e determinístico.
As colunas são reagrupadas com um intervalo configurável de espaços puros (dois por padrão), no estilo familiar de column -t de tabelas monoespaçadas, sem reinsierir o delimitador original na exibição. Linhas de origem vazias são preservadas como linhas em branco na saída para que quebras de seção da sua colagem sobrevivam.
Onde colunas alinhadas valem a pena no trabalho real
Equipes de suporte e operações colam fragmentos CSV de tickets e precisam de uma tabela monoespaçada de relance no chat ou em um runbook sem abrir uma planilha. Desenvolvedores e SREs transformam saídas de sondas separadas por pipe ou tabulação em colunas alinhadas para notas de incidente, descrições de pull request e logs de terminal que permanecem legíveis quando os valores diferem em comprimento.
Equipes de dados e analytics alinham números à direita e rótulos à esquerda para que tabelas mistas sigam as convenções visuais de relatórios financeiros antes de serem copiadas para a documentação. Educadores e redatores técnicos montam exemplos didáticos de layout de largura fixa e conceitos de delimitador sem instalar utilitários column em cada máquina de aluno.
Prefira esta página quando a intenção de busca for alinhar texto em colunas, preencher campos delimitados ou tornar um CSV confuso legível como tabela; se precisar converter prosa em tabela Markdown com um LLM, mesclar arquivos CSV ou preencher uma única string a uma largura fixa, use essas ferramentas dedicadas em vez de forçar este contrato.
Casos de uso
Embelezar colagens CSV e TSV
Transforme exportações irregulares separadas por vírgula ou tabulação em uma tabela monoespaçada que você pode colar em tickets, documentação e chat sem abrir uma planilha.
Alinhar saída de CLI e de sondas
Preencha a saída de comandos delimitada por pipe ou espaços para que as colunas de status fiquem alinhadas em notas de incidente, descrições de PR e runbooks.
Alinhar números à direita em tabelas mistas
Use alinhamento à direita em colunas numéricas e à esquerda em rótulos para que trechos financeiros ou de inventário sigam as convenções de relatórios em fontes monoespaçadas.
Perguntas frequentes
Como alinhar texto delimitado em colunas?
Envie texto multilinha com um delimitador (vírgula por padrão).
Quais delimitadores são suportados?
Qualquer string não vazia de até oito caracteres. Opções comuns: vírgula, tabulação, pipe (|) e ponto e vírgula. O padrão é a vírgula. Você pode enviar a sequência de dois caracteres \t para uma tabulação.
O alinhamento mantém o delimitador original na saída?
Não. Os campos são preenchidos e reagrupados com um intervalo configurável de espaços (dois por padrão), no estilo clássico de column -t, para leitura monoespaçada limpa.
O que acontece com linhas irregulares ou em branco?
Linhas mais curtas são completadas com células vazias até a linha mais larga. Linhas de origem totalmente vazias são preservadas como linhas em branco na saída alinhada.
Quanto custa?
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/align-columns \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"name,age,city\nAlice,30,NY\nBob,25,Los Angeles"}'const res = await fetch("https://api.kit.forhosting.com/str/align-columns", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "name,age,city\nAlice,30,NY\nBob,25,Los Angeles"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/align-columns",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "name,age,city\nAlice,30,NY\nBob,25,Los Angeles"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/align-columns", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"name,age,city\\nAlice,30,NY\\nBob,25,Los Angeles"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"name,age,city\nAlice,30,NY\nBob,25,Los Angeles"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/align-columns", 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": "name,age,city\nAlice,30,NY\nBob,25,Los Angeles"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.align_columns",
"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
Como funciona o alinhamento de colunas em texto delimitado
Cargas excessivas, demasiadas linhas ou colunas, texto vazio ou delimitador vazio falham com invalid_input em vez de truncar dados em silêncio.
Contrato de entrada, formato da resposta e regras de validação
Verificação clássica: name,age,city depois Alice,30,NY depois Bob,25,Los Angeles com vírgula padrão e gap dois produz três colunas alinhadas à esquerda cuja coluna de cidade é larga o bastante para Los Angeles e cujas células mais curtas são preenchidas com espaços para que uma fonte monoespaçada mostre bordas verticais limpas. Use o formulário gratuito do navegador para formatar colar e copiar; depois chame o contrato idêntico a partir de scripts ao normalizar saída de CLI, tabelas de README ou tickets de suporte antes de publicar. Envie por POST um corpo JSON com o text obrigatório: uma string multilinha de campos delimitados. O delimiter opcional tem padrão vírgula e aceita aliases como sep ou delim; escreva um caractere de tabulação real ou a sequência de dois caracteres barra-invertida-t quando os clientes não puderem embutir facilmente caracteres de controle. O align opcional normaliza-se para left, right ou center (aliases l, r, c, start, end, middle). O gap opcional é um inteiro não negativo de espaços entre colunas preenchidas, padrão dois, com limite para que uma única solicitação não exploda o tamanho da saída. trim_fields é opcional e padrão true; defina false quando espaços iniciais internos forem significativos e devam permanecer. Em caso de sucesso a resposta ecoa as opções normalizadas e devolve aligned (a tabela multilinha completa), rows (contagem de linhas de origem não vazias), columns (largura da matriz), column_widths (larguras por coluna usadas no preenchimento), line_count incluindo linhas em branco, e operation com valor align_columns. Texto ausente ou vazio, delimitador vazio, flags de aparo não booleanas, valores de align fora do conjunto permitido ou tamanhos acima dos limites documentados geram invalid_input e não são cobrados. O preço das chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item.
Onde colunas alinhadas valem a pena no trabalho real
Como esta capacidade é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída, e a validação falha não consome saldo pré-pago.