# simdjson/simdjson

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/simdjson-simdjson).**

23,260 stars · 1,215 forks · C++ · apache-2.0

## Links

- GitHub: https://github.com/simdjson/simdjson
- Homepage: https://simdjson.org
- awesome-repositories: https://awesome-repositories.com/repository/simdjson-simdjson.md

## Topics

`aarch64` `arm64` `avx2` `avx512` `c-plus-plus` `clang` `clang-cl` `cpp11` `gcc-compiler` `json` `json-parser` `json-pointer` `loongarch` `loongarch64` `neon` `risc-v` `simd` `sse42` `vs2019` `x64`

## Description

simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with minimal memory overhead. It functions as a hardware-aware data processing engine that leverages vector instructions to achieve gigabyte-per-second parsing speeds. By detecting host processor capabilities at runtime, the library automatically selects the most efficient instruction sets to accelerate structural analysis and validation.

The library distinguishes itself through a focus on extreme efficiency and resource management. It utilizes memory mapping and padded buffer alignment to minimize data copying, while its lazy parsing capabilities allow for the extraction of values without requiring a full document tree to be built in memory. For large-scale workloads, it supports incremental stream processing and provides result-based error handling to ensure predictable, safe operations without the use of exceptions.

Beyond its core parsing engine, the library offers a comprehensive suite of tools for data navigation and manipulation. Users can interact with JSON content through DOM-based structures, standard iterators, or direct path-based access. It also includes utilities for programmatic document construction, custom type mapping, and serialization, all while maintaining strict constraints on memory usage and nesting depth to ensure stability during high-throughput tasks.

## Tags

### Data & Databases

