jsonwebtoken.io

Website review jsonwebtoken.io

GitHub - jwtk/jjwt: Java JWT: JSON Web Token for Java and Android

 Generated on February 14 2026 07:16 AM

Old data? UPDATE !

The score is 40/100

SEO Content

Title

GitHub - jwtk/jjwt: Java JWT: JSON Web Token for Java and Android

Length : 65

Perfect, your title contains between 10 and 70 characters.

Description

Java JWT: JSON Web Token for Java and Android. Contribute to jwtk/jjwt development by creating an account on GitHub.

Length : 116

Great, your meta description contains between 70 and 160 characters.

Keywords

Very bad. We haven't found meta keywords on your page. Use this free online meta tags generator to create keywords.

Og Meta Properties

Good, your page take advantage of Og Properties.

Property Content
image https://repository-images.githubusercontent.com/23982180/be9cc080-a4c4-11e9-8838-bc75cb09f014
image:alt Java JWT: JSON Web Token for Java and Android. Contribute to jwtk/jjwt development by creating an account on GitHub.
site_name GitHub
type object
title GitHub - jwtk/jjwt: Java JWT: JSON Web Token for Java and Android
url https://github.com/jwtk/jjwt
description Java JWT: JSON Web Token for Java and Android. Contribute to jwtk/jjwt development by creating an account on GitHub.

Headings

