JWT 生成器

开发与联调时常需签发带特定 exp、aud 与自定义声明的测试 JWT。本工具在浏览器本地用 HS256 等算法生成 JWT,便于模拟登录态或复现鉴权边界条件。生成后可用 jwt-decoder 验证结构与过期时间;生产密钥切勿粘贴到任何在线工具,验签逻辑应在服务端完成。

阅读完整指南: JWT 安全入门:解码、验证与常见误区 →

隐私提示:本地解析,不上传服务器。

↓ 在下方输入区粘贴内容,结果会立即显示

使用 HS256 与共享密钥在浏览器本地签发 JWT; 适合开发调试,生产密钥勿暴露在前端。

密钥 (Secret)

Payload (JSON)

开发与联调时常需签发带特定 exp、aud 与自定义声明的测试 JWT。本工具在浏览器本地用 HS256 等算法生成 JWT,便于模拟登录态或复现鉴权边界条件。生成后可用 jwt-decoder 验证结构与过期时间;生产密钥切勿粘贴到任何在线工具,验签逻辑应在服务端完成。

快速开始

  1. 填写密钥

    HS256 共享密钥。

  2. 编辑 Payload

    JSON 对象; 默认含 sub/iat/exp。

  3. 生成并复制

    复制 Token 到 jwt-decoder 验证。

与解码器配合

生成后立即用 jwt-decoder 查看 Header/Payload 与过期警告。

安全

客户端签发不适合生产鉴权; 真实 Token 应在服务端用密钥签名。

典型工作流

当开发API接口时,常需生成测试用JWT。打开工具后:1) 在Payload区域输入JSON(如{"user_id":123});2) 设置HS256算法;3) 输入测试密钥(如'your-256-bit-secret');4) 点击生成按钮复制结果。全程数据不离开你的浏览器。

将生成的JWT粘贴到API请求的Authorization头(格式:Bearer <token>),或用本站jwt-decoder验证内容。调试JWT过期时间时,修改Payload的exp字段为UNIX时间戳(如1698765432)。注意HS256为对称加密,生产环境应使用RS256。

仅用于开发

在线生成 JWT 绝不可用于生产签发——secret 暴露于浏览器与 DevTools。生产必须在服务端 KMS/HSM 签名。生成后 jwt-decoder 验证 claims。

HS256 需共享 secret;RS256 需私钥——本工具 HS 场景适合本地联调。aud/iss/exp 应匹配 staging API 配置。

Claims 设计

sub 标识用户;jti 支持吊销;scope 空格分隔权限。过长的 custom claims 增大 header 体积——注意 cookie/header 限制。

与 jwt-decoder 对照 oauth 标准 claims 列表;json-formatter 格式化 IdP 返回的 JSON metadata。

安全清理

生成后立即清空 secret 输入;勿截图含 secret 的标签。若 secret 曾粘贴到共享机器,轮换 staging secret。

生产 leak 走 incident:revoke refresh tokens、rotate keys。

示例

示例

Input

secret + {"sub":"user"}

Output

eyJhbGciOiJIUzI1NiIs…

FAQ

支持 RS256 吗?

当前仅 HS256; 非对称算法需私钥管理。

会上传密钥吗?

不会; 本地 Web Crypto 签名。

为什么提示Invalid payload?

Payload必须是严格JSON格式:1) 所有键名用双引号包裹;2) 字符串值用双引号;3) 禁用注释和尾随逗号。例如{"sub":"user1"}有效,但{sub:'user1'}或{"age":30,}无效。建议先用JSON验证工具检查语法。

能生成 RS256 吗?

视工具能力;私钥勿粘贴生产 key。

与 IdP token 一样吗?

结构类似;生产 token 必须 IdP 签发。

secret 上传吗?

否,本地签名。

exp 设多长?

access token 常 5–15 分钟;refresh 更长,存 httpOnly cookie。