- [JSON Parsers](https://awesome-repositories.com/f/data-databases/json-parsers.md) — Processing large JSON datasets at maximum speed by leveraging hardware-specific vector instructions for efficient data extraction and validation.
- [High-Performance Parsers](https://awesome-repositories.com/f/data-databases/json-parsers/high-performance-parsers.md) — A library that uses SIMD instructions to parse and validate JSON documents at gigabytes per second.
- [SIMD Parsers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-parsing/simd-parsers.md) — Uses vector instructions to process multiple bytes of data simultaneously for high-speed structural analysis and validation.
- [C++](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/json-libraries/c.md) — A high-performance header-only C++ library for parsing, querying, and serializing JSON data with minimal memory overhead.
- [Runtime Hardware Optimizers](https://awesome-repositories.com/f/data-databases/hardware-acceleration/runtime-hardware-optimizers.md) — A data processing engine that detects CPU capabilities at runtime to execute the most efficient instruction sets for parsing.
- [Zero-Copy Memory Mappings](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/zero-copy-memory-mappings.md) — The library provides direct access to memory-mapped files or string buffers to enable efficient processing of large data structures without intermediate copies. ([source](https://simdjson.github.io/simdjson/functions_func_v.html))
- [Stream Processing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/stream-processing-systems/stream-processing.md) — The library parses concatenated JSON documents or newline-delimited streams by handling individual records sequentially to maintain memory efficiency during large-scale data processing. ([source](https://simdjson.github.io/simdjson/md_doc_2basics.html))
- [JSON](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/stream-processing-systems/stream-processing/json.md) — Handling continuous streams or concatenated JSON documents incrementally to maintain low memory usage while maintaining high throughput.
- [Lazy Parsers](https://awesome-repositories.com/f/data-databases/document-parsing-engines/lazy-parsers.md) — Extracts values from data structures only when accessed to avoid the overhead of building a full document tree.
- [Path-Based Data Access](https://awesome-repositories.com/f/data-databases/path-based-data-access.md) — Retrieves specific values from nested structures using standard path expressions to navigate documents without requiring manual traversal of the entire tree. ([source](https://simdjson.github.io/simdjson/functions_m.html))
- [JSON](https://awesome-repositories.com/f/data-databases/streaming-parsers/json.md) — A tool for processing concatenated JSON documents and large data streams incrementally without loading entire files into memory.
- [Zero-Copy Data Access](https://awesome-repositories.com/f/data-databases/zero-copy-data-access.md) — Enables on-demand navigation and value retrieval from JSON structures without requiring a full initial parse of the entire document into memory. ([source](https://simdjson.github.io/simdjson/files.html))
- [Memory-Mapped File Access](https://awesome-repositories.com/f/data-databases/data-access-querying/memory-mapped-file-access.md) — Maps large input files directly into the address space to minimize data copying and optimize memory access patterns.
- [Serialization Libraries](https://awesome-repositories.com/f/data-databases/serialization-libraries.md) — Provides automated conversion between custom objects and JSON strings using compile-time reflection and mapping hooks. ([source](https://simdjson.github.io/simdjson/md_doc_2builder.html))
- [Lazy Extraction](https://awesome-repositories.com/f/data-databases/structured-data-extraction/lazy-extraction.md) — Navigating and querying nested JSON structures lazily to retrieve specific values without the overhead of parsing entire documents into memory.
- [Custom Type Converters](https://awesome-repositories.com/f/data-databases/custom-type-converters.md) — Supports deserializing JSON data directly into user-defined types to simplify the conversion from raw formats to native application objects. ([source](https://simdjson.github.io/simdjson/md_doc_2basics.html))
- [Typed Data Extraction](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/data-parsing-extraction/typed-data-extraction.md) — Retrieves primitive data types, including strings, numbers, and booleans, from parsed documents for direct use in application logic. ([source](https://simdjson.github.io/simdjson/topics.html))
- [Parsing Limits](https://awesome-repositories.com/f/data-databases/data-serialization-and-parsing/parsing-limits.md) — The library allows configuration of maximum nesting depth and memory buffer limits to ensure safe and predictable processing of large or complex inputs. ([source](https://simdjson.github.io/simdjson/namespacemembers_vars.html))
- [JSON Construction Utilities](https://awesome-repositories.com/f/data-databases/json-construction-utilities.md) — Offers a structured interface for programmatically building valid JSON strings by appending elements to high-performance buffers. ([source](https://simdjson.github.io/simdjson/functions_func_s.html))

### Artificial Intelligence & ML

- [Hardware Acceleration](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-acceleration.md) — Leverages hardware-specific vector instructions and runtime CPU detection to achieve gigabyte-per-second parsing speeds. ([source](https://github.com/simdjson/simdjson/blob/master/doc/parse_many.md))

### Programming Languages & Runtimes

- [Hardware Dispatchers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-internals-foundations/runtime-architecture/hardware-dispatchers.md) — The library identifies the host processor architecture at runtime to automatically select and execute the most efficient hardware-specific instructions for data processing. ([source](https://simdjson.github.io/simdjson/))

### Software Engineering & Architecture

- [Data Handling and Throughput](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput.md) — Optimizes data ingestion and memory management through padded buffer alignment and strict memory capacity limits. ([source](https://simdjson.github.io/simdjson/functions_func_s.html))
- [Error Handling](https://awesome-repositories.com/f/software-engineering-architecture/error-handling.md) — The library reports parsing failures through a result-based mechanism to safely manage and recover from invalid input or processing errors. ([source](https://simdjson.github.io/simdjson/hierarchy.html))
- [Compile-Time Optimization Tools](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-optimization-tools.md) — The library converts data strings into structured formats during the compilation process to eliminate runtime overhead for static configuration or data. ([source](https://simdjson.github.io/simdjson/functions_m.html))
- [Encoding Validators](https://awesome-repositories.com/f/software-engineering-architecture/string-validation-and-normalization/encoding-validators.md) — The library verifies that strings and documents conform to UTF-8 or Unicode standards to ensure data integrity before and during processing. ([source](https://simdjson.github.io/simdjson/functions_v.html))
- [Error Handling Patterns](https://awesome-repositories.com/f/software-engineering-architecture/error-handling-patterns.md) — Returns structured error codes instead of exceptions to provide predictable and safe failure reporting during parsing operations.
- [Memory Alignment Utilities](https://awesome-repositories.com/f/software-engineering-architecture/memory-alignment-utilities.md) — The library assembles memory-aligned string buffers to ensure optimal hardware instruction execution and high-performance parsing operations. ([source](https://simdjson.github.io/simdjson/functions_b.html))

### Operating Systems & Systems Programming

- [Memory-Efficient Parsing](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/memory-efficient-parsing.md) — Managing large-scale JSON payloads through optimized buffer allocation, memory mapping, and reusable parsing resources to minimize system overhead.
- [Native Resource Lifecycle Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management-systems/native-resource-lifecycle-managers.md) — The library allows for the manual release or reset of parser resources to enable memory reclamation and reuse across multiple parsing operations. ([source](https://simdjson.github.io/simdjson/functions_r.html))

### User Interface & Experience

- [In-Memory DOM Representations](https://awesome-repositories.com/f/user-interface-experience/dom-manipulation-libraries/in-memory-dom-representations.md) — Maps parsed content into an in-memory tree structure to allow for intuitive navigation and manipulation of document elements. ([source](https://simdjson.github.io/simdjson/pages.html))
