JSON is a data tree of objects, lists, numbers and strings. Markdown is markup you can read with your own eyes, and the format language models read best. pandoc sits between the two, and this page says exactly what happens to a JSON file on the way to becoming an MD one.
What runs when a JSON file becomes MD
pandoc in two passes, on a machine we rent and watch. Your JSON file is uploaded once, pandoc runs once, the MD comes back, and neither file is kept. JSON to MD is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the JSON into the MD
Lists from the JSON file, nesting included, plus code blocks, block quotes and links, all re-expressed in MD.
Images: pandoc extracts them out of the JSON file into a working directory and re-embeds them in the MD, so nothing ends up pointing at a file that no longer exists.
Document metadata from the JSON file, which the JSON intermediate keeps and which a plain text pass would silently drop.
What JSON to MD costs you
Fine typography. Named JSON styles, colours and font choices collapse into plain emphasis, because plain emphasis is all MD has. For most people this is the reason to run the conversion, not a regret about it.
If a model is going to read the MD
This is the direction that helps a language model, and it is the reason this site exists. A JSON file carries structure, and MD is the one output on this list that hands that structure over in a form a model already reads: a heading is two characters, a table is pipes, a list is a dash. No part of the context window goes on describing layout, because after the JSON file has been through pandoc there is no layout left to describe.
JSON to MD, measured rather than promised
Running JSON to MD against the real engine with a real file, pandoc wrote 266 bytes of MD in under a tenth of a second, machine otherwise idle. That is one JSON file on one day and not an average, which is why the number is given together with the file that produced it.
The JSON to MD verdict was reached by a pandoc round trip, meaning the output was read back by pandoc and had to still contain a witness word planted in the source, which proves the content travelled and not merely the container. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the MD file has anything inside it.
The same JSON file, sent somewhere else
Other outputs the probe measured out of a JSON file, so the cost of choosing MD can be read against something. Sizes do not compare across engines, because each family was probed with its own JSON witness file.
JSON to DOCX: 10,106 bytes in 0.1 seconds, verified by a pandoc round trip.
JSON to EPUB: 5,035 bytes in 0.1 seconds, verified by a pandoc round trip.
JSON to TXT: 264 bytes in under a tenth of a second, verified by reading the text back.
JSON to HTML: 4,018 bytes in 0.1 seconds, verified by a pandoc round trip.
JSON to RTF: 687 bytes in 0.1 seconds, verified by a pandoc round trip.
JSON to ODT: 7,537 bytes in 0.1 seconds, verified by a pandoc round trip.
Other ways into MD, and what they measured
Among the published routes into MD, JSON is the sixth largest output of the 8 measured. The witness files differ, so this ranks the probe run and not your document.
HTML to MD: 371 bytes in under a tenth of a second.
ODT to MD: 277 bytes in 0.1 seconds.
RTF to MD: 265 bytes in under a tenth of a second.
TEX to MD: 276 bytes in 0.1 seconds.
RST to MD: 266 bytes in 0.1 seconds.
What we will not pretend about JSON to MD
A JSON file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
A JSON to MD run that passes 60 seconds is killed, and the pandoc process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
32 of the 935 pairs probed in the family that serves JSON to MD failed, and this pair is not one of them. They fail for reasons worth knowing: a writer that cannot carry what the document is made of, or output the engine could not read back. They are counted here rather than hidden, because a pair that fails quietly is worse than one that fails loudly.
pandoc never writes the MD through a TeX engine here, and it never writes PDF at all: the eleven engines it would need are not on this machine and a TeX distribution weighs several gigabytes. Anyone who wants a PDF out of a JSON file goes through LibreOffice or calibre, both of which genuinely can.
One JSON file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
JSON to MD: what people ask
What actually converts my JSON file to MD?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the JSON file is uploaded once, pandoc runs once, the MD comes back, and neither file is kept afterwards.
How long does JSON to MD take?
On the file the probe used, pandoc took under a tenth of a second and wrote 266 bytes of MD. That is one real measurement on one real JSON file, not an average and not a promise about yours: a larger JSON takes longer, and past 60 seconds the run is stopped.
What do I lose going from JSON to MD?
The one to know about first: Fine typography. Named JSON styles, colours and font choices collapse into plain emphasis, because plain emphasis is all MD has. For most people this is the reason to run the conversion, not a regret about it.
Are the tables in my JSON file still tables in the MD?
Yes. pandoc reads the JSON tables into its own document tree and writes them back out in MD syntax, so what you get is a table a machine can parse rather than a picture of one.
Is JSON to MD free?
There is a free allowance every month, and one JSON to MD conversion costs half a credit against it. When the allowance runs out the tool says so and stops, rather than quietly handing you a worse MD.