JSON Flattener
Convert nested JSON structures to flat key-value pairs with customizable options for delimiters, depth control, and array handling.
Input JSON
Flattened Output
Use . for dot notation, _ for underscore, etc.
Leave empty for unlimited depth
Keys containing any of these patterns will be removed from the flattened output
About JSON Flattening
What is JSON Flattening?
JSON flattening is the process of converting a nested JSON structure into a single-level flat structure where nested keys are represented using a delimiter (typically a dot). This is useful for:
- Database Import: Convert nested JSON to flat rows for CSV/database import
- Data Processing: Simplify data structures for easier programmatic access
- Mapping: Create field mappings from complex nested objects
- Configuration: Flatten config files for environment variables or simple storage
- Analytics: Prepare data for analytics tools that expect flat structures
How It Works
Example:
Original JSON:
{
"user": {
"name": "John",
"email": "john@example.com"
}
}Flattened Result:
{
"user.name": "John",
"user.email": "john@example.com"
}Configuration Options
Key Delimiter
Choose how to separate nested keys:
- •
.(dot notation) - •
_(underscore) - •
/(slash) - • Custom delimiter
Max Depth
Control nesting depth:
- • Empty = unlimited
- • 1 = only top level
- • 2+ = nested levels
Array Handling
Three array processing modes:
- • Index: user.0, user.1
- • Ignore: skip arrays
- • Stringify: array as JSON
Remove Keys by Pattern
Remove keys containing one or more patterns from flattened output:
- • Multiple patterns: Click the "Add" button to add more filter patterns
- • Pattern matching: Keys matching ANY pattern will be removed
- • Example patterns:
audioPath,imageUrl,metadata - • Output updates: Apply by clicking "Flatten JSON" button
- Example: Remove audio/image paths, metadata, internal IDs, etc.
Find & Replace Values
Find keys by pattern and replace their values:
- • Find:
questions.0.idfinds all keys with this pattern - • Replace:
abcreplaces matching key values with custom value - • Keep original: Original flattened output remains unchanged
- • Multiple matches: All keys matching the pattern get the new value
- Example: Replace question IDs, answer IDs, paths, etc. with uniform values