This document describes the internal architecture, JavaScript parsing mechanics, privacy guarantees, and security boundaries of jsonick — a JSON formatter that renders your data as a beautifully structured table with syntax highlighting, all inside your browser.
jsonick is a client‑side tool that transforms raw JSON into an interactive, colour‑coded table view. It serves three primary purposes:
The tool is ideal for developers, data analysts, and anyone who needs to quickly visualise JSON structures, validate syntax, or share formatted data in a human‑friendly format.
JSON.parse()
and DOM manipulation. No data is ever transmitted.
Every operation in jsonick runs 100% inside the browser's memory. No user input — not even the JSON content — ever leaves the client.
<textarea> is passed to JSON.parse(). If the input is valid,
a JavaScript object is created. If invalid, an error is caught and displayed.
<span> elements
with CSS classes (e.g., .json-string, .json-number,
.json-boolean, .json-null) to apply distinct colours.
JSON.parse() throws an error, the message
is captured and displayed in a red box. The tool still attempts to render any valid parts
that were parsed before the error (using a try‑catch around the entire rendering process).
JSON API.
There are no fetch(), XMLHttpRequest, or
WebSocket calls of any kind.
// Core rendering logic – triggered on button click
function renderJSON(input) {
try {
const data = JSON.parse(input);
// recursively build table from 'data'
const table = buildTable(data);
output.appendChild(table);
} catch (err) {
// show error, but still render valid parts
showError(err.message);
}
}
✅ This design guarantees that all processing happens in memory — nothing is serialised, stored, or transmitted outside the browser tab.
jsonick has zero external dependencies. It is built entirely with vanilla JavaScript (ES6), standard HTML5, and plain CSS.
JSON.parse(), document DOM manipulation,
addEventListener(), and Array/Object methods.
No third‑party libraries, no npm packages, no CDN imports.
'Inter', -apple-system, BlinkMacSystemFont, ...)
to avoid any external font requests. No Google Fonts or webfont services.
jsonick does not persist any data — neither on the server (there is none) nor on the client beyond the current browser session.
localStorage — The tool never writes to
localStorage, sessionStorage, or
IndexedDB. Your JSON input and the rendered table exist
only in volatile memory (JavaScript variables and DOM).
document.cookie.
jsonick handles no sensitive user data in the traditional sense — it only processes JSON text. Nevertheless, the security model is absolute: nothing ever touches the network.
<form>
and never a POST or GET request.
JSON.parse(). No validation payload is ever
transmitted.
// The only "input" is the textarea — processed locally
document.getElementById('formatBtn').addEventListener('click', () => {
const raw = document.getElementById('jsonInput').value;
// data stays in the browser — never sent anywhere
renderJSON(raw);
});
// No fetch(), no XMLHttpRequest, no WebSocket
// No cookies, no localStorage, no IndexedDB
🛡️ Absolute input security is guaranteed by the architecture: the browser never initiates any outbound request containing user‑derived data. Your interaction with jsonick is completely offline after the initial page load.
Open jsonick and see your data as a beautiful table — instantly, privately.