Yesterday I wrote about my new NDJSON to JSON converter and explained how it's part of a local-first, adware-free set of browser-based tools that I'm building on my site. Today, I am announcing the opposite of the NDJSON to JSON converter.
Try out the JSON to NDJSON converter - this is useful if you have API responses, JSON exports, test fixtures, or structured records in a regular JSON array and need to turn them into newline-delimited JSON for logs, scripts, imports, streaming workflows, or line-by-line processing. In plain terms, it takes one JSON array and writes each item as its own line, which makes the data easier to feed into log tools, scripts, imports, and streaming-style workflows.
As I explained yesterday, Siteimp uses newline-delimited JSON for logs and JSON for in-app support and user-facing content. JSON is a better fit for how we deliver support content and how we will support translations. But because of how large Siteimp is and how much happens during scan time, we needed the safety and reliability of streaming JSON logs.
Since I use both JSON and NDJSON, being able to format both formats to make them easier to read became important. But when I started looking for tools, it felt like every browser-based tool I tried was full of adware and/or involved round trips to servers. RAther than install software for every little thing, I decided to take a bit of time and build my own. My website doesn't have Google Analytics or any kind of analytics service and these tools run fully offline in your browser after the page loads. You can even test this out right now by going to the JSON to NDJSON converter, then go offline and convert. Or you can do the same with your browser's developer tools open to the network tab.
Nothing happens because there is no backend and everything happens in your browser.
As a final note, I've been releasing browser-based tools for a few years now. They started as a way to help people start thinking about randomness that inadvertently seems to have become a thing that people actually use to generate secret keys for Django. And so it's clear that I can't build browser-based tools that generate anything important, but these types of conversion or formatting tools are a lot of fun to build and I hope that someone finds them useful. Or even copies the code and hosts their own better version.
All of my tools will stay adware and backend free because not everything needs to become (or host) an advertising campaign.