Transformar texto em tabela
Esta ferramenta transforma texto corrido em tabela: você envia parágrafos com dados espalhados — preços, nomes, medidas, datas — e recebe linhas e colunas prontas para colar na planilha. Funciona via API, com preço por uso, do texto avulso ao lote diário.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Os dados já estão no texto — só falta a grade
"O modelo básico custa R$ 120 e pesa 2 kg; o intermediário sai por R$ 180 com 2,5 kg; o top é R$ 260." Tudo que uma tabela precisa está nessa frase, menos a tabela. A conversão identifica as entidades repetidas (modelo, preço, peso), monta as colunas e distribui cada registro em sua linha. O que o texto não informa — o peso do modelo top — fica como célula vazia, visível, em vez de sumir na prosa.
Você escolhe as colunas, ou deixa a IA propor
Tem dois jeitos de usar. Sem instruções, a ferramenta deduz as colunas naturais do texto e entrega a tabela que ele sugere. Com instruções, você fixa as colunas que seu fluxo exige — "produto, preço à vista, preço parcelado, prazo" — e todo texto processado sai nesse mesmo formato, o que importa quando a tabela de hoje precisa casar com a de ontem na mesma planilha.
Da resposta ao Excel em um colar
O resultado vem em formato tabular pronto para reutilizar: cole no Excel ou no Google Planilhas e as colunas caem certas, ou receba a estrutura via API e grave direto no seu banco de dados. Não tem etapa de "arrumar depois", nem célula deslocada para caçar: o objetivo é que o dado saia do texto já no formato e no lugar em que você trabalha com ele todos os dias.
Preço para o avulso e para o lote
US$ 0,003 por chamada mais US$ 0,0135 por 1.000 palavras, sem mensalidade e sem volume mínimo. Um relatório de 3.000 palavras vira tabela por US$ 0,0435, em dólar. Cada chamada aceita até 20.000 tokens; para o lote — os e-mails de cotação do mês, os laudos do trimestre — o mesmo endpoint roda em série e as tabelas saem padronizadas, com as mesmas colunas, prontas para empilhar numa planilha única.
Casos de uso
Lista de preços mandada no WhatsApp
Márcia Regina Oliveira revende cosméticos em Curitiba e recebe do fornecedor a tabela nova... em texto corrido, numa mensagem de WhatsApp. Cola o texto, define as colunas (produto, custo, sugestão de venda) e em segundos tem a planilha para calcular a margem de cada item.
Cotações de três fornecedores lado a lado
O comprador da Padaria Pão Dourado pede cotação de embalagens a três fornecedores e recebe três e-mails, cada um descrevendo preços num formato. Converte os três com as mesmas colunas e cola tudo na mesma planilha: o comparativo que tomava uma tarde sai antes do café esfriar.
Relatório de vistoria em texto corrido
Uma administradora de imóveis em Belo Horizonte recebe laudos de vistoria escritos em prosa: cômodo por cômodo, estado e observações. Cada laudo vira uma tabela padronizada (ambiente, item, condição, providência) que alimenta o sistema de manutenção — e nada de reclamação perdida no parágrafo três.
Respostas abertas de formulário
Uma organizadora de eventos coleta inscrições por formulário com campo livre: nome, empresa e restrição alimentar vêm misturados no texto. A conversão em lote estrutura as 400 respostas em colunas — a lista do buffet e o credenciamento saem da mesma tabela.
Perguntas frequentes
Em que formato a tabela é entregue?
Em formato tabular estruturado via API, pronto para colar em planilha (Excel, Google Planilhas) ou para o seu sistema consumir direto. As colunas mantêm tipos coerentes — número como número, data como data — para os filtros e somas funcionarem.
Posso fixar as colunas que eu quero?
Pode, e é o recomendado quando você vai processar vários textos: definindo as colunas na chamada, toda tabela sai no mesmo esqueleto, e empilhar os resultados numa planilha única deixa de ser trabalho manual.
O que acontece com informação que não cabe nas colunas?
Você decide: dá para pedir uma coluna de observações que recolhe o que sobrou, ou deixar de fora o que não interessa. E célula sem dado no texto fica vazia — a ferramenta não completa com suposição.
Qual a diferença para extrair tabela de uma imagem ou PDF?
Aqui a fonte é texto corrido, sem tabela nenhuma — a estrutura é criada. Quando o documento já tem uma tabela visível (num PDF escaneado, numa foto), as capacidades de OCR e de extração de tabela são o caminho certo.
Como funciona a cobrança?
Pagamento por uso, em dólar: US$ 0,003 por chamada mais US$ 0,0135 por 1.000 palavras enviadas. Dez laudos de 2.000 palavras custam US$ 0,30. Sem mensalidade — mês sem uso, custo zero.
Os textos que eu mando ficam retidos em algum servidor?
São processados para montar a tabela e devolvidos; não há cadastro nem painel guardando seus envios. Se o texto trouxer dados pessoais (inscrições, laudos com nomes), vale o princípio da LGPD: envie o necessário para a tabela que você precisa.
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/to-table \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/to-table", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/to-table",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/to-table", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/to-table", 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": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.to_table",
"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. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |