Select Files
or drag and drop files here
Upload a JSON file
The Challenge
REST APIs return nested JSON with objects inside objects, arrays of mixed types, and wrapper structures like { data: { results: [...] } }. Pasting this into a spreadsheet produces unusable single-cell output or [object Object] values. Developers and analysts waste time writing custom scripts to flatten each API's unique structure into tabular format.
How to save an API response as JSON
- Browser: open DevTools Network tab, find the API request, right-click the response and select 'Copy response'. Paste into a text editor and save as .json
- cURL: run 'curl https://api.example.com/endpoint > response.json' to save directly to file
- Postman: send the request, click 'Save Response' and select 'Save as file'
- JavaScript: use fetch() and write JSON.stringify(data) to a file or copy from console.log output
- Python: use requests.get() and write response.json() to a file with json.dump()
Handling different JSON structures
Simple arrays are flattened directly — each array element becomes one CSV row. Nested objects become dot-separated columns: user.address.city. Primitive arrays (tags, categories) are joined with semicolons into a single cell. Object arrays are indexed: items[0].name, items[1].name — each sub-object gets its own indexed columns. The pivot down mode creates a field-per-row layout instead, useful for inspecting complex single records or building data dictionaries.
Flattened output vs raw JSON
Setting the correct root path
- If your JSON is a plain array [...], leave root path empty — auto-detection handles it
- If wrapped like { "data": [...] }, set root path to 'data'
- If deeply wrapped like { "response": { "results": [...] } }, set root path to 'response.results'
- If unsure, leave empty — the tool scans for the first array in the structure automatically
- Incorrect root path shows 'Path not found' error — check your JSON structure and adjust
Step-by-Step Workflow
Upload JSON API Response File
Set Root Path For Wrapped Data
Configure Delimiter And Quote Styles
Review Flattened Columns In Preview
Download As CSV Or Excel File
Specifications
- Input Format
- JSON File
- Array Detection
- Auto-Detect
- Root Path
- Configurable
- Nested Handling
- Dot-Notation Flattening
- Output Formats
- CSV Or Excel
Best Practices
- Leave root path empty for simple JSON arrays to enable auto-detection
- Use semicolon delimiters when data contains commas in address fields
- Manually concatenate paginated responses before processing single-page conversion
Frequently Asked Questions
How do I convert a JSON API response to CSV?
Save your API response as a .json file, upload it here, and set the root path to point to your data array (e.g. 'data' or 'results'). The tool flattens all nested objects into columns and outputs a clean CSV. Download as CSV or Excel.
What happens to nested objects in the JSON?
Nested objects are flattened using dot notation. A record like { user: { name: 'John', address: { city: 'NYC' } } } becomes columns: user.name and user.address.city. No nesting depth limit — all levels are flattened.
Can this handle paginated API responses?
It handles single-page responses. For paginated APIs, you need to combine all pages into one JSON array first (concatenate the data arrays), then upload. The tool processes whatever array you provide regardless of size.
What if different records have different fields?
The tool creates columns for every unique field across all records. Records missing a field get empty cells in those columns. This is standard CSV behavior — no data is lost from records with extra or fewer fields.
Is my API data safe?
Yes. Processing runs entirely in your browser. No data is uploaded to any server. This is important for API responses that may contain API keys, tokens, personal data, or proprietary business information.
Related Guides
Convert XML Sitemap to CSV Spreadsheet
- XML Sitemap (.xml)
- urlset.url
- loc lastmod changefreq priority
Convert RSS Feed to CSV Spreadsheet
- RSS 2.0, Atom
- CSV, Excel
- Client-side
Convert to JPG
- JPG JPEG PNG WebP
- 1% to 100%
- Solid Background Color
Convert to PNG
- PNG
- Lossless DEFLATE
- 8-bit Alpha Channel
Compress Screenshots for Slack 10MB Upload Limit
- 10MB Per File
- 1-2MB
- 12-18MB PNG
Compress JPG Images
- 80% (50-60% size reduction)
- 70% (60-80% size reduction)
- 85-90% (40-50% size reduction)
Compress PNG Images
- Lossless (zero quality loss)
- 40-70% for unoptimized PNGs
- 5-20% additional savings
Compress WebP Images
- 80 to 85 percent
- 96 percent of modern browsers
- 25 to 35 percent smaller at same quality
Convert to WebP
- WebP
- 25 to 35 percent versus JPG
- 96 percent coverage
Etsy Seller Tools: Resize Images for Listings, Banners & Profiles
Resize Product Photos to 3000×2250 for Etsy Listings
- 3000x2250 pixels
- 4:3
- 1MB
Resize Profile Picture to 500×500 for Etsy Shops
- 500×500 pixels (1:1 ratio)
- Under 200KB (150KB optimal)
- JPG, PNG (JPG recommended)
Resize Shop Banner to 3360×840 for Etsy
- 3360×840 pixels
- 1200×300 pixels
- JPG, PNG
Resize Images to 1080×1350 for Instagram Feed Posts
- 1080x1350 Pixels (4:5)
- 1012x1350 Pixels (3:4)
- JPG, PNG, BMP, Non-Animated GIF
Resize Images to 1080×1920 for Instagram Stories & Reels
- 1080×1920 Pixels
- 9:16
- 1080×1420 Pixels
Resize Images to 1584×396 for LinkedIn Profile Banners
- 1584×396 Pixels
- 4:1
- 8 MB
Resize Images to 1280×720 for YouTube Thumbnails
- 1280×720 Pixels
- 16:9
- 2 MB
Merge PDF Invoices by Vendor for Accounts Payable
- Merge Multiple PDF Files
- Accounts Payable Teams
- Minimum Two PDF Files
Convert Stripe JSON Export to CSV Spreadsheet
- Stripe JSON Export
- Nested Objects With Dot Notation
- CSV Or Excel
Bra Size Converter: cm to Inches
- divide EU band by 2.54, add 0–4 inches depending on brand
- US/UK 32 (traditional) or 30 (modern fit)
- US/UK 34 (traditional) or 32 (modern fit)