JSON to PDF Converter
Turn JSON arrays or objects into a clean, printable PDF table. Paste or upload JSON, flatten nested fields, choose a page size and font, and download the result — all in your browser.
100% Client-Side Processing
Your JSON is parsed and converted entirely in your browser. Nothing is uploaded to a server.
Options
Table of Contents
What is a JSON to PDF Converter?
A JSON to PDF converter takes structured JSON data — an array of objects, or a single object — and lays it out as a printable table in a PDF document, the universally viewable, print-ready format supported by every operating system, browser, and printer without any extra software.
Each JSON object becomes one table row, its keys become column headers, and nested objects or arrays are flattened into dot-notation columns like `address.city` or `tags[0]` so the data reads as a clean grid — paginated automatically with a repeated header row whenever a page fills up.
How it Works
- Add your JSON: Paste JSON directly into the editor, or upload a .json file.
- Choose your layout: Pick a page size (A4, Letter, or Legal), orientation, margin, font size, and an optional document title.
- Check the preview: The tool parses your JSON in your browser and shows a live table preview of the first rows, along with row and column counts.
- Convert and download: Click Convert to PDF to render a paginated PDF table and download it immediately.
Features
- Paste JSON or upload a .json file
- Works with a single JSON object or an array of objects
- Flattens nested objects into dot-notation columns (e.g. address.city)
- Flattens nested arrays into indexed columns (e.g. tags[0], tags[1])
- A4, Letter, and Legal page sizes in portrait or landscape
- Adjustable margin and font size
- Optional document title printed at the top of the first page
- Automatic pagination with a repeated header row on every page
- Live table preview before you download
- 100% client-side processing for privacy
Best Practices
- Use landscape for wide data: if your JSON objects have many keys, switch to landscape orientation, or a smaller font size, so columns don't get cramped or truncated.
- Keep column count reasonable: a PDF table divides the page width evenly between columns, so JSON with a dozen or more keys per object will produce very narrow columns — consider trimming fields you don't need first.
- Turn on flattening for nested data: if your JSON has nested objects or arrays, keep "Flatten nested objects/arrays" on so each value gets its own column instead of a raw JSON string.
- Add a title for shareable reports: a short document title at the top makes the exported PDF easier to identify when printed or attached to an email.
- Check the preview before converting: the table preview shows the exact columns and order that will appear in the PDF, so you can catch a wrong flattening choice early.
Troubleshooting
It says my JSON is invalid
Check for a trailing comma after the last item in an array or object, unquoted keys, single quotes instead of double quotes, or an unclosed bracket — these are the most common reasons JSON fails to parse.
Some cell text ends in an ellipsis (…)
A value was too wide to fit in its column at the chosen font size and page size, so it was truncated. Switch to landscape orientation, reduce the font size, or reduce the number of columns to give each one more room.
Nested fields show up as raw JSON text like {"city":"London"}
Turn on "Flatten nested objects/arrays" so nested values are split into their own dot-notation columns instead of being kept as a single JSON string.
The table has far more columns than I expected
This usually happens when objects in the array have different shapes, or when an array field flattens into one column per item (tags[0], tags[1], tags[2]…). Consider disabling flattening for that field, or normalizing your JSON first.
Common Use Cases
- Turning API data into a shareable document: convert a JSON response from a REST API into a PDF report you can email, print, or archive.
- Printing records for offline use: PDF is the standard format for printing, so exporting JSON records this way produces a ready-to-print, paginated table.
- Attaching data to support tickets or emails: a PDF table is easy to attach and view without needing spreadsheet software.
- Archiving a point-in-time snapshot: unlike a spreadsheet, a PDF is a fixed, non-editable record — useful for audit trails and compliance snapshots.
- Sharing data with people who don't use spreadsheets: a PDF opens identically on any device without needing Excel, Sheets, or a CSV viewer.
Frequently Asked Questions
Yes. A single object is treated as one row. An array of objects becomes one row per object.
With "Flatten nested objects/arrays" on (the default), nested objects become dot-notation columns like address.city, and nested arrays become indexed columns like tags[0]. With it off, nested values are kept as a single JSON string in one cell.
The text is truncated with an ellipsis (…) so the table stays aligned. Use landscape orientation, a smaller font size, or fewer columns to fit more text.
Yes, if "Include header row" is enabled, the column headers are redrawn at the top of every new page so long tables stay readable.
Yes. The optional document title field prints a heading at the top of the first page, useful for identifying the export later.
The header row includes every key found across all objects, in the order it first appears. Rows missing a given key simply get an empty cell for that column.
No. Everything happens locally in your browser, and nothing is uploaded or saved.
The converter runs in your browser's memory, so very large JSON files (tens of megabytes, or thousands of rows) may be slow or produce a very long PDF depending on your device.