HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ijl
orjson
Python2018–2026
ijl / orjson

orjson

Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy

8Distinct people
12Mentions
1Explicit recommenders
8.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

Not out of the box. For example, the fastest (and my favorite) JSON (de)serializer available for Python, orjson[1], does not support pypy. [1] https://github.com/ijl/orjson

fastball used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year12 dated mentions

Observed mentions: 2018-12-19 14:46:30 UTC to 2026-02-15 10:20:15 UTC.

01232018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC312
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC110
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC321
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC211

What Hacker News says

12 sources
orjson is a fast, correct JSON library for Python. It benchmarks as the fastest Python library for JSON and is more correct than the standard json library or other third-party libraries. It serializes dataclass, datetime, numpy, and UUID instances natively. Despite not being 100% compatible, it is often used as replacement of than JSON functions in core Python 3. As of Jan 29th 2026 (https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c05...) open issue tracker or pull requests has been removed from the orjson repo due to signal-to-noise ratio. Might be due to high amount of LLM-assisted noisy bug reports and/or PRs that are plagueing various projects on Github. It is unfortunate that even old issues won't be accessible for reference. What do you guys think?
In Orjson no more open issue tracker or pull requests due to signal-to-noise ratio
I'm really surprised ijl got angry that his mail was quoted, it looks innocent enough to me. For reference it's been edited out here: https://github.com/pydantic/pydantic/issues/589 But github shows edits, so the edit is meaningless for privacy. Here's the original mail (yes, I'm blatantly ignoring his request to not publish this, I'm just this evil.) I've looked into replacing ujson in pydantic with orjson (https://github.com/ijl/orjson). In this implementation, the same JSON library is used for everything, and JSON outputs bytes without whitespace (as it's faster and JSON is a serialization format). If orjson is installed, it won't affect pydantic's benchmark for validation, but can be expected to improve whole-program performance. It's a large change with breaking changes to JSON methods, however, so ra
Read the rest
ther than opening a pull request now, could you take a look and see if that's consistent and acceptable to the project? https://github.com/ijl/pydantic/commit/7c08f41edd340614d7c58888f025665dbc71d0e3 That passes tests, but that's all. I'll clean it up or modify if the idea's acceptable. Thanks.
In JSON extra uses orjson instead of ujson (2019)
I asked about this on the Github issue regarding these benchmarks as well. I'm curious as to why libraries like ultrajson[0] and orjson[1] weren't explored. They aren't command line tools, but neither is pandas (which is benchmarked) right? Is it perhaps because the code required to implement the challenges is large enough that they are considered too inconvenient to use through the same way pandas was used (ie, `python -c "..."`)? [0] https://github.com/ultrajson/ultrajson [1] https://github.com/ijl/orjson
In The fastest tool for querying large JSON files is written in Python (benchmark)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.