skillfed

ujson

Ultra fast JSON encoder and decoder for Python

ujson Permissive license BSD-3-Clause AND TCL Active 4,495 v5.13.0 released

Install

ujson on PyPI

pip

pip install ujson

uv

uv add ujson

poetry

poetry add ujson

Package facts

License BSD-3-Clause AND TCL (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 60 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: ujson-5.13.0-cp310-cp310-macosx_10_9_x86_64.whl; ujson-5.13.0-cp310-cp310-macosx_11_0_arm64.whl; ujson-5.13.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; ujson-5.13.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; ujson-5.13.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; ujson-5.13.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; ujson-5.13.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; ujson-5.13.0-cp310-cp310-musllinux_1_2_aarch64.whl; ujson-5.13.0-cp310-cp310-musllinux_1_2_i686.whl; ujson-5.13.0-cp310-cp310-musllinux_1_2_x86_64.whl; ujson-5.13.0-cp310-cp310-win32.whl; ujson-5.13.0-cp310-cp310-win_amd64.whl; ujson-5.13.0-cp310-cp310-win_arm64.whl; ujson-5.13.0-cp311-cp311-macosx_10_9_x86_64.whl; ujson-5.13.0-cp311-cp311-macosx_11_0_arm64.whl; ujson-5.13.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; ujson-5.13.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; ujson-5.13.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; ujson-5.13.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; ujson-5.13.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: CProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: GraalPyProgramming Language :: Python :: Implementation :: PyPyTyping :: Typed

About ujson

from the package's own PyPI description — quoted content, verbatim

UltraJSON

PyPI version (image) Supported Python versions (image) PyPI downloads (image) GitHub Actions status (image) codecov (image) DOI (image) Code style: Black (image)

UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python.

Install with pip:

python -m pip install ujson

Project status

> [!WARNING] > UltraJSON's architecture is fundamentally ill-suited to making changes without > risk of introducing new security vulnerabilities. As a result, this library > has...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Ultra-fast JSON encoder and decoder written in C with Python bindings, offering a drop-in replacement for standard JSON libraries with optional HTML escaping, ASCII enforcement, and pretty-printing.

Medium install friction due to compiled C extensions requiring platform-specific wheels; however, wheels are provided for Python 3.10–3.15 across macOS, Linux (multiple architectures), and Windows, and the package is actively maintained with a recent release.

Dual-licensed under BSD-3-Clause and TCL (permissive), allowing commercial and private use with minimal restrictions; attribution and license text inclusion are required.

Usage

pip install ujson
import ujson
result = ujson.dumps({"key": "value"})
data = ujson.loads('[{"key": "value"}, 81, true]')

Requires Python 3.10 or later; compiled C extension wheels must match your platform and Python version.

Verdict: Actively maintained, production-stable JSON library with no known vulnerabilities and strong platform coverage. Maintenance-only status and explicit recommendation to migrate to orjson for new projects signal architectural limitations, but it remains a solid choice for existing codebases requiring fast JSON processing without introducing new dependencies.

Needs verification

  • Whether medium install friction materially impacts typical deployment workflows or is offset by wheel availability
  • Real-world performance gains versus standard library json in typical application scenarios
  • Scope and likelihood of the buffer overflow vulnerabilities mentioned in the maintenance warning
fast json encoder decoderhigh performance json parsingc json library pythonjson serialization speedultra fast jsonjson performance optimizationdrop-in json replacement

Similar packages