Visualizador JSONL
Visualize arquivos JSONL (JSON delimitado por linha) numa tabela paginada. Cole até milhares de linhas, pesquise, filtre, expanda registros individuais. Arquivos nunca saem do seu browser.
Para que serve?
JSONL (também NDJSON — JSON delimitado por linha) é o formato de facto pra dados de treinamento de LLM, audit logs, streams de eventos e outputs de APIs batch. Um objeto JSON por linha, sem array englobante. É append-friendly, parseia linha a linha e sobrevive a corrupção parcial. Mas ler como humano dói — você quer uma tabela, não um muro de chaves. Esta ferramenta te dá essa tabela no browser. Nada é enviado; o arquivo é lido com o FileReader do browser e parseado no lugar.
Quando usar
- Inspecionar dados de training de LLM. Um dataset de fine-tuning normalmente é
{"messages": [...]}por linha. Olhar o corpus, conferir balanço de classes, achar aquela linha outlier que tá fazendo o trainer falhar. - Ler outputs batch da OpenAI / Anthropic. Ambos voltam resultados batch como JSONL — uma linha por request, com status e conteúdo. Ver de relance quais requests deram certo.
- Revisar audit logs. Logs de aplicação em JSONL são comuns; esta ferramenta mostra eles como tabela pra análise ad hoc sem sair do browser.
- Sanity-check de event streams. Dumps de Kafka / Kinesis costumam vir como JSONL. Vista paginada rápida, sem jq.
- Converter JSONL → CSV. Use o botão de export quando quiser jogar os dados numa planilha.
Como funciona o parsing
- Cada linha não vazia é parseada independentemente como JSON. Linhas vazias são ignoradas.
- Se uma linha falha, aparece como linha vermelha com o erro — o resto do arquivo segue. Intencional: uma linha ruim não deve te custar as outras mil.
- Colunas são auto-detectadas pela união de keys nas primeiras 100 linhas válidas, ordenadas por frequência. Keys raras depois da linha 100 ficam nos dados mas não ganham coluna própria.
- Objetos e arrays aninhados aparecem como snippet JSON cortado na célula. Clica na linha pra ver o JSON pretty-printed completo.
Pegadinhas comuns
- Array JSON ≠ JSONL. Se seu arquivo parece
[{...}, {...}, {...}]com vírgulas, isso é array JSON, não JSONL. Tira os colchetes de fora e troca vírgulas por quebras de linha — ou usa um visualizador JSON. - JSON pretty-printed não é JSONL. Se cada "objeto" se estende por várias linhas, o parser vai ver fragmentos quebrados. JSONL é estritamente um objeto por linha.
- Linhas com shape misto funcionam mas ficam bagunçadas. Se metade das linhas tem
contente a outra metadetext, vai dar duas colunas e muitos vazios. Geralmente é o que você quer; às vezes indica bug de limpeza de dados. - Arquivos muito grandes. Tudo é parseado em memória; ~50–100 MB vai bem em laptops modernos, acima disso fica lento. Pra logs de vários GB, usa uma ferramenta CLI de streaming.
- Privacidade. Arquivos nunca saem da página. FileReader lê bytes na memória JS; nenhum request de rede.