Frequently Asked Questions
This FAQ focuses on getting real work done with JSON on JfamStory — JSON Formatter & Validator. Everything below is written to be practical, left-aligned, and copy-paste friendly. If you’re new to JSON, start with the first section; if you’re troubleshooting, jump straight to the error and performance topics.
Basics
Q1. What can I do on this site?
You can format (beautify) messy JSON, minify it for production, validate syntax, compare two JSON documents, and convert JSON to CSV. Each tool keeps a consistent layout so you won’t have to relearn the interface every time you switch tasks.
Q2. Do I need to install anything or create an account?
No. Everything runs in your browser. Paste or drop your data and use the tools immediately. When you close the tab, your working data is gone from memory.
Q3. Is my data uploaded to a server?
No. Processing is client-side. Your JSON stays in your browser session. This is ideal for sensitive content such as API payloads, internal configs, or anonymized customer data.
Q4. Which browsers are supported?
Modern versions of Chrome, Edge, Firefox, and Safari. If you’re on an older browser, update to the latest build for better performance and accuracy.
Valid JSON Rules
Q5. What are the most common JSON mistakes?
The top offenders are: missing commas, trailing commas, single quotes, unquoted keys, mismatched braces, comments, and non-JSON values like NaN
or undefined
. JSON requires double quotes for strings and keys, commas between items, and strictly defined types.
Q6. Can I use comments in JSON?
Standard JSON does not allow comments (//
or /* ... */
). If you need notes, store them outside the JSON or use a parallel “meta” object (e.g., {"_note":"explain here"}
) that your application ignores.
Q7. Are single quotes allowed?
No. Use double quotes around strings and keys. Example: {"name":"Ada"}
is valid; {'name':'Ada'}
is not.
Q8. What about trailing commas?
Not allowed. {"a":1,}
and [1,2,]
are invalid in strict JSON. Remove the trailing comma.
Q9. Are duplicate keys valid?
Technically parsers accept them, but behavior can vary (usually the last key wins). Avoid duplicates to prevent confusion.
Q10. How are numbers handled?
JSON numbers are finite decimals. Special values like NaN
, Infinity
, or -Infinity
are invalid. Use null or strings if you need to encode such states.
Validation & Error Messages
Q11. The validator says “Unexpected token near line X.” What do I do?
Look a few characters before and after that position. Most issues are missing commas, stray quotes, or an extra brace. If you pasted from an external system, invisible characters (zero-width spaces, non-breaking spaces) can also cause errors. Re-type the suspicious area or copy through a plain-text editor.
Q12. How do I debug a huge JSON that won’t validate?
Strategy: (1) Beautify first, so structure becomes visible. (2) Validate chunks—top-level object first, then nested parts. (3) Search for ,}
or ,]
patterns and remove trailing commas. (4) Ensure all keys and strings are double-quoted.
Q13. Why does my JSON look valid in one tool but not here?
Some tools parse JSON5 or JS object literals (which allow single quotes, comments, and trailing commas). JfamStory uses strict JSON. Convert the object to strict JSON and re-validate.
Q14. The error mentions “control character in string.”
This usually means an unescaped newline or tab inside a string. Escape special characters: \n
for newline, \t
for tab, \\
for backslash, \"
for a double quote.
Q15. What about BOM (Byte Order Mark) issues?
If your file begins with a UTF-8 BOM, some parsers choke. Re-save the file as UTF-8 without BOM or paste the content into the input area to normalize it.
Beautify & Minify
Q16. Beautify isn’t changing anything—why?
If the input is already formatted or is not valid JSON, it may appear unchanged. Validate first. If valid, try changing indentation width (2 vs 4 spaces) if your page offers that preference.
Q17. When should I minify?
Minify before sending or embedding JSON in production. Minifying removes whitespace and reduces payload size. Beautify again during analysis or debugging.
Q18. Can I preserve key order?
Most JSON libraries preserve insertion order in modern runtimes, but the JSON standard does not guarantee semantic ordering. If order matters to humans (e.g., docs), maintain consistent key ordering in your generation step.
JSON Compare (Diff)
Q19. How does the diff work?
Paste two JSON documents; the tool highlights added, removed, and modified fields. Differences are calculated structurally, not by raw text lines, so reformatting won’t create false positives.
Q20. Why are two arrays shown as entirely different?
Array diffs depend on position. If you re-sorted or inserted elements, the diff may mark many items as changed. If your data is order-insensitive, sort arrays first or compare by keys you care about.
Q21. Does the diff ignore whitespace?
Yes. Since we parse JSON first, indentation and spacing do not affect the comparison.
JSON → CSV Conversion
Q22. How are nested objects flattened?
We use dotted paths for nested keys (e.g., user.name
, user.address.city
). Arrays get positional keys like tags[0]
, tags[1]
.
Q23. My objects have different shapes. What happens?
The union of keys becomes CSV columns. Rows for objects missing a key get blank cells for that column. This keeps the output rectangular and spreadsheet-friendly.
Q24. Can I choose the delimiter (comma, semicolon, tab)?
If your page exposes a delimiter option, select it before converting. For locales where comma is a decimal separator, semicolon or tab is often preferable.
Q25. How are newlines and quotes escaped in CSV?
Field values containing commas, quotes, or line breaks are wrapped in quotes, and inner quotes are doubled, e.g., He said ""hello""
.
Q26. Do you support JSON Lines (NDJSON)?
If your source is one JSON object per line, convert each line to a row by pasting the entire block; the tool will parse line by line where supported. Otherwise, pre-split the file and process in batches.
Large Files & Performance
Q27. What’s the practical size limit?
There isn’t a hard cap, but performance depends on your device and browser. As a rule of thumb, many MBs are fine; hundreds of MBs may feel sluggish in a typical browser tab. For extremely large data, sample a subset or stream-process outside the browser.
Q28. Best practices for speed?
Minify for transport, beautify only when reading, and validate in chunks. Close other heavy tabs. If comparing two massive payloads, consider narrowing the scope to specific sections for faster feedback.
Q29. Why did copy/paste freeze briefly?
Pasting very large strings triggers the browser to allocate memory and reflow the page. Give it a moment, or paste a smaller segment, validate, and continue.
Encoding, Unicode, and Special Characters
Q30. My emoji or non-Latin characters broke—why?
Ensure the source is UTF-8. If your pipeline outputs another encoding, re-save as UTF-8 and paste again. You can also use escaped sequences (e.g., \uD83D\uDE03
) if a system in the chain mishandles Unicode.
Q31. Are tabs vs spaces important?
Not to the JSON grammar, but for readability it’s best to pick one indentation style (2 or 4 spaces) and stick with it.
Q32. Windows vs macOS line endings?
Browsers normalize line endings internally. If you export files, your OS might use CRLF (Windows) or LF (Unix/macOS). Most tools handle both; if not, convert in a text editor.
Schema & Data Shape
Q33. Does the site validate against a JSON Schema?
This page focuses on syntax. If the site later offers schema validation, you’ll be able to load a schema and validate structure as well (types, required fields, enums, etc.). For now, use the syntax validator here and your schema checks in code or CI.
Q34. How do I represent dates?
Use ISO-8601 strings (e.g., "2025-08-16T03:00:00Z"
) to keep parsing consistent across languages and time zones. Avoid locale-specific date strings.
Q35. Big integers lose precision in some systems—help?
If a value exceeds 2^53-1, consider encoding it as a string (e.g., "id":"9223372036854775807"
) and convert back in environments that support bigints.
Practical Workflows
Q36. What’s the fastest way to sanity-check an API response?
Paste it into Beautifier → Validate. If it’s invalid, fix the syntax error; if valid, skim with collapsed sections to spot anomalies. For regression checks, copy staging and production responses into Compare.
Q37. How do I prepare JSON for spreadsheets?
If your data is an array of objects with mostly consistent keys, use JSON→CSV. For nested structures, the flattener will produce dot-paths and positional array indices that spreadsheet filters understand.
Q38. How do I share a minimal bug sample with teammates?
Strip out secrets and sensitive values, keep only the smallest object that still reproduces the issue, and include an explanation of “expected vs actual.” If the bug involves ordering, don’t reformat before sharing.
Privacy & Security
Q39. Do you log what I paste?
No. Your content is processed locally and is not transmitted to our servers for formatting, validation, diff, or conversion.
Q40. Any tips for working with sensitive data?
Redact tokens and personal data before sharing examples. Work in a private window if your device is shared. Close the tab when done to clear the session memory.
Mobile & Accessibility
Q41. Does this work on phones and tablets?
Yes. The interface is responsive, and the navigation switches to a compact mobile menu. For big pastes, a desktop browser is still more comfortable.
Q42. Keyboard shortcuts?
Where supported by your browser and OS, standard text navigation and select-all/copy/paste shortcuts apply. We aim to keep focus states clear for keyboard users.
Troubleshooting
Q43. The page looks frozen after a huge paste.
Wait a few seconds; browsers allocate memory for the text area. If it remains sluggish, split the input into chunks, validate them separately, then recombine once clean.
Q44. I see weird characters after copying from a PDF or Word.
Those editors can introduce smart quotes and non-breaking spaces. Replace curly quotes with straight double quotes and normalize spaces by passing through a plain-text editor first.
Q45. Compare shows many differences but I only changed a small part.
Check for re-ordering of arrays or auto-generated IDs. Normalize ordering (sort consistently) and remove IDs from the comparison if they’re not meaningful.
Q46. CSV shows empty columns.
That’s expected when objects have different shapes. Empty cells mean the key didn’t exist for that specific row. You can filter or fill them in your spreadsheet tool.
Q47. Pasted code includes comments and trailing commas.
That’s JSON5 or a JavaScript object literal. Convert to strict JSON by removing comments, using double quotes, and eliminating trailing commas before validating.
Q48. My export needs tabs instead of commas.
Use tab-delimited output (TSV) if your locale uses commas in decimals or if fields commonly contain commas. Many spreadsheet tools auto-detect TSV cleanly.
Examples
Q49. Can you show a tiny valid JSON example?
{ "user": { "id": 42, "name": "Ada", "tags": ["ml", "vision"], "active": true, "joined": "2025-08-16T03:00:00Z" } }
Q50. And an invalid one with a typical error?
{ "user": { "id": 42, "name": "Ada", // ❌ comments not allowed "active": true, // ❌ trailing comma below } }
Fix by removing comments and the trailing comma, and keep only double quotes.
Q51. Example of flattening to CSV?
[ {"id":1,"name":"Ada","tags":["ml","vision"],"profile":{"country":"KR","city":"Seoul"}}, {"id":2,"name":"Lin","tags":["infra"],"profile":{"country":"US","city":"Austin"}} ]
Columns might include: id, name, tags[0], tags[1], profile.country, profile.city.
Good Practices
Q52. How do I keep JSON readable for humans?
Pick a standard indentation (2 or 4 spaces), avoid deeply nested structures when possible, and keep keys concise but descriptive. Document any conventions shared by your team.
Q53. Should I sort keys?
If humans will diff JSON in code reviews, sorting keys makes changes easier to scan. If machines consume it, ordering rarely matters—choose what helps your process.
Q54. Tips for team workflows?
Validate in CI, enforce formatting with a linter or pretty-printer in your build step, and agree on date formats, number precision, and null handling to prevent subtle bugs.
Limits & Roadmap
Q55. Are there hard limits?
No hard limit, but the browser’s memory and your device set practical limits. If you routinely handle gigabytes of data, pair these tools with streaming or server-side processing for the heavy lifting.
Q56. Will you add YAML or JSON Schema support?
Those features are on our radar. In the meantime, you can convert YAML to JSON externally, then use the tools here for formatting, validation, and diff.
Contact & Misc
Q57. How do I contact you?
Use the Contact page or email haekzzang@naver.com. Include your browser version, minimal sample data, and steps to reproduce for the fastest help.
Q58. Can I request a new feature?
Yes. Describe the problem you’re solving, who benefits, and why existing tools aren’t enough. Clear examples help us evaluate and prioritize.
Q59. Can I rely on this for production pipelines?
This site is best for development, debugging, inspection, and ad-hoc conversions. For automated pipelines, embed formatting/validation in your build or server code and use this site for human-in-the-loop checks.
Q60. Any final advice?
Keep JSON strict and simple. Validate early and often. Minify for transport, beautify for reading. Redact sensitive data before sharing. For large diffs, compare focused subsections first to isolate the real change.