---
title: "Prettify Blog: JSON Tooling, Parsers & Data Formats"
description: Notes on parsing, data formats, and the parts of JSON tooling that
  turn out to be harder than they look. Written while building Prettify.
url: https://prettify.tools/blog
---

# Blog

Notes on parsing, data formats, and the parts of JSON tooling that turn out to be harder than they look.

- [October 15, 2026 · 7 min read](https://prettify.tools/blog/how-a-5-mb-podcast-feed-became-182-mb)
  ## [How a 5 MB podcast feed became 182 MB](https://prettify.tools/blog/how-a-5-mb-podcast-feed-became-182-mb)
  [A podcast feed loaded fine, then crashed the tab on every reload. The cause was a few lines of indentation code that had been wrong since the day they were written.](https://prettify.tools/blog/how-a-5-mb-podcast-feed-became-182-mb)

  [Read post](https://prettify.tools/blog/how-a-5-mb-podcast-feed-became-182-mb)
- [October 15, 2026 · 2 min read](https://prettify.tools/blog/how-to-read-any-rss-feed-in-your-browser)
  ## [How to read any RSS feed in your browser](https://prettify.tools/blog/how-to-read-any-rss-feed-in-your-browser)
  [You do not need a feed reader to read one feed. Paste its address, read it as articles, and keep the tracking pixels out.](https://prettify.tools/blog/how-to-read-any-rss-feed-in-your-browser)

  [Read post](https://prettify.tools/blog/how-to-read-any-rss-feed-in-your-browser)
- [August 5, 2026 · 9 min read](https://prettify.tools/blog/learn-jq-by-example)
  ## [Learn jq by example](https://prettify.tools/blog/learn-jq-by-example)
  [The manual is a reference, not a tutorial, and it never explains the one idea that makes jq click: every expression returns a stream, not a value.](https://prettify.tools/blog/learn-jq-by-example)

  [Read post](https://prettify.tools/blog/learn-jq-by-example)
- [August 4, 2026 · 7 min read](https://prettify.tools/blog/the-json-numbers-javascript-corrupts)
  ## [The JSON numbers JavaScript quietly corrupts](https://prettify.tools/blog/the-json-numbers-javascript-corrupts)
  [JSON.parse changes your data and never says so. Three distinct failure modes, only one of which is the famous one about large integers.](https://prettify.tools/blog/the-json-numbers-javascript-corrupts)

  [Read post](https://prettify.tools/blog/the-json-numbers-javascript-corrupts)
- [August 3, 2026 · 8 min read](https://prettify.tools/blog/writing-a-jq-engine-in-typescript)
  ## [Writing a jq engine in TypeScript](https://prettify.tools/blog/writing-a-jq-engine-in-typescript)
  [jq is a stream language, and JavaScript already ships streams. Getting that one thing right made the pipe operator four lines instead of forty.](https://prettify.tools/blog/writing-a-jq-engine-in-typescript)

  [Read post](https://prettify.tools/blog/writing-a-jq-engine-in-typescript)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Prettify",
  "url": "https://prettify.tools",
  "description": "Multi-format data viewer, editor, and query engine for JSON, YAML, CSV, XML, Mermaid, Markdown, MDX, HTML, and SVG",
  "applicationCategory": "DeveloperApplication",
  "operatingSystem": "Web, macOS, Windows, Linux",
  "offers": [
    {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "USD",
      "description": "Free tier with core features"
    },
    {
      "@type": "Offer",
      "price": "19.99",
      "priceCurrency": "USD",
      "description": "Pro: lifetime access to all features"
    }
  ],
  "publisher": {
    "@id": "https://prettify.tools/#organization"
  }
}
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://prettify.tools/#organization",
  "name": "Prettify",
  "legalName": "Off Leash Labs",
  "url": "https://prettify.tools/",
  "logo": {
    "@type": "ImageObject",
    "url": "https://prettify.tools/icon-512.png",
    "width": 512,
    "height": 512
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "email": "offleashlabs@gmail.com",
    "availableLanguage": "English"
  }
}
```