H1 H2 H3 H4 H5 H6
5 32 65 50 15 0
  • [H1] Search code, repositories, users, issues, pull requests...
  • [H1] Provide feedback
  • [H1] Saved searches
  • [H1] jwtk/jjwt
  • [H1] Java JWT: JSON Web Token for Java and Android
  • [H2] Navigation Menu
  • [H2] Use saved searches to filter your results more quickly
  • [H2] Folders and files
  • [H2] Latest commit
  • [H2] History
  • [H2] Repository files navigation
  • [H2] Table of Contents
  • [H2] Features
  • [H2] Community
  • [H2] What is a JSON Web Token?
  • [H2] Installation
  • [H2] Quickstart
  • [H2] Creating a JWT
  • [H2] Reading a JWT
  • [H2] Signed JWTs
  • [H2] Encrypted JWTs
  • [H2] JSON Web Keys (JWKs)
  • [H2] JWK Sets
  • [H2] Compression
  • [H2] JSON Support
  • [H2] Base64 Support
  • [H2] Examples
  • [H2] Learn More
  • [H2] Author
  • [H2] License
  • [H2] About
  • [H2] Releases 9
  • [H2] Packages 0
  • [H2] Used by 265k
  • [H2] Contributors 65
  • [H2] Languages
  • [H2] Footer
  • [H3] License
  • [H3] Currently Unsupported Features
  • [H3] Getting Help
  • [H3] Contributing
  • [H3] JWT Example
  • [H3] JWS Example
  • [H3] JWE Example
  • [H3] JDK Projects
  • [H3] Android Projects
  • [H3] Understanding JJWT Dependencies
  • [H3] JWT Header
  • [H3] JWT Payload
  • [H3] JWT Compression
  • [H3] Constant Parsing Key
  • [H3] Dynamic Key Lookup
  • [H3] Claim Assertions
  • [H3] Accounting for Clock Skew
  • [H3] JWT Decompression
  • [H3] Standard Signature Algorithms
  • [H3] Signature Algorithms Keys
  • [H3] Creating a JWS
  • [H3] Reading a JWS
  • [H3] Unencoded Payload Option
  • [H3] JWE Encryption Algorithms
  • [H3] JWE Key Management Algorithms
  • [H3] Creating a JWE
  • [H3] Reading a JWE
  • [H3] Create a JWK
  • [H3] Read a JWK
  • [H3] PrivateKey JWKs
  • [H3] JWK Thumbprints
  • [H3] JWK Security Considerations
  • [H3] Create a JWK Set
  • [H3] Read a JWK Set
  • [H3] Custom Compression Algorithm
  • [H3] Custom JSON Processor
  • [H3] Jackson JSON Processor
  • [H3] Gson JSON Processor
  • [H3] Understanding Base64 in Security Contexts
  • [H3] Custom Base64
  • [H3] JWT Signed with HMAC
  • [H3] JWT Signed with RSA
  • [H3] JWT Signed with ECDSA
  • [H3] JWT Signed with EdDSA
  • [H3] JWT Encrypted Directly with a SecretKey
  • [H3] JWT Encrypted with RSA
  • [H3] JWT Encrypted with AES Key Wrap
  • [H3] JWT Encrypted with ECDH-ES
  • [H3] JWT Encrypted with a Password
  • [H3] SecretKey JWK
  • [H3] RSA Public JWK
  • [H3] RSA Private JWK
  • [H3] Elliptic Curve Public JWK
  • [H3] Elliptic Curve Private JWK
  • [H3] Edwards Elliptic Curve Public JWK
  • [H3] Edwards Elliptic Curve Private JWK
  • [H3] Topics
  • [H3] Resources
  • [H3] License
  • [H3] Security policy
  • [H3] Uh oh!
  • [H3] Stars
  • [H3] Watchers
  • [H3] Forks
  • [H3] Footer navigation
  • [H4] Questions
  • [H4] Bugs, Feature Requests, Ideas and General Discussions
  • [H4] Pull Requests
  • [H4] Help Wanted
  • [H4] Maven
  • [H4] Gradle
  • [H4] Dependencies
  • [H4] Proguard
  • [H4] Bouncy Castle
  • [H4] JwtBuilder Header
  • [H4] Jwts HeaderBuilder
  • [H4] Arbitrary Content
  • [H4] JWT Claims
  • [H4] Multiple Keys?
  • [H4] Key Locator
  • [H4] Key Locator Strategy
  • [H4] Key Locator Return Values
  • [H4] Provider-constrained Keys
  • [H4] Custom Clock Support
  • [H4] HMAC-SHA
  • [H4] RSA
  • [H4] Elliptic Curve
  • [H4] Edwards Curve
  • [H4] Creating Safe Keys
  • [H4] Signing Key
  • [H4] JWS Compression
  • [H4] Verification Key
  • [H4] Verification Key Locator
  • [H4] JWS Decompression
  • [H4] Benefits
  • [H4] Disadvantages
  • [H4] Detached Payload Example
  • [H4] Non-Detached Payload Example
  • [H4] Symmetric Ciphers
  • [H4] JWE Standard Key Management Algorithms
  • [H4] JWE Compression
  • [H4] Decryption Key
  • [H4] Decryption Key Locator
  • [H4] ECDH-ES Decryption with PKCS11 PrivateKeys
  • [H4] JWE Decompression
  • [H4] JWK from a Map
  • [H4] Private JWK PublicKey
  • [H4] Private JWK from KeyPair
  • [H4] Private JWK Public Conversion
  • [H4] JWK Thumbprint as a Key ID
  • [H4] JWK Thumbprint URI
  • [H4] JWK toString() Safety
  • [H4] Parsing of Custom Claim Types
  • [H4] Base64 is not encryption
  • [H4] Changing Base64 Characters
  • [H5] Custom Header Parameters
  • [H5] Header Parameter Map
  • [H5] Standard Claims
  • [H5] Custom Claims
  • [H5] Claims Map
  • [H5] Secret Keys
  • [H5] Asymmetric Keys
  • [H5] SecretKey Formats
  • [H5] SignatureAlgorithm Override
  • [H5] RSA Key Encryption
  • [H5] AES Key Encryption
  • [H5] Direct Key Encryption
  • [H5] Password-Based Key Encryption
  • [H5] Elliptic Curve Diffie-Hellman Ephemeral Static Key Agreement (ECDH-ES)
  • [H5] Adding Invalid Characters

Images

