jpadilla
pyjwt
Python

JSON Web Token implementation in Python

Last updated Jul 6, 2026
5.7k
Stars
772
Forks
59
Issues
+2
Stars/day
Attention Score
86
Language breakdown
Python 100.0%
โ–ธ Files click to expand
README

PyJWT =====

.. image:: https://github.com/jpadilla/pyjwt/workflows/CI/badge.svg :target: https://github.com/jpadilla/pyjwt/actions?query=workflow%3ACI

.. image:: https://img.shields.io/pypi/v/pyjwt.svg :target: https://pypi.python.org/pypi/pyjwt

.. image:: https://codecov.io/gh/jpadilla/pyjwt/branch/master/graph/badge.svg :target: https://codecov.io/gh/jpadilla/pyjwt

.. image:: https://readthedocs.org/projects/pyjwt/badge/?version=stable :target: https://pyjwt.readthedocs.io/en/stable/

A Python implementation of RFC 7519 <https://tools.ietf.org/html/rfc7519>. Original implementation was written by @progrium <https://github.com/progrium>.

Sponsor


.. |auth0-logo| image:: https://github.com/user-attachments/assets/ee98379e-ee76-4bcb-943a-e25c4ea6d174 :width: 160px

+--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |auth0-logo| | If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at auth0.com/signup <https://auth0.com/signup?utmsource=externalsites&utmmedium=pyjwt&utmcampaign=devnsignup>. | +--------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Installing


Install with pip:

.. code-block:: console

$ pip install PyJWT

Usage


.. code-block:: pycon

>>> import jwt >>> encoded = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") >>> print(encoded) eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg >>> jwt.decode(encoded, "secret", algorithms=["HS256"]) {'some': 'payload'}

Documentation


View the full docs online at https://pyjwt.readthedocs.io/en/stable/

Tests


You can run tests from the project root after cloning with:

.. code-block:: console

$ tox

ยฉ 2026 GitRepoTrend ยท jpadilla/pyjwt ยท Updated daily from GitHub