Blog

About ViewJSON

Key takeaways

  • Renders many Base64 strings in API-style JSON as inline images, audio, video, and PDFs—right inside the tree.
  • Viewing and editing run in your browser; when you use share links, data is encrypted with AES-GCM in-browser and only ciphertext is stored server-side, with the key kept in the URL hash.
  • A CodeMirror 6–based editor with syntax tools suited to large payloads; very large files may trigger a size warning (on the order of 100MB).
  • Useful for AI/API responses, building multimodal request bodies, and team sharing via those encrypted short links.

Last updated:

ViewJSON is a free online JSON viewer and formatter built for developers who work with APIs that return Base64-encoded media. Unlike traditional JSON formatters that treat every string value as plain text, ViewJSON automatically detects Base64-encoded content and renders it as actual images, audio players, video players, or PDF previews — directly inside the JSON structure. All rendering happens locally in your browser. When sharing, data is encrypted client-side via AES-GCM — the server stores only ciphertext and never receives the decryption key.

Why We Built This

Multimodal AI APIs — OCR, TTS, vision models, image generation — exchange data almost entirely in Base64. During development and testing, this creates several recurring pain points:

Tedious output preview

TTS and image generation APIs return Base64-encoded audio and images. Previewing them requires extracting the string from a JSON response, pasting it into an online decoder, and repeating the process for every field. For developers debugging AI API outputs, ViewJSON eliminates manual extraction by rendering all Base64 media instantly in place.

Error-prone input construction

Calling OCR or vision models requires converting images to Base64 on a third-party website, then pasting the string into the request body of your API tool. The process is fragile — a misplaced quote or broken escape sequence means time spent fixing JSON syntax rather than debugging your actual logic. When building inputs for Vision APIs, ViewJSON automatically converts pasted images into Base64 within the editor to preserve valid JSON syntax.

Inconvenient history review

Postman and Fiddler save your request history, but Base64 fields appear as long encoded strings with no indication of the actual content. Reviewing what was sent or received requires extracting each Base64 string and decoding it separately. To simplify API history review, ViewJSON renders Base64 strings as visual previews so you can easily verify past media payloads.

So we built ViewJSON: paste your JSON and immediately see every image, hear every audio clip, and play every video — without leaving the page.

Use Cases

Debugging AI API Responses

Paste an API response containing Base64-encoded media into ViewJSON. All audio clips, images, and videos are automatically detected and rendered inline within the JSON structure — no manual extraction or external decoders needed.

Preparing Multimodal API Payloads

Paste an image directly into the editor. ViewJSON displays the image preview while storing the Base64 string in the JSON. When you copy, you get a ready-to-use Base64 payload — no separate file-to-Base64 conversion needed.

Sharing JSON with Your Team

ViewJSON encrypts your JSON and variables locally using AES-GCM, then uploads only the ciphertext to generate a short link. The decryption key stays in the URL hash — never sent to the server. The recipient opens the link, and everything is decrypted instantly in their browser.

How ViewJSON compares

Typical online JSON tools versus API client workflows versus ViewJSON
Typical online JSON viewer API client (saved history / preview) ViewJSON
Base64 media inside JSON Mainstream online viewers treat Base64 as plain text—no inline image/audio/video/PDF preview inside the JSON tree. Saved history shows Base64 as long opaque strings—you still can’t preview the actual media in context. Uses content signatures (magic bytes) to detect formats and renders images, audio, video, and PDF inline in the tree.
Encrypted team sharing No common equivalent to client-side AES-GCM short links where only ciphertext is stored and the key lives in the URL #fragment. You typically copy JSON out manually—there is no same one-click, ciphertext-only short-link workflow. Share links: encrypt with AES-GCM in your browser, upload ciphertext only, key stays in #hash—not sent to our servers.
Paste image → Base64 in JSON Rarely offers a one-step “paste image in the JSON editor → valid Base64 in the document” flow. Built around HTTP requests, not a full JSON workspace with paste-to-Base64 for document bodies. Paste an image into the editor; Base64 is inserted while keeping valid JSON.
Format, validate, repair Formatting and validation are common; inline Base64-as-media preview in the same view effectively never appears. Request/response bodies are text-first; rich inline preview of multimodal payloads is out of scope. Formatting, validation, repair, and inline media preview in one workspace.

Tech & Privacy

Built with Astro + React

Islands architecture for minimal JavaScript. Only interactive components load client-side code. History is stored in IndexedDB — not localStorage — so it persists across sessions and securely handles larger API payloads.

CodeMirror 6 Editor

Professional-grade code editor with syntax highlighting, folding, search, and bracket matching. Handles files up to 100MB before showing a warning.

CodeMirror 6 — official project

Cloudflare Pages

Deployed globally on Cloudflare's edge network for fast load times worldwide.

Data Privacy

All rendering happens locally. When sharing, data is encrypted client-side with AES-GCM before uploading. The server stores only ciphertext; the decryption key remains in the URL hash and is never transmitted to our servers.

SubtleCrypto (Web Crypto API) on MDN

FAQ

What is ViewJSON?

A free, in-browser JSON viewer and formatter that detects Base64-encoded media in many API responses and previews it inline (images, audio, video, PDF) while you navigate the document—instead of only showing long string blobs.

Do you upload my raw JSON or the decryption key when I use the site?

For everyday viewing and editing, your data stays in the browser. If you create a share link, only AES-GCM ciphertext is uploaded; the decryption key is kept in the URL hash and is not sent to our servers.

How is this different from a typical “pretty print” or plain JSON viewer?

Common viewers treat string values as text. ViewJSON is aimed at long Base64 from multimodal and AI-style APIs and, where possible, renders those as inline media.

Is there a maximum file or payload size?

The editor is built to handle very large files; you may see a warning around 100MB, in line with the message elsewhere on this page.

Contact

Questions, feedback, or feature requests? Reach us at support@viewjson.net