Web app to validate JSONL and pretty-print each line as readable JSON.
JSONL is easy to generate, hard to inspect manually. This tool helps with:
- quick validation
- per-line parse errors with line numbers
- readable JSON expansion per line
- markdown preview for long string fields
- Split-pane editor and output view.
- Real-time validation while typing.
- Per-line status (
Valid/Invalid) with counters. - Expand/minimize each line output.
- Markdown modal preview for large text values (80+ chars).
- Trailing final empty line accepted (JSONL-friendly behavior).
- SEO metadata + JSON-LD (
WebApplication) + sitemap/robots/manifest. - Static export for GitHub Pages.
- Node.js 22+ (CI uses Node 22)
- npm
npm install
npm run devOpen http://localhost:3000.
- Paste JSONL into the left editor (one JSON object/value per line).
- Check summary badge for overall validity.
- Expand any line on the right to inspect formatted JSON or error.
- For long text fields, hover value and click
View Markdown. - Use
Sampleto load demo data,Clearto reset.
Example input:
{"event":"signup","user_id":101}
{"event":"purchase","amount":49.99}npm run dev # local dev server
npm run lint # eslint
npm run test # vitest
npm run build # production static build (out/)
npm run deploy # publish out/ to gh-pagesWorkflow: .github/workflows/deploy.yml
- triggers on push to
main - builds static output (
out/) - publishes to
gh-pages
next.config.ts derives basePath from GITHUB_REPOSITORY in production builds.
Set it before deploy:
export GITHUB_REPOSITORY=your-user/your-repo
npm run deploysrc/app/ # Next.js app router pages + metadata routes
src/lib/jsonl.ts # JSONL parser and per-line formatting
src/lib/markdown-fields.ts # long-string markdown field discovery
src/lib/*.test.ts # vitest unit tests
public/ # static assets (including screenshot)
Before opening a PR:
npm run lint
npm run test
npm run buildIssues and PRs welcome.
Suggested flow:
- Fork and create a feature branch.
- Keep changes scoped and add tests for behavior changes.
- Run quality checks locally.
- Open PR with a clear summary and before/after behavior.
- JSONL validator behavior references: wardi/jsonlines validator.js
- Formatting model reference: jsonformatter.org jsontools-min.js
No license file is currently present in this repository.