We found 26 images on this web page.

Good, most or all of your images have alt attributes.

Text/HTML Ratio

Ratio : 0%

This page's ratio of text to HTML code is below 15 percent, this means that your website probably needs more text content.

Flash

Perfect, no Flash content has been detected on this page.

Iframe

Great, there are no Iframes detected on this page.

URL Rewrite

Bad. Your links have query string.

Underscores in the URLs

We have detected underscores in your URLs. You should rather use hyphens to optimize your SEO.

In-page links

We found a total of 300 links including 9 link(s) to files

Anchor Type Juice
Skip to content Internal Passing Juice
Sign in Internal Passing Juice
Search syntax tips External Passing Juice
Sign up Internal Passing Juice
jwtk Internal Passing Juice
jjwt Internal Passing Juice
.github Internal Passing Juice
api Internal Passing Juice
bom Internal Passing Juice
extensions Internal Passing Juice
impl Internal Passing Juice
tdjar Internal Passing Juice
.gitignore Internal Passing Juice
CHANGELOG.md Internal Passing Juice
LICENSE Internal Passing Juice
NOTICE.md Internal Passing Juice
README.adoc Internal Passing Juice
SECURITY.md Internal Passing Juice
mvnw Internal Passing Juice
mvnw.cmd Internal Passing Juice
pom.xml Internal Passing Juice
JOSE Working Group External noFollow
RFC 7519: JSON Web Token (JWT) External noFollow
RFC 7515: JSON Web Signature (JWS) External noFollow
RFC 7516: JSON Web Encryption (JWE) External noFollow
RFC 7517: JSON Web Key (JWK) External noFollow
RFC 7518: JSON Web Algorithms (JWA) External noFollow
RFC 7638: JSON Web Key Thumbprint External noFollow
RFC 9278: JSON Web Key Thumbprint URI External noFollow
RFC 7797: JWS Unencoded Payload Option External noFollow
RFC 8037: Edwards Curve algorithms and JWKs External noFollow
Les Hazlewood External Passing Juice
community External Passing Juice
Apache 2.0 License External noFollow
Features Internal Passing Juice
Currently Unsupported Features Internal Passing Juice
Community Internal Passing Juice
Getting Help Internal Passing Juice
Questions Internal Passing Juice
Bugs, Feature Requests, Ideas and General Discussions Internal Passing Juice
Contributing Internal Passing Juice
Pull Requests Internal Passing Juice
Help Wanted Internal Passing Juice
What is a JSON Web Token? Internal Passing Juice
JWT Example Internal Passing Juice
JWS Example Internal Passing Juice
JWE Example Internal Passing Juice
Installation Internal Passing Juice
JDK Projects Internal Passing Juice
Maven Internal Passing Juice
Gradle Internal Passing Juice
Android Projects Internal Passing Juice
Dependencies Internal Passing Juice
Proguard Internal Passing Juice
Bouncy Castle Internal Passing Juice
Understanding JJWT Dependencies Internal Passing Juice
Quickstart Internal Passing Juice
Creating a JWT Internal Passing Juice
JWT Header Internal Passing Juice
JwtBuilder Header Internal Passing Juice
Custom Header Parameters Internal Passing Juice
Header Parameter Map Internal Passing Juice
Jwts HeaderBuilder Internal Passing Juice
JWT Payload Internal Passing Juice
Arbitrary Content Internal Passing Juice
JWT Claims Internal Passing Juice
Standard Claims Internal Passing Juice
Custom Claims Internal Passing Juice
Claims Map Internal Passing Juice
JWT Compression Internal Passing Juice
Reading a JWT Internal Passing Juice
Constant Parsing Key Internal Passing Juice
Multiple Keys? Internal Passing Juice
Dynamic Key Lookup Internal Passing Juice
Key Locator Internal Passing Juice
Key Locator Strategy Internal Passing Juice
Key Locator Return Values Internal Passing Juice
Provider-constrained Keys Internal Passing Juice
Claim Assertions Internal Passing Juice
Accounting for Clock Skew Internal Passing Juice
Custom Clock Support Internal Passing Juice
JWT Decompression Internal Passing Juice
Signed JWTs Internal Passing Juice
Standard Signature Algorithms Internal Passing Juice
Signature Algorithms Keys Internal Passing Juice
HMAC-SHA Internal Passing Juice
RSA Internal Passing Juice
Elliptic Curve Internal Passing Juice
Edwards Curve Internal Passing Juice
Creating Safe Keys Internal Passing Juice
Secret Keys Internal Passing Juice
Asymmetric Keys Internal Passing Juice
Creating a JWS Internal Passing Juice
Signing Key Internal Passing Juice
SecretKey Formats Internal Passing Juice
SignatureAlgorithm Override Internal Passing Juice
JWS Compression Internal Passing Juice
Reading a JWS Internal Passing Juice
Verification Key Internal Passing Juice
Verification Key Locator Internal Passing Juice
JWS Decompression Internal Passing Juice
Unencoded Payload Option Internal Passing Juice
Benefits Internal Passing Juice
Disadvantages Internal Passing Juice
Detached Payload Example Internal Passing Juice
Non-Detached Payload Example Internal Passing Juice
Encrypted JWTs Internal Passing Juice
JWE Encryption Algorithms Internal Passing Juice
Symmetric Ciphers Internal Passing Juice
JWE Key Management Algorithms Internal Passing Juice
JWE Standard Key Management Algorithms Internal Passing Juice
RSA Key Encryption Internal Passing Juice
AES Key Encryption Internal Passing Juice
Direct Key Encryption Internal Passing Juice
Password-Based Key Encryption Internal Passing Juice
Elliptic Curve Diffie-Hellman Ephemeral Static Key Agreement (ECDH-ES) Internal Passing Juice
Creating a JWE Internal Passing Juice
JWE Compression Internal Passing Juice
Reading a JWE Internal Passing Juice
Decryption Key Internal Passing Juice
Decryption Key Locator Internal Passing Juice
ECDH-ES Decryption with PKCS11 PrivateKeys Internal Passing Juice
JWE Decompression Internal Passing Juice
JSON Web Keys (JWKs) Internal Passing Juice
Create a JWK Internal Passing Juice
JWK from a Map Internal Passing Juice
Read a JWK Internal Passing Juice
PrivateKey JWKs Internal Passing Juice
Private JWK from KeyPair Internal Passing Juice
Private JWK Public Conversion Internal Passing Juice
JWK Thumbprints Internal Passing Juice
JWK Thumbprint as a Key ID Internal Passing Juice
JWK Thumbprint URI Internal Passing Juice
JWK Security Considerations Internal Passing Juice
JWK Sets Internal Passing Juice
Create a JWK Set Internal Passing Juice
Read a JWK Set Internal Passing Juice
Compression Internal Passing Juice
Custom Compression Algorithm Internal Passing Juice
JSON Support Internal Passing Juice
Custom JSON Processor Internal Passing Juice
Jackson JSON Processor Internal Passing Juice
Parsing of Custom Claim Types Internal Passing Juice
Gson JSON Processor Internal Passing Juice
Base64 Support Internal Passing Juice
Understanding Base64 in Security Contexts Internal Passing Juice
Base64 is not encryption Internal Passing Juice
Changing Base64 Characters Internal Passing Juice
Adding Invalid Characters Internal Passing Juice
Custom Base64 Internal Passing Juice
Examples Internal Passing Juice
JWT Signed with HMAC Internal Passing Juice
JWT Signed with RSA Internal Passing Juice
JWT Signed with ECDSA Internal Passing Juice
JWT Signed with EdDSA Internal Passing Juice
JWT Encrypted Directly with a SecretKey Internal Passing Juice
JWT Encrypted with RSA Internal Passing Juice
JWT Encrypted with AES Key Wrap Internal Passing Juice
JWT Encrypted with ECDH-ES Internal Passing Juice
JWT Encrypted with a Password Internal Passing Juice
SecretKey JWK Internal Passing Juice
RSA Public JWK Internal Passing Juice
RSA Private JWK Internal Passing Juice
Elliptic Curve Public JWK Internal Passing Juice
Elliptic Curve Private JWK Internal Passing Juice
Edwards Elliptic Curve Public JWK Internal Passing Juice
Edwards Elliptic Curve Private JWK Internal Passing Juice
Learn More Internal Passing Juice
Author Internal Passing Juice
License Internal Passing Juice
fluent External noFollow
AES_128_CBC_HMAC_SHA_256 External noFollow
AES_192_CBC_HMAC_SHA_384 External noFollow
AES_256_CBC_HMAC_SHA_512 External noFollow
Non-compact External noFollow
ask your question here External Passing Juice
discuss it here External Passing Juice
Help Wanted Issues External Passing Juice
contributing pull requests Internal Passing Juice
Registered Claims External noFollow
Authenticated Encryption with Associated Data External noFollow
JDK project Internal Passing Juice
Android project Internal Passing Juice
Android Proguard External noFollow
dependencies Internal Passing Juice
content Internal Passing Juice
digitally signing Internal Passing Juice
encrypting Internal Passing Juice
recommended compact format External noFollow
standard claim name Internal Passing Juice
Configure the Provider in the JVM External noFollow
Security.addProvider(Provider) External noFollow
RFC 7518, Sections 3.2 through 3.5 External noFollow
RFC 7512 Section 3.2 External noFollow
3.3 External noFollow
3.5 External noFollow
RFC 7512 Section 3.4 External noFollow
Base64-encoding is not encryption Internal Passing Juice
encoded byte array External noFollow
TLS does not guarantee end-to-end security External noFollow
MUST External noFollow
security considerations External noFollow
Authenticated Encryption External noFollow
encryption algorithm Internal Passing Juice
4.2 External noFollow
4.3 External noFollow
OWASP PBKDF2 recommended External noFollow
epk header External noFollow
NIST.800-56A External noFollow
PartyUInfo External noFollow
PartyVInfo External noFollow
header Internal Passing Juice
claims Internal Passing Juice
ECKey External noFollow
EdECKey External noFollow
SunPKCS11 Provider External noFollow
Provider-constrained Keys Internal Passing Juice
DEFLATE External noFollow
GZIP External noFollow
JSON Web Keys External noFollow
DER, PEM and PKCS12 External noFollow
JSON deserializer Internal Passing Juice
RFC 7518, Section 6.1.1 External noFollow
RFC 7518, Section 6.3.2 External noFollow
IANA Named Information Hash Algorithm Registry External noFollow
RFC 7515, Appendix A.1.1 External noFollow
JWK Set External noFollow
JWK Internal Passing Juice
described above Internal Passing Juice
Base64 External noFollow
Base64 External noFollow
Base64URL External noFollow
Changing Base64 characters Internal Passing Juice
answers External noFollow
JJWT issue comments External Passing Juice
good answer External noFollow
Robustness Principle External noFollow
JJWT Issue #518 External Passing Juice
JWS Signed with HMAC Internal Passing Juice
JWS Signed with RSA Internal Passing Juice
JWS Signed with ECDSA Internal Passing Juice
JWS Signed with EdDSA Internal Passing Juice
JWE Encrypted Directly with a SecretKey Internal Passing Juice
JWE Encrypted with RSA Internal Passing Juice
JWE Encrypted with AES Key Wrap Internal Passing Juice
JWE Encrypted with ECDH-ES Internal Passing Juice
JWE Encrypted with a Password Internal Passing Juice
SecretKey JWK Internal Passing Juice
RSA Public JWK Internal Passing Juice
RSA Private JWK Internal Passing Juice
Elliptic Curve Public JWK Internal Passing Juice
Elliptic Curve Private JWK Internal Passing Juice
Edwards Elliptic Curve Public JWK Internal Passing Juice
Edwards Elliptic Curve Private JWK Internal Passing Juice
HMAC External noFollow
6 standard RSA signing algorithms Internal Passing Juice
RSA keys 2048-bits or larger Internal Passing Juice
Edwards Curve Digital Signature Algorithm External noFollow
RFC 8037, Section 3.1 External noFollow
directly using a symmetric secret key Internal Passing Juice
RSA Key Encryption Internal Passing Juice
AES Key Encryption Internal Passing Juice
Elliptic Curve Diffie-Hellman Ephemeral Static Key Agreement Internal Passing Juice
Password-based Key Encryption Internal Passing Juice
JSON Web Token for Java and Android External noFollow
How to Create and Verify JWTs in Java External noFollow
Where to Store Your JWTs - Cookies vs HTML5 Web Storage External noFollow
Use JWT the Right Way! External noFollow
Token Authentication for Java Applications External noFollow
JJWT Changelog Internal Passing Juice
java Internal Passing Juice
json Internal Passing Juice
jwt Internal Passing Juice
jackson Internal Passing Juice
jwt-claims Internal Passing Juice
jwt-tokens Internal Passing Juice
jwt-token Internal Passing Juice
jwk Internal Passing Juice
jwe Internal Passing Juice
jws Internal Passing Juice
jwt-bearer-tokens Internal Passing Juice
jwt-authentication Internal Passing Juice
jwt-server Internal Passing Juice
jwt-auth Internal Passing Juice
hacktoberfest Internal Passing Juice
jwkset Internal Passing Juice
java-jwt Internal Passing Juice
jjwt Internal Passing Juice
jwk-thumbprint Internal Passing Juice
jwk-thumbprint-uri Internal Passing Juice
Report repository Internal Passing Juice
+ 8 releases Internal Passing Juice
+ 51 contributors Internal Passing Juice
Terms External Passing Juice
Privacy External Passing Juice
Security External Passing Juice
Status External Passing Juice
Community External Passing Juice
Docs External Passing Juice
Contact External Passing Juice

