Fix, Convert & View 22+ Data Formats — JSON, CSV, Parquet, Excel & Mock Webhook APIs · yellorn
Fix, convert, and view 22+ data formats in one editor. 29 auto-fix passes repair broken JSON, XML, YAML, CSV, and SQL from LLMs, log dumps, and Excel exports. Open binary files too — Parquet, Excel, Arrow, MessagePack, CBOR, Protobuf, BSON, gzip — plus AI model files (Safetensors, GGUF, ComfyUI) and X.509 certificates (PEM, PFX, CRT, CSR). Convert across formats, publish payloads as dynamic mock REST APIs that return live UUIDs, timestamps, and random data via {{ }} tokens, and dispatch HTTP requests with saved templates.
Universal data-file viewer — 22 formats, from JSON to Parquet to Safetensors to X.509 certificates
- Text & structured formats (edit, fix, and convert): JSON, JSON Lines / NDJSON, XML, YAML, TOML, CSV, ASCII Table, SQL, Python, and Raw Text — each with its own best-effort recovery ladder and Smart Format ladder.
- Binary data files (open and inspect, decoded to a JSON preview in a worker): Apache Parquet, Apache Arrow / Feather, Excel (
.xlsx/.xlsm/.xls), MessagePack, CBOR, Protobuf (schema-lessdecode_raw), BSON (MongoDB), and gzip. Parquet and single-sheet Excel open straight into the sortable table view. - AI / ML artifacts: Safetensors (header-only — tensor names, dtypes, shapes, parameter count, never the multi-GB weights), GGUF (llama.cpp model metadata + tensor map), and ComfyUI workflows extracted from a generated PNG (the API prompt + UI graph + a recipe summary: checkpoint, LoRAs, sampler, image size, resolved prompts).
- Certificates & keys (the X.509 PKI family, decoded to a JSON insight preview): PEM, DER, PKCS#12 / PFX (
.pfx/.p12), PKCS#7 (.p7b), and PKCS#10 CSRs. Every file leads with a computed__insight__summary — subject, issuer, expiry status, public-key and signature algorithm, SHA-256 fingerprint, and warnings (self-signed, weak RSA key, SHA-1 signature, password-protected). Private-key material is never decoded or displayed — only the key's algorithm and format. - No upload required — binary and certificate files are decoded locally in your browser; large files are previewed with a byte cap so the tab stays responsive.
Data Doctor — repair broken structured data instantly
- 29 documented auto-fix passes across four formats: 15 for JSON (markdown fences, comments, Python literals, single quotes, unquoted keys, trailing commas, missing commas, auto-close brackets, Python timestamps / datetime / Decimal / tuples / sets), 5 for XML, 6 for YAML, 3 for CSV.
- LLM output cleanup — paste JSON from ChatGPT, Claude, or any LLM. Markdown fences and explanatory comments are stripped automatically; Python-style
None/True/Falseare normalised; smart quotes from rich-text pastes are replaced. - Server-log recovery — recover concatenated JSON documents glued by bad
\Xescapes and truncated"response": "{...log lines via the Smart Format catch path. - Excel-on-Windows BOM removal — every UTF-8-BOM CSV export from Excel is repaired so the first column header doesn't end up as
\uFEFFColumnName. - Auditable fixes — every applied repair is labelled in the status bar ("Auto-fixed: trailing-commas, single-quotes, unquoted-keys"), so the user reviews and consents before publishing.
SQL auto-format — MySQL, Postgres, Athena, BigQuery, Snowflake
- Multi-dialect formatter — Smart Format (Cmd+Shift+F) auto-indents and uppercases keywords across MySQL, PostgreSQL, MS SQL Server, Amazon Athena (Trino/Presto), Google BigQuery, Snowflake, MariaDB, IBM DB2, and SQLite via
sql-formatter. - Best-effort SQL repair — pasted queries are cleaned of markdown
```sqlfences, UTF-8 BOMs, smart quotes, and zero-width characters before formatting; every fix is labelled in the status bar. - Simple / Safe / Compress modes — preserve keyword case (Simple), layout-only whitespace normalisation (Safe), or minify to a single line for embedding in code (Compress).
- Python escape hatch — Convert to Python emits a ready-to-run
cursor.execute(dedent(...))snippet so you can drop the query straight into your codebase.
Cross-format converter — JSON ↔ XML ↔ YAML ↔ CSV
- Convert JSON to XML, YAML, or CSV with a single click; CSV → JSON emits row-of-objects; XML → JSON preserves
@_attr/#text/#cdataconventions. - Python-dict clipboard export from every format (datetime roundtrips through
datetime.fromisoformat, Decimal, tuples, sets). - Lossy-conversion warnings (e.g. CSV ← deeply-nested JSON) surface a confirmation toast before re-shaping.
- Atomic undo — one Cmd+Z reverts both the text and the active format together.
Mock webhook REST API — publish payloads as live endpoints
- Click Publish, get a Cloudflare-edge HTTPS URL. All HTTP methods accepted at the slug; configurable response status code (200 / 401 / 429 / 500) and custom response headers to simulate failure paths.
- Format-aware Content-Type — publish XML and the URL serves
application/xml; publish CSV and it servestext/csv. - Custom endpoint paths — paid tiers can choose a memorable URL (
/api/webhook/my-stripe-hook) instead of a random slug. - Owner-only request log portal at
/webhook/<slug>: see method, headers, body, source IP, and timestamp for every incoming request, with search and export. - Free tier ships 5 active URLs with 24h TTL; Pro subscribers get 1,000 new URLs/month with persistent TTL while the subscription is active; Team gets 10,000/month at 300K calls/day.
Dynamic mock responses — live UUIDs, timestamps & random data with {{ }} tokens
- Dynamic tokens compute part of a response at request time: a published webhook (and Request Sender bodies, URLs, and headers) can embed a tiny, sandboxed, Python-flavoured expression in
{{ … }}that renders fresh on every hit. - Identifiers & time —
{{ uuid4() }},{{ objectid() }},{{ snowflake() }},{{ now() }},{{ today() }},{{ timestamp() }}, and relative time via{{ now() + timedelta(days=1) }}. - Randomness —
{{ randint(1, 100) }},{{ randfloat(0, 1) }},{{ randstr(16) }},{{ randbool() }}, and{{ choice("active", "pending", "failed") }}. - Echo the caller (webhook only) —
{{ request.method }},{{ request.ip }},{{ request.header("User-Agent") }},{{ request.query("id") }}, and{{ request.body }}. - Built for safety & speed — an Insert-token picker with live previews, in-editor autocomplete, inline highlighting, and a Preview toggle. Every template is validated before it's saved (token syntax + the rendered shape), a broken token stays visible rather than blanking, and the engine never executes arbitrary code.
Multi-view visualizer + JMESPath search
- Tree view — virtualized via
react-window, supports inline edit, hover-menu actions (copy JMESPath path, copy value, set null, delete), and search highlighting. - Graph view — node-link diagram via React Flow + Dagre layout in a worker; collapse / expand subgraphs.
- Table view — sortable header (worker-backed sort for large datasets), cell edit, copy column / row.
- JMESPath playground — type
users[?age > `30`].namein the search bar to filter the tree live; match counts and Prev/Next navigation.
Request Sender — compose and dispatch HTTP requests
- Send GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS requests directly from the browser with full header, auth, and body configuration.
- Save request templates for reuse — name, method, URL, headers, auth, and body are all persisted per account.
- Execution history tracks every dispatch with status, timing, response headers, and truncated response body (up to 1 MB).
- Built-in SSRF protection and loop guard prevent abuse; the sender adds an
X-Yellorn-Internal-Dispatchheader to block recursive calls to your own webhooks.
Cloud Backup — tabs, palette, and layout across devices
- Use Cloud Backup in the Account panel to back up your open tabs, pane split ratio, and active palette to every signed-in browser.
- Per-tab sync status badges in the tab bar show which tabs are synced, local-only, or too large to sync.
- Sync is quota-aware — usage bar and limits are visible in the Account panel.
Compare mode + smart format ladder
- Compare two tabs in Monaco's read-only diff editor (JSON sorted before diffing for stable output).
- Smart Format (Cmd+Shift+F) — full recovery + unwrap + type-convert.
- Simple Format (Alt+Shift+F) — semantic preservation; pretty-print without changing types.
- Safe Format — layout-only indent / line breaks; never re-parses.
- Compress (Alt+Shift+C) — minify whitespace.
Yellorn data editor workspace
Loading editor...
Loading tree...