jsonix Documentation

Overview

jsonix is a local-first data toolkit for working with JSON, XML, YAML, TOML, and CSV. All processing runs in your browser — no data is sent to any server.

Use it to format, validate, transform, diff, and convert between data formats. Generate type definitions for TypeScript, Python, Go, Java, and more. View data as a tree or interactive graph.

Input & Output Formats

  • JSON — Parse, format, validate, minify
  • XML — Parse and convert to/from other formats
  • YAML — Parse and convert
  • TOML — Parse and convert
  • CSV — Parse and convert (array of objects)

Input format is auto-detected when you paste or import. Override it via the status bar dropdown (bottom left). Output format is selected in the Transform config or toolbar.

Transform Actions

ActionDescription
FormatPretty-print with configurable indent (0–10 spaces)
MinifyRemove whitespace and newlines
FlattenConvert nested objects to dot-notation keys (e.g. a.b.c)
UnflattenExpand dot-notation keys back to nested objects
SchemaGenerate JSON Schema from sample data
ValidateValidate input against a JSON Schema (paste schema in modal)
DiffCompare two JSON documents side-by-side with highlighting

Output Views

  • Raw — Code editor with syntax highlighting, line numbers, copy
  • Tree — Expandable tree view of the structure
  • Graph — Interactive graph visualization (JSON only)

Use the star icon next to any view to pin it to the toolbar for quick switching.

Type Generation

Generate type definitions from your JSON data. Supported languages:

  • TypeScript, Java, C#, Python, Go, Protobuf, Kotlin, Swift, Rust, SQL

Star languages in the Transform config to pin them to the output toolbar. Each starred language appears as its own button for one-click generation.

Format Options

  • Indent — 0–10 spaces. Use − / + buttons or reset to default (2)
  • Quote style — Double or single quotes for JSON strings
  • Sort keys — Alphabetize object keys in output
  • Remove empty — Strip null and empty values

Toolbar & Pinning

Click the star icon next to any option (output format, view, action, indent, type language) to pin it to the top toolbar. Pinned items persist in your session (stored in localStorage).

This lets you customize the toolbar with your most-used actions for faster workflow.

Share & Export

  • Share — Generate a URL with input/output encoded (compressed)
  • Copy — Copy output to clipboard
  • Download — Download output as a file with the appropriate extension

Keyboard & Input

  • Undo / Redo — Ctrl+Z, Ctrl+Shift+Z
  • Paste — Paste from clipboard (auto-detects format)
  • Import — Drop or select .json, .yaml, .xml, .toml, .csv files
  • Live Transform — Toggle in status bar to auto-transform on input change

Privacy & Local-First

jsonix runs entirely in your browser. No data is sent to external servers. Your input, output, and session state stay on your device. Session state (including pinned items) is stored in localStorage for convenience.

Transform Config

Click the chevron next to the Transform button to open the config panel. From there you can:

  • Select output format (JSON, XML, YAML, TOML, CSV)
  • Choose view (Raw, Tree, Graph)
  • Run actions (Format, Minify, Flatten, etc.)
  • Adjust indent (0–10) with − / + / reset
  • Set quote style (double or single)
  • Toggle sort keys and remove empty
  • Generate types in any supported language

Use the star icon to pin options to the toolbar. Pinned items appear as quick-access buttons.

Input Editor

  • Undo / Redo — Toolbar buttons or Ctrl+Z / Ctrl+Shift+Z
  • Clear — Trash icon clears input and output
  • Paste — Header button pastes from clipboard
  • Import — Drop files or use Import to select .json, .yaml, .xml, .toml, .csv
  • Input format — Status bar shows detected format; click to override

Schema & Validate

Schema generates a JSON Schema from your current input. Copy the output and use it elsewhere, or paste it into the Validate modal.

Validate checks your input against a schema. Click Validate, paste your JSON Schema (or YAML schema) in the modal, and run. Errors show in the status bar.

Diff

Diff compares two JSON documents. Click Diff, paste the second document in the modal, and run. The output shows a side-by-side view with additions and removals highlighted.

Share URL

Share encodes your input and output into a compressed URL. Anyone with the link can open the same state. Useful for debugging, code reviews, or sharing examples.