Skip to content

Data Formats Explained

Data formats compared by structure and best use.

Data formats encode structure and values for storage or transport. Each optimizes for a different reader: humans, machines, or both.

Reference table · 33 entries
33 of 33 rows
Human-edited config
Indent-based key-value pairs with lists and nestingConfig files, CI pipelines, and data serialization
Tables of key-value pairs with typed valuesApplication config in Rust and Python projects
Flat sections of key-value pairsSimple app and system configuration
Flat KEY=value pairs, one per lineEnvironment variables and secrets
JSON with unquoted keys, comments, and trailing commasHand-edited config that stays close to JSON
JSON with line and block commentsEditor settings such as VS Code configuration
JSON with relaxed quotes, commas, and commentsHuman-friendly config that converts to JSON
Typed value constraints combined by unificationConfig schemas, validation, and Kubernetes templating
Nodes with arguments, children, and nestingConfig documents as a YAML alternative
Rust-style structs and enums with nestingRust app and game state via serde
Binary property trees of keys, lists, and valuesmacOS and iOS application settings
XML tags encoding property-list keys and valuesReadable Apple property lists in Xcode projects
Machine interchange
Nested objects and arrays with typed valuesAPIs and config everywhere
Tags with attributes and deep nestingDocuments, SOAP, and legacy enterprise systems
Rows of comma-separated values under a headerTabular data and spreadsheet exchange
Compact binary objects and arraysFast, small machine-to-machine payloads
One JSON object per line with no outer arrayStreaming logs, event pipelines, and append-only exports
Columnar binary layout with encoding and statistics per columnAnalytical queries over column subsets in data lakes
Schema-defined records in compact row encodingKafka pipelines and Hadoop data with evolving schemas
Compact tagged fields declared in a separate schemagRPC services and cross-language message exchange
Binary JSON with added date, binary, and id typesMongoDB storage and wire protocol
Interface-defined structs with compact binary encodingCross-language RPC and serialization pipelines
Struct layout read directly without a decode stepZero-copy parsing where latency matters
Flat tables of fields accessed by offsetGame and mobile data read in place without allocation
In-memory columnar arrays in a shared layoutZero-copy tabular exchange between analytics libraries
Columnar stripes with compression and light indexesHive tables and warehouse-scale storage
Compact binary encoding of the JSON data modelConstrained devices and CoAP-based IoT traffic
Binary JSON with shared references for repeated keysHigh-throughput Java services built on Jackson
Domain formats
JSON objects encoding points, lines, and polygonsWeb maps and geographic feature APIs
JSON log of HTTP requests, responses, and timingsBrowser network traces shared for debugging
XML feed items with title, date, and linkPublishing updates to feed readers
Plain text with punctuation markers for headings and emphasisREADMEs, docs, and static-site content
Zipped XHTML chapters with package and spine metadataReflowable e-book distribution