SEO Keywords

Keywords Cloud

Keywords Consistency

Keyword Content Title Keywords Description Headings

Usability

Url

Domain : jsonwebtoken.io

Length : 15

Favicon

Great, your website has a favicon.

Printability

We could not find a Print-Friendly CSS.

Language

Good. Your declared language is en.

Dublin Core

This page does not take advantage of Dublin Core.

Document

Doctype

HTML 5

Encoding

Perfect. Your declared charset is UTF-8.

W3C Validity

Errors : 0

Warnings : 0

Email Privacy

Great no email address has been found in plain text!

Deprecated HTML

Great! We haven't found deprecated HTML tags in your HTML.

Speed Tips

Attention! Try to avoid nested tables in HTML.
Too bad, your website is using inline styles.
Too bad, your website has too many CSS files (more than 4).
Too bad, your website has too many JS files (more than 6).
Perfect, your website takes advantage of gzip.

Mobile

Mobile Optimization

Apple Icon
Meta Viewport Tag
Flash content

Optimization

XML Sitemap

Missing

Your website does not have an XML sitemap - this can be problematic.

A sitemap lists URLs that are available for crawling and can include additional information like your site's latest updates, frequency of changes and importance of the URLs. This allows search engines to crawl the site more intelligently.

Robots.txt

https://jsonwebtoken.io/robots.txt

Great, your website has a robots.txt file.

Analytics

Missing

We didn't detect an analytics tool installed on this website.

Web analytics let you measure visitor activity on your website. You should have at least one analytics tool installed, but It can also be good to install a second in order to cross-check the data.

PageSpeed Insights


Device
Categories

Free SEO Testing Tool

Free SEO Testing Tool is a free SEO tool which provides you content analysis of the website.