JSON to PDF
This free JSON to PDF converter turns JSON into a PDF entirely in your browser. Paste your JSON or upload a .json file, choose how the structure should land on the page, set the page up, and download a .pdf file. Nothing leaves your device, and there is no sign-up.
Two things decide whether the PDF is usable. The first is structure: JSON is a tree and a page is a table or a list, so something has to decide what becomes a row and what becomes a column. The second is type: the fonts built into a PDF can only draw Latin characters, so a value in Chinese, Japanese, Korean, Arabic or an emoji cannot be drawn by them. This page settles the first by showing you the rows and columns it will print, and it refuses to hide the second — it lists every place your data contains a character the built-in font cannot draw, before you download anything.
How to use this JSON to PDF converter
- Paste your JSON into the box, or upload a
.jsonor.txtfile. - Pick the Layout. Auto uses a table when your JSON is a list of records, and a key/value listing otherwise. You can force any of the three.
- Choose how Nested values behave: written as JSON text in the cell, or flattened into dotted column names.
- Set the Page size, Orientation and Font size, and add a Title if you want one printed at the top.
- Read What will be printed — the row and column preview — and What the PDF font cannot draw if your data is not plain Latin text.
- Press Convert to PDF, then Download .pdf.
What this tool supports
Three ways to lay out your JSON
| Layout | Best for | What it prints |
|---|---|---|
| Table | a list of records that share fields | one row per record, one column per key; the column set is the union of every record, in the order the keys first appear |
| Key / value list | a single nested object | an indented listing of every key and value, nesting and array indexes preserved |
| Pretty JSON | sharing the data as-is | the whole document, indented, in the PDF's own text flow |
Columns, nesting and missing fields
In table layout, a column appears once even if only one record has it, and records that do not have it get an empty cell. A nested object or array is written into the cell as JSON text, so nothing is silently dropped; switch Nested values to Flatten with dots and address.city becomes its own column instead.
Long text is wrapped, never cut off
A value wider than its column is wrapped onto more lines inside the same row, and the row grows. Nothing is truncated, and no column is silently widened off the page. The report tells you how many cells had to wrap.
Page setup
A4 or Letter, portrait or landscape, font size 8, 10 or 12. Long tables continue onto the next page with the header row repeated, every page is numbered, and an optional title is printed at the top of the first page.
Characters the built-in font cannot draw
The standard PDF fonts are encoded for Western European languages. They can draw ASCII, the accented Latin letters of Western Europe, and a handful of punctuation marks such as curly quotes and dashes. They cannot draw Chinese, Japanese, Korean, Cyrillic, Greek, Arabic, Hebrew, Thai or emoji. Rather than producing a file full of blank boxes, this page checks your data first and lists where those characters are:
| Your value | What happens |
|---|---|
café | drawn correctly — accented Latin letters are supported |
— and curly quotes | drawn correctly — they are part of the supported set |
| Chinese, Japanese, Korean | not supported — named in the report before you download |
| Cyrillic, Greek, Arabic, Hebrew, Thai | not supported — named in the report before you download |
| emoji | not supported — named in the report before you download |
If your data contains those characters, use JSON to Excel for a spreadsheet, or JSON to XML for a structured file — both keep every character because they do not depend on a PDF font.
Privacy and limits
The PDF is drawn on your own device by your browser's JavaScript. No file is uploaded, nothing is stored after you close the tab, and there is no account. Because the page is drawn in your browser's memory, very large documents (tens of thousands of records) take longer and produce a large file; typical exports and API responses convert in a moment.
What this tool does not do
- It does not embed a font. A CJK font is measured in megabytes, which would make every download enormous. The page tells you what is unsupported instead of shipping a broken file.
- It is not a report designer. No logos, colours, charts, headers, footers beyond the page number, or column styling. Column widths are equal shares of the printable width.
- It does not merge files. One document at a time, no batch mode.
- It does not reformat your values. Numbers, dates and booleans are printed exactly as they appear in the JSON. CSV and PDF have no type system of their own.
- It does not guess a layout for mixed data. If your JSON is not a list of records, use the key/value or pretty layout instead of forcing a table.
Frequently asked questions
Is this JSON to PDF converter free?
Yes. No account, no sign-up, no conversion limit, and no upload — the PDF is drawn in your browser.
Is my JSON uploaded anywhere?
No. The file you pick is read with the browser's own File API and converted in the page. There is no request that carries your data.
Why are my Chinese characters missing from the PDF?
Because the standard PDF fonts cannot draw them. The report under the output names every field where this happens, before you download. For those characters, use JSON to Excel or JSON to XML, which keep all text.
How does it decide what a row is?
In table layout, each element of your JSON array is one row. If your JSON is an object rather than a list, use the key/value listing, or wrap your records in an array.
Some records have fields others do not. What happens?
The column set is the union of every record. A record that does not have a field gets an empty cell — no column is dropped and no value is invented.
My long text is cut off. Is it?
No. Text longer than a column is wrapped onto extra lines and the row grows. Only the preview in the panel truncates, for readability; the PDF itself keeps everything.
Can I choose the page size and orientation?
Yes — A4 or Letter, portrait or landscape, and a font size of 8, 10 or 12. Landscape with a smaller font fits the most columns.
Does the PDF repeat the header row on every page?
Yes. Long tables continue onto a new page with the column headers reprinted at the top, and every page is numbered.
Can I add a title?
Yes. Type it into the Title box and it is printed at the top of the first page and stored in the PDF's metadata.
How many pages will I get?
The panel tells you after each conversion: pages, rows and columns. Switch to landscape or a smaller font to fit more per page.
Is there a file size limit?
There is no imposed limit. The PDF is drawn in your browser's memory, so very large documents depend on your device. Typical exports convert in a moment.
Why does it say my JSON is invalid?
The message names the line and column where parsing stopped. Common causes are a trailing comma, single quotes around keys, or an unquoted key. Fix that position and it converts.
What if I need another format?
For a spreadsheet use JSON to Excel, for tabular text use CSV to Excel or CSV to JSON, and for configuration files use JSON to YAML.