JSON Content Formatterv1.0.0
Turns JSON into a document a person can read: field names become labels, nested groups become sections, and repeated items become cards named after themselves. Text carrying Markdown is shown as real formatting rather than raw asterisks. Broken or half-finished JSON runs through a repair pass that closes cut-off text, drops stray commas, and balances brackets before reading it.
This tool sends nothing over the network. Everything you enter is processed on your device and never reaches our servers.
Documentation
JSON is the format programs use to hand text to one another. It arrives as a long unbroken run of curly brackets, square brackets, quote marks and backslashes, which a program reads without difficulty and a person mostly cannot. Paste it into the box on the left and the same content appears on the right as something you can actually read: titles look like titles, paragraphs like paragraphs, lists like lists. Nothing is added and nothing is thrown away. The words are the ones that were already there, with the punctuation that was holding them together taken out of the way.
- Paste your JSON into the box on the left. Paste from clipboard does the same in one click, and the file box takes anything saved as .json or .txt.
- Read the result on the right. It redraws by itself about half a second after you stop typing, and Format redraws it whenever you ask.
- Change any wording you like, right there in the result. Click a title or a paragraph and type over it.
- Take it away in whatever form you need: plain text, Markdown, PDF, or JSON again.
On a wide screen the box you type into and the readable version sit side by side, so you can watch one change as you edit the other. On a phone or a narrow window they stack, with the box on top.
Five rules do the work of making it readable, and all five can be adjusted under Settings:
- Titles become titles. Any field whose name contains title or subject, such as Post title or article_subject, is treated as a heading and begins a new section, rather than being printed as one more line of text among the rest.
- Groups become sections. Where information is bundled together, that bundle becomes its own sub-section, and its name is tidied into ordinary words: product_details reads as Product Details, and itemWeight reads as Item Weight.
- Simple lists become bullet points rather than a row of quoted words separated by commas.
- Repeated items become cards. A set of products, competitors, or people becomes one labelled block each, named from the item itself wherever it carries a name, so you get Acme and Globex rather than Item 1 and Item 2.
- Formatting marks are honoured. Writers and AI tools leave marks like asterisks around bold text and hashes in front of headings. These are shown as real bold text and real headings instead of as stray punctuation.
JSON breaks easily. One bracket missing off the end, or a stray sentence pasted in front of it, and nothing will open it at all. When that happens, a panel appears under the box saying what is wrong and listing exactly what it would change: text pasted before or after the JSON taken out, a sentence that stops halfway closed off, a spare comma dropped, missing closing brackets added. Nothing is changed until you choose. Apply Repair and Format fixes it and shows the result, Preview Repaired JSON fixes it and waits so you can look first, and Dismiss leaves everything as it was. This is what rescues a download that stopped early or an answer from an AI tool that ran out of room mid sentence.
Anything on the right can be rewritten in place. Click a heading or a paragraph, type, and click away. A changed value is marked as edited, and every button on the page then works from your version rather than the original, so what you copy and what you save is the wording you settled on.
- Copy all puts the whole thing on the clipboard with its formatting intact, ready to paste into an email, a document, or a chat box. Headings arrive as headings, tables as real tables with their borders, and bullet points, numbered lists, links, bold and italic all come through as themselves rather than as punctuation. Anywhere that accepts plain text only, such as a code editor or a terminal, receives the plain reading of the same content, with the address behind each link written out in brackets after it. Fonts and colours are left behind on purpose, so what you paste picks up the styling of the document it lands in.
- Field name formatting under Output in Settings controls how keys read, both on screen and in everything copied or saved. Replace underscores and hyphens with spaces also splits a camelCase run, so
page_titleandpageTitleboth read as page title. Field name case then sets the casing: As written leaves it alone, and lower, UPPER, Sentence, and Title are applied on top of the separator setting, sopage_titlebecomes PAGE TITLE with separators replaced and upper case chosen. Title Case leaves short joining words such as of, and, or the in lower case unless they open the name. The keys inside Save as JSON are never rewritten: those are data being written back, not labels being presented. - The small Copy button beside each field copies that field alone. Whether it carries formatting is set under Output in Settings: Formatted text keeps headings, bold, links, and list structure where the destination understands them, and Plain text puts the plain reading alone on the clipboard, which is what you want when pasting into a rich editor that would otherwise arrive carrying styling you did not ask for. The choice applies to the per-field buttons only, so Copy all stays formatted and Copy as Markdown stays Markdown.
- Copy as Markdown puts the Markdown syntax itself on the clipboard rather than the formatting, so what lands is
#headings,**bold**, and-bullets as characters you can read and edit. Use it for anything that expects Markdown as text: a pull request description, a wiki edit box, a static site source file, or a chat client that renders Markdown itself. Copy all is the one to use where the destination understands formatting; this is the one to use where it understands Markdown. The content matches Save as Markdown exactly, including any edits made in the output, so the choice between them is only whether it arrives on the clipboard or as a file. - Copy under any single field does the same for that one value, which is the quicker route when you want one paragraph, one table, or one heading rather than the lot.
- Save as plain text writes a .txt file with headings underlined, sections indented, and every field label sitting on its own line above its value. This is the one to send to somebody who should not have to know what JSON is.
- Save as Markdown writes a .md file that turns the structure into headings: the title becomes the top heading, each group below it becomes a smaller heading, and so on down. It drops straight into a wiki, a README, or any site builder that reads Markdown.
- Save as JSON hands back the original file with your edits written into it and everything else untouched, so it can go back to whatever program expects it. Numbers stay numbers and true or false stays true or false.
- Save as PDF opens your browser print window with the Copy buttons and edit marks taken out, and with page breaks kept out of the middle of tables and paragraphs. Choose Save as PDF as the destination there. The page cannot write a PDF file by itself, so this is the route to one, and if your browser blocks the print window a ready to print file downloads instead.
Settings holds the details: which field names count as titles, which are used to name cards, whether formatting marks are honoured, whether editing is on, and how far to indent saved JSON. That last one takes a whole number from 0 to 8, and also understands 1.5 or 3/2, either of which becomes 1. Your text, your settings, and your edits are remembered in this browser between visits and never leave your machine. Reset clears the lot.
JSON was designed for programs to read, not people. The awkward part is that the text inside it is very often written for people: a blog post, a product description, a research summary, a set of instructions. Somebody has to check that writing, approve it, or pass it on, and doing that through a wall of brackets and quote marks is slow and error prone. Turning it back into a readable document is the whole point, and these are the moments that call for it.
- Reading what an AI tool gave you: paste the raw answer from ChatGPT, Claude, or an automation that calls one, and read the article the way it will actually appear instead of hunting for it between the quote marks.
- Rescuing an answer that stopped early: a response cut off mid sentence leaves brackets hanging open and nothing will read the file. The repair closes it up and shows everything that did arrive, so a long run that failed at the end is still worth something.
- Checking work before it goes live: step through a batch of generated posts and confirm each one has a title, that no section came back empty, and that the bold and the headings show as formatting rather than as stray asterisks.
- Handing writing to somebody else: a writer or editor should not need a developer to read their own copy. Save as plain text or PDF and send a document, not a data file.
- Client and manager approval: Save as PDF produces a clean paginated document with none of the tooling in it, which is a far better thing to attach to an email than a screenshot of a text editor.
- Comparing a set of things: a summary covering several competitors, products, or suppliers becomes one labelled card each, named after the thing itself, so the comparison reads straight down the page.
- Publishing to a wiki or site: export as Markdown and the structure arrives as real headings in a README, a wiki page, or a static site, instead of as a code block nobody reads.
- Making sense of an export: a file exported from a shop, a booking system, or a survey tool opens as labelled sections with the field names spelled out in words, which is usually enough to find the one value you came for.
- Spotting what is missing: because every field is labelled and every group is indented, a value sitting at the wrong level or a record shaped differently from the rest stands out at a glance.
- Fixing wording without touching code: correct a headline or trim a paragraph in the readable view, then Save as JSON to hand the corrected file back to whoever needs it in its original form.
Inputs, outputs, and what the JSON Content Formatter computes
The form above accepts the following inputs and produces the outputs listed below. This summary is rendered in the page so the parameters are visible to crawlers, assistive tech, and indexing agents that don't fetch the embedded tool frame.
Inputs
- Paste or type JSON
- Format automatically as I type
- Render Markdown inside string values
- Let me rewrite headings and values in the output
- Offer to repair JSON that will not parse
- Keys promoted to headings (text input) · default: title, subject
- Keys used to name array items (text input) · default: name, title, subject, competitor_name, category, industry, type, label, id
- Replace underscores and hyphens with spaces
- Field name case · default: As written
- Include the field name when copying a field
- The Copy button on each field copies · default: Formatted text
- Indent width for Prettify and Save as JSON (text input) · default: 2
Controls
Reset · Copy all · Copy as Markdown · Copy
Worked example
JSON is the format programs use to hand text to one another.