jsonlkit.com
JSONL (JSON Lines) utilities, in the browser
Say hi →

JSONL Flatten / Unflatten

updated 11 May 2026

100% client-side. No upload.

Transform

Drop a .jsonl file here, or

JSONL Flatten / Unflatten

Flatten nested JSONL records into a flat key-value shape using dot notation (user.name, tags.0), or take a flat shape and unflatten the dotted keys back into nested objects and arrays. The same transformation pandas does with json_normalize(), but in your browser. 100% client-side.

Why flatten?

Why unflatten?

Array style

Three options for how to represent array indices: Dotted (tags.0, tags.1) — friendliest for column names. Bracket (tags[0]) — pandas/JMESPath-flavoured. Join (tags = "admin,ops") — loses array structure but produces fewer columns; useful when the array contents are display-only strings.

Tips & common pitfalls

Example

Input nested JSONL:

{"id":1,"user":{"name":"alice","email":"[email protected]"},"tags":["admin","ops"]}
{"id":2,"user":{"name":"bob","email":"[email protected]"},"tags":["dev"]}

Flattened (dot, dot-index array style):

{"id":1,"user.name":"alice","user.email":"[email protected]","tags.0":"admin","tags.1":"ops"}
{"id":2,"user.name":"bob","user.email":"[email protected]","tags.0":"dev"}

Related tools