Awesome JSON
A curated list of awesome JSON libraries and resources.
Inspired by the awesome
list.
 ](https://github.com/burningtree/awesome-json/actions/workflows/links.yml/badge.svg)
Applications
-
Dadroit JSON Viewer - Very fast JSON Viewer, supporting huge (multi gigabytes) files, JSON log (JSON-Lines and ndjson).
OS X
-
Visual JSON
- simple JSON pretty-viewer for Mac OS X. (inactive)
-
JSONExport
- convert a object to a class of one of the currently supported languages.
Binary Serialization
-
BSON - Binary JSON.
-
MessagePack - An extremely efficient object serialization library.
-
UBJSON - The universally compatible format specification for binary JSON.
-
CBOR - Concise Binary Object Representation.
-
PSON
- Protocol JSON, super efficient binary serialization format.
-
JSON BinPack - Space-efficient binary JSON serialization format based on JSON Schema.
Browser Extensions
Chrome
-
JSON Formatter (github
) - Makes JSON easy to read. Open source.
-
JSON Viewer (github
) - It is a Chrome extension for printing JSON and JSONP.
-
JSON Finder (github
) - Browse like you do it in Finder.
-
JSON Viewer Pro (github
- An open source Chrome extension for browsing JSON with syntax highlighting and folding, or as a visual graph.
-
Discoverable JSON (github
) - Gron inspired Extension. Convert a JSON document into javascript expressions. Comes with filter, remove, find-and-replace capabilities.
Firefox
Safari
-
JSONAce (github
) - Formats & syntax highlights JSON viewed inside of the web browser using the ACE editor.
-
JSONView (github
) - A port of the JSONView Firefox extension that formats and syntax highlights JSON viewed inside of the browser
-
dsq
- Tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.
-
fx
- A interactive terminal tool.
-
jo
- A small utility to create JSON objects
-
jsoncat
- Pretty-print Json in terminal with colors and adjusting tabs size.
-
jq
- A lightweight and flexible command-line JSON processor.
-
jaq
- A jq clone focussed on correctness, speed, and simplicity. Written in Rust.
-
gojq
- Pure Go implementation of jq. A bit faster and more portable.
-
livejq
- An alternative jq
implementation in rust for continuous parsing without crashing on invalid JSON
-
json - A “json” command for massaging JSON on your Unix command line.
-
json-search
- A small tool to search for objects/values in json files.
-
jshon - A parser designed for maximum convenience within the shell.
-
jarg - Shorthand JSON and form encoding syntax in the shell.
-
jsawk
- Like awk, but for JSON.
-
json-dotenv
- Manipulate and extract envfiles in json format.
-
gron
- Convert a JSON file into discrete assignments that are greppable.
-
jid
- Incremental Digger. Drill down JSON interactively by using filtering queries like jq.
-
jiq
- It’s jid
with jq
. You can drill down interactively by using jq
filtering queries.
-
jv
- jv (for jsonviewer) helps you view your JSON.
-
jl
- Functional sed for JSON.
-
oj
- A fast and flexible command line JSON processor.
-
visidata
- A terminal spreadsheet-like tool for interactively exploring data.
-
jc
- Converts the output of many CLI tools, file-types, and common strings into JSON
-
logdy
- jq, tail, less, grep and awk merged together and available in a clean web UI.
Databases
-
MongoDB - an open-source document database, and the leading NoSQL database.
-
RethinkDB - An open-source distributed document database with a pleasant and powerful query language.
-
EJDB
- Embedded JSON Database engine published under MIT license. (C)
-
lowdb
- Flat file database built on lodash API. (Javascript)
-
Lawnchair
- A lightweight clientside document store. (Javascript)
-
JSON ODM
- Object document mapper for JavaScript to use on the server or in the browser. (Javascript)
-
JSON Server
- Get a full fake REST API with zero coding in less than 30 seconds.
-
Kinto
- A lightweight JSON storage service with synchronisation and sharing abilities.
-
CouchDB - Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability.
-
RxDB
- Event-driven JSON-Database with JSON-Schema, mango-Query and CouchDB-sync. (Javascript)
-
JSONlite
- A simple, self-contained, serverless, zero-configuration, json document store. (Bash)
Datasets
-
country.io - Various country related datasets, as JSON inc currency, country codes, names and more
-
countries
- World countries.
-
MTG JSON - Up to date Magic the Gathering card data.
-
Heartstone JSON - Up to date Hearthstone card data.
-
getCountries() - Generator for custom Countries data.
Data modeling
-
JSONModel
- Magical Data Modelling Framework. (Objective-C)
Data generation
-
jsonymize
- Reads data from standard input, anonymizes, then writes to standard output.
-
dyson
- Server for dynamic, fake JSON. (node.js)
Differencing
-
JSONPatch - A format for describing changes to a document.
-
JSON-Patch
- Lean and mean Javascript implementation of the JSON-Patch standard (RFC 6902). (Javascript)
-
jiff
- JSON Patch and diff based on rfc6902. (Javascript)
-
json-patch-php
- implementation of JSON-patch (IETF RFC 6902) (PHP)
-
dffptch
- A micro library for diffing and patching using a compact diff format. (Javascript)
-
jsondiffpatch
- Diff & patch for JavaScript objects. (Javascript)
Editors
-
FrontAid CMS - Content Management System that supports arbitrary data model structures.
-
JSONEdit - User friendly, visual editor built as an AngularJS directive.
-
JSON Crack - Display your JSON as a graph
-
GeoJSON - A geospatial data interchange format.
-
JSON-LD - A lightweight Linked Data format.
-
JSON-RPC - A stateless, light-weight remote procedure call (RPC) protocol.
-
JSONP - Safer cross-domain Ajax with JSON-P/JSONP.
-
JsonML - A compact format for transporting XML-based markup as JSON which allows it to be losslessly converted back to its original form.
-
JSON5 - a extension that aims to make it easier for humans to write and maintain by hand.
-
JSON6
- JSON for Humans (ES6).
-
JSON 1.1/JSONX - An evolved version 1.1 with format extension for humans incl. comments, unquoted and multi-line strings, optional and trailing commas and more.
-
JSON Resume - The open source initiative to create standard for resumes.
-
JSON Web Tokens - A compact URL-safe means of representing claims to be transferred between two parties.
-
JSON API - A standard for building APIs.
-
Collection+JSON - A read/write hypermedia-type designed to support management and querying of simple collections.
-
hal-json - A set of conventions for expressing hyperlinks in either JSON or XML.
-
JSON Activity Streams - A format for syndicating social activities around the web.
-
JSON-stat
- Simple lightweight format for data dissemination.
-
/contribute.json - Making open source contribution information easier to access, across projects.
-
NDJSON
(Newline delimited JSON) - a standard for delimiting JSON in stream protocols.
-
survey.js - JSON based survey library.
-
JSON Meta Application Protocol (JMAP) - A protocol for synchronising JSON-based data objects efficiently, with support for push and out-of-band binary data upload/download.
-
JackSON: JSON secret keeper
- JSONic way of storing secrets in config file.
-
Sequence JSON
- A proposal for a standard way of creating music sequence data in JSON.
Frontend components
-
JSON editor jQuery plugin
- component for you web apps/pages. (jQuery)
-
jqTree - Widget for displaying a tree structure in html. (jQuery)
-
jsTree - jquery plugin, that provides interactive trees. (jQuery)
-
Dynatable.js
- A funner, semantic, HTML5+JSON, interactive table plugin. (jQuery)
-
JSON Formatter
- Angular directive for collapsible JSON in HTML. (AngularJS)
-
react-jsonschema-form - A React component for building Web forms from JSON Schema. (React)
-
@textea/json-viewer
- A React component for JSON viewer. (React)
-
ngx-formly
- JSON powered / Dynamic forms for Angular
Libraries
C
-
Jansson
- A C library for encoding, decoding and manipulating data.
-
jsmn - A minimalistic parser in C. It can be easily integrated into the resource-limited projects or embedded systems.
-
json-build
- A minimalistic serializer in C. It can be easily integrated into the resource-limited projects or embedded systems.
-
ojc
- A fast JSON parser.
C++
-
ArduinoJson
- An efficient library for embedded systems.
-
JSON++
- A self contained Flex/Bison parser for C++11.
-
json11
- A tiny library for C++11.
-
Nlohmann JSON
- A C++11 header-only class.
-
RapidJSON
- A fast JSON parser/generator for C++ with both SAX/DOM style API
-
simdjson
- Parsing gigabytes of JSON per second.
Clojure
-
data.json
- parser/generator to/from Clojure data structures.
Fortran
-
JSON-Fortran
- A Fortran library for writing, reading, and manipulating JSON files and data structures.
Go
-
ojg
- A collection of high performance JSON processing and generating tool.
Haskell
Java
-
JSON-java
- A reference implementation.
- Fast JSON Processor

-
Gson
- A Java library to convert JSON to Java objects and vice-versa.
-
Jackson
- A multi-purpose Java library for processing JSON data format.
-
moshi
- A modern JSON library for Android and Java.
-
essential-json
- A lightweight Java library for serialization, parsing and manipulation with a clean and precise API.
-
dsl-json
- A very fast streaming JSON library. Operates on byte arrays.
-
mjson
- Lean JSON Library for Java, with a compact, elegant API.
Javascript
-
JSON-js
- JSON in JavaScript.
-
JSON 3 - A modern implementation.
-
oboe.js
- A streaming approach, speeds up web applications by providing parsed objects before the response completes.
-
FracturedJsonJs - A JSON formatter that produces human-readable but fairly compact output.
-
JsonHilo
- Minimal lossless parse event streaming, akin to SAX.
Objective-C
-
JSONKit
- Objective-C library.
-
SBJson
- Parse one or more chunks of data.
Perl
-
JSON::Tiny
- Perl module for encoding and decoding JSON in a minimalistic way.
PL/SQL
-
PL/JSON
- A generic JSON object written in PL/SQL.
PHP
-
Webmozart JSON
- A robust decoder/encoder with support for schema validation.
Python
-
simplejson
- A simple, fast, extensible encoder/decoder
-
jsonpickle - Library for serializing any arbitrary object graph.
-
metamagic.json - An ultra-fast Python 3 implementation of a JSON encoder.
Ruby
-
oj
- A fast JSON parser and Object marshaller as a Ruby gem.
-
MultiJSON
- A generic swappable back-end for JSON handling.
React
-
json2react
- Use JSON to create React Stateless Components.
.NET
Scala
-
spray-json
- A lightweight, clean and simple implementation in Scala.
-
circe
- Yet another JSON library for Scala.
-
scala-jsonapi
- Support library for integrating the JSON:API spec with Play, Spray and/or Circe backends.
-
jsoniter-scala
- Scala macros for compile-time generation of ultra-fast JSON codecs.
Shell
-
jshn - JSON parsing and generation library in for shell scripts (Ash/Bash)
Swift
-
SwiftyJSON
- The better way to deal with data in Swift.
Linters
-
jsonlint
- Parser and validator with a CLI. (Javascript)
-
JSON Lint
- PHP linter. (PHP)
Schema Specifications
-
JSON Schema - a JSON based format for defining the structure of JSON data.
-
Itemscript - Language for validating and specifying values.
-
Kwalify
- A parser, schema validator, and data binding tool
-
Rx - Simple, Extensible Schemata.
Services
-
Exchange Rate API - A simple and free API for currency exchange rate data.
-
ipinfo.io - JSON IP and GeoIP REST API.
-
JSONProxy
- Simple HTTP proxy that enables cross-domain requests to any JSON API.
-
Telize - JSON IP and GeoIP REST API.
-
jsonpad - a simple JSON storage platform.
Supersets
-
YAML - A human friendly data serialization standard for all programming languages.
-
HanSON
- JSON for Humans - with unquoted identifiers, multi-line strings and comments.
-
μson
(uson) - a shorthand for JSON.
-
HOCON
- Human-Optimized Config Object Notation.
-
ASON
- A semantically complete superset of JSON (draft).
-
TOML
- A minimal configuration file format that’s easy to read due to obvious semantics.
-
HCL
- A structured configuration language that is both human and machine friendly.
Tutorials
-
AXON
- A simple text based format for interchanging of objects, documents and data. It tries to combine the best of JSON, XML and YAML.
-
CSON
- CoffeeScript-Object-Notation. JSON for CoffeeScript objects.
-
MSON
- Markdown syntax compatible with describing JSON and JSON Schema.
-
ArchieML - Structured text format optimized for human writability.
Resources
-
Type-o-rama
- JS type systems interportability, comparison of different JS type systems and conversion between them.
-
Awesome jq
- A curated list of awesome jq tools and resources.
Templates
-
Jsonnet - A domain specific configuration language that helps you define JSON data.
-
rabl
- General ruby templating with json, bson, xml, plist and msgpack support. (Ruby)
-
json2html - HTML templating library with wrappers for both jQuery and Node.js. (Javascript)
Testing
-
JSON Test - Testing platform for services utilizing JavaScript Object Notation (JSON).
-
JSONassert
- Write JSON unit tests in less code. Great for testing REST interfaces. (Java)
-
JsonUnit
- A library that simplifies JSON comparison in unit tests. It’s strongly inspired by XmlUnit.
-
JSON Parsing Test Suite
- A very complete test suite and validation framework.
Text Editor Plugins
Emacs
Vim
-
vim-json
- A better JSON for Vim: distinct highlighting of keywords vs values, JSON-specific (non-JS) warnings, quote concealing. Pathogen-friendly.
Visual Studio Code
-
FracturedJsonVsc - Formatter that produces human-readable but fairly compact output.
Neovim
-
nvim-jqx
- Browse and query json files in neovim from the quickfix window. (Lua)
-
json-sharp
- Javascript tool to process operations on pure JSON objects. (Javascript)
-
json2json
- Transform (reformat) structures from one to another. (Javascript)
-
trans
- The ultimate object transformer. (Javascript)
-
osmtogeojson
- Converts OSM data to GeoJSON. (Javascript)
-
fast-xml-parser
- Fast XML to JSON and vice versa javascript/JSON conversion.
-
x2js
- XML to JSON and vice versa javascript conversion functions. (Javascript)
-
JSONC
- JSON compressor and decompressor. (Javascript)
-
JsonMapper
- Map nested structures onto PHP classes (PHP)
-
SassyJSON
- Sass-powered API. (Sass)
-
json.human.js - A small library to convert a JSON object into a human readable HTML representation that is easy to style for different purposes.
-
JSONtoFoundation
- OS X utility that converts a JSON object to a Foundation object that can be used in Cocoa/Cocoa Touch development. (Swift)
-
fanci
- Extract, rename and transform JSON based on a template. (node.js)
-
Pinch
- String.replace for JavaScript objects. (Javascript)
-
deepjson - A better way to load big json config files. (node.js)
-
jsontl
- allow transformation using a JSON-based transformation language. (node.js)
-
json-transforms
- A recursive, pattern-matching, approach to transforming JSON structures.
-
normalizr
- Normalizes nested JSON according to a schema. (Javascript)
-
JSON-populate
- Tool for populating JSON data with infinitely recursive circular references. Sort of like Falcor, but for plain JSON.
-
CircularJSON
- JSON does not handle circular references. Now it does.
-
Sawmill
- JSON transformation library (Java)
-
nimnjs
- JSON to nimn bidirectional converter.
-
stylops
- CSS subset to JSON conversion. (node.js)
Queries
-
dasel
- Query and update data structures using selectors from the command line. Comparable to jq
/ yq
but supports JSON, YAML, TOML and XML with zero runtime dependencies.
-
JMESPath - A query language for JSON.
-
JSON Mask
- Tiny language and engine for selecting specific parts of a JS object, hiding the rest. (Javascript)
-
JSONiq - The JSON Query Language.
-
ObjectPath - The agile query language for semi-structured data. (Python)
-
DefiantJS - Lightning-fast searches using XPath expressions, and transform using XSL. (Javascript)
-
JSONSelect
- CSS-like selectors. (Javascript)
-
JSONPath - XPath implementation. (Javascript/PHP)
-
searchjs
- A library for filtering based on a json SQL-like language.
-
json-rel
- Transparent references in JSON.
-
JSONata - Query and transformation language used in Node-RED, supports function expressions.
JSON Schema Frontend components
-
JSON Editor
- JSON Schema Based Editor. (jQuery)
-
angular-schema-form
- Generate forms. (AngularJS)
-
JSON Schema View
- An AngularJS directive for rendering JSON Schema in HTML (AngularJS)
-
Angular JSON Schema Form
- Angular directive for making forms out of JSON Schema. (AngularJS)
-
AlpacaJS - Generates JSON Schema driven forms on top of Bootstrap, jQuery Mobile, jQuery UI and HTML (jQuery)
-
prmd
- Tools and doc generation for HTTP APIs.
-
generate-schema
- Effortlessly convert your JSON Object to JSON Schema, Mongoose Schema, or a Generic template for quick documentation / upstart.
-
Docson
- Documentation for your types.
-
Orderly JSON
- A textual format for describing JSON compiled into JSONSchema.
-
jsonschema2pojo
- Generates Java types and annotates those types for data-binding with Jackson 1.x or 2.x, Gson, etc.
-
Matic
- Build tool for generating HTML documentation.
-
JSON Schema + Faker
- Fake your schemas.
-
DLL.js
- Gets you a JSON Schema from PostgreSQL or SQLite3.
-
JSONSchema.net - JSON Schema generator from JSON object.
-
js-schema
- A new way of describing object schemas in JavaScript. It has a clean and simple syntax, and it is capable of serializing to/from the popular JSON Schema format.
-
aptos
- A tool for validating data using JSON Schema and converting JSON Schema documents into different data-interchange formats.
-
JSON Schema $Ref Parser
- Parse, resolve, and dereference JSON Schema $ref pointers
JSON Schema Resources
-
Understanding JSON Schema - A website aiming to provide more accessible documentation for JSON schema.
-
JSON Schema Store - A collection of popular schemas.
-
Using JSON Schema - a Book and GitHub project, showing how JSON Schema can be used for a variety of tasks and in different programming contexts.
-
Awesome JSON Schema
- A curated list of awesome JSON Schema resources, tutorials, tools, and more.
JSON Schema Validators
Javascript and Node.js
-
json-schema-benchmark
- Performance benchmark for Node.js validators.
-
is-my-json-valid
- A validator that uses code generation to be extremely fast.
-
jsen
- A validator built for speed.
-
themis
- A blazing fast validator.
-
jsck
- JSON Schema Compiled checK.
-
z-schema
- validator written in JavaScript for NodeJS and Browsers.
-
jjv
- Javascript Library for Schema Validation.
-
request-validator
- Flexible request validator middleware for express and connect.
-
tv4
- Tiny Validator.
-
ajv
- The fastest validator. Supports v5/6 proposals.
Java and Kotlin
-
Medeia Validator
- Compliant (draft-04/06/07) and fast streaming validator written in Kotlin
PHP
Python
-
jsonschema
- Python implementation of jsonschema.
-
JSON Schema Toolkit
- Programmatic building of JSON schemas (recursive field mappings) with validation, a Django JSON Field, and native PostgreSQL JSON type constraints.
Ruby
Contribute
Contributions welcome! Read the contribution guidelines first.
License
