← Back to Blog

How Benchmarking My Security Project Made Me Build JsonExport

How Benchmarking My Security Project Made Me Build JsonExport

It started while I was building CyberSec, an automated vulnerability scanner and evaluation platform I was working on for academic research.

To properly measure core objectives like scan throughput, detection efficiency, execution duration, and resource utilization, we intentionally designed CyberSec to output all telemetry and benchmark runs as structured JSON. For machines, that was ideal. Everything was standardized, clean, and easily parseable.

But research does not live in raw JSON. To analyze results, compare testing profiles, and write up findings, I needed to translate all those machine metrics into readable comparison tables and visual charts.

The Privacy Dilemma and Custom Scripts

Under tight deadlines, my immediate fix was writing custom Python scripts. I could have easily used one of the many online converter websites, but I was deeply conscious of data privacy. Handing over scan metrics, target metadata, and vulnerability telemetry to third-party web services with opaque logging and storage policies felt like a serious risk. My custom Python scripts got the job done and were infinitely customizable to my specific schema, but adjusting scripts every time data structures changed became a bottleneck.

The Core Question

That friction made me pause and ask a fundamental question: what converter actually exists for turning nested JSON into Excel, CSV, or quick HTML tables without storing or uploading user data?

Most existing tools either processed files on remote servers or completely choked on complex nested structures. Surely other developers, researchers, and analysts had the exact same privacy concerns and questions. After doing market research, I realized this was a widespread frustration. That is how JsonExport.com was born.

How It Works: Privacy by Architecture

From day one, privacy was non-negotiable. JsonExport runs 100% client-side in the browser. Not a single byte of your data ever leaves your computer or gets uploaded to an external server.

The core technical challenge was smart flattening. An array of simple values should become a clean, comma-separated entry, while an array of nested objects should intelligently expand into structured rows.

function smartFlatten(obj, prefix = '') {\n  const result = {};\n  for (const [key, value] of Object.entries(obj)) {\n    const fullKey = prefix ? `${prefix}.${key}` : key;\n    if (Array.isArray(value) && value.every(v => typeof v !== 'object')) {\n      result[fullKey] = value.join(', ');\n    } else if (typeof value === 'object' && value !== null) {\n      Object.assign(result, smartFlatten(value, fullKey));\n    } else {\n      result[fullKey] = value;\n    }\n  }\n  return result;\n}

Combined with a Monaco editor interface for easy pasting and live editing, users can instantly convert complex payloads into Excel, CSV, HTML tables, or multi-sheet ZIP bundles right on their device.

Where It Is Today and What Is Next

Today, JsonExport is completely free and continues to uphold its privacy-first promise. Traffic is modest, averaging around 100 users or less per day. It has been exciting to see the site grow steadily through organic search alone, without running paid ads or relying on an aged domain.

Next on the roadmap is a dedicated Desktop application. It will keep the exact same privacy-first architecture while unlocking even higher performance and capacity for enterprise users working with massive datasets who prefer an installed, offline tool.

What I Learned

Building JsonExport reminded me that the most useful tools come directly from real, personal frustration. If you ever need to turn messy JSON into spreadsheets without trusting your data to unknown servers, check it out at jsonexport.com.