Parsing JSON at the speed of memory

Parsing gigabytes of JSON per second

JSON is everywhere on the Internet. Servers spend a lot of time parsing it. We need a fresh approach.

$ brew install simdjson·$ apt install libsimdjson-dev·$ vcpkg install simdjson
quickstart.cpp
#include "simdjson.h"
using namespace simdjson;

int main() {
  ondemand::parser parser;
  padded_string json = padded_string::load("twitter.json");
  ondemand::document tweets = parser.iterate(json);
  std::cout << uint64_t(tweets["search_metadata"]["count"])
            << " results." << std::endl;
}
up to 25GB/s
Parsing throughput
25×
Faster than JSON for Modern C++
Why simdjson

Highlights

Fast

Over 4× faster than RapidJSON and 25× faster than JSON for Modern C++.

Easy

First-class, easy-to-use, and carefully documented APIs.

Strict

Full JSON and UTF-8 validation, lossless parsing. Performance with no compromises.

Automatic

Selects a CPU-tailored parser at runtime. No configuration needed.

Reliable

From memory allocation to error handling, simdjson's design avoids surprises.

Peer Reviewed

Research published in VLDB Journal and Software: Practice and Experience.

Get started

Three lines from install to parse

simdjson ships as a header-only library and is packaged everywhere — Ubuntu, Debian, Fedora, Arch, Alpine, FreeBSD, Homebrew, vcpkg, conan, MSYS2. Drop it in, point it at JSON, get blazing fast results.

Quick start guide API reference

Prefer a dependency-free drop-in? Grab the amalgamated release, then add simdjson.h and simdjson.cpp straight to your C++ project — no package manager, no build system required. Download singleheader.zip

install.sh
# macOS
$ brew install simdjson

# Ubuntu / Debian
$ apt install libsimdjson-dev

# vcpkg
$ vcpkg install simdjson
Features

Features

25 GB/s

On-Demand API

A radically new approach to parsing JSON documents at memory speed.

build

Build JSON

Generate JSON strings at gigabytes per second. Read more →

12 GB/s

Minify

Strip whitespace from JSON streams without parsing. Read more →

30 GB/s

UTF-8 Validation

Standalone validation that's faster than memcpy on some workloads. Read more →

3.5 GB/s

Multithreaded NDJSON

Crunch gigantic newline-delimited JSON streams at multi-GB/s. Read more →

query

JSON Pointer & JSONPath

Drill into a document by path without unboxing the whole thing. Read more →

safe

Errors, your way

Pick exceptions or error codes. Compile with or without exceptions. Read more →

auto

Runtime dispatch

Detects AVX-512, AVX2, NEON, RISC-V, Loongarch, POWER — ships one binary. Read more →

C++26

Reflection & custom types

Plug in your own data types via tag_invoke or C++26 static reflection.

Used in production

Trusted by infrastructure that ships

simdjson powers JSON parsing inside engineering teams at the scale where every cycle counts.

And a dozen ports & bindings — Python, R, Ruby, PHP, C#, Rust, Swift, Go, Erlang, Lua, Haskell. See them all →

Morty Proxy This is a proxified and sanitized view of the page, visit original site.