1:"$Sreact.fragment" 2:I[22016,["/_next/static/chunks/07d-w61p1a6it.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/0an3h71pfhg8p.js"],""] 3:I[48431,["/_next/static/chunks/07d-w61p1a6it.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/0an3h71pfhg8p.js"],"ToolRenderer"] 4:I[4128,["/_next/static/chunks/07d-w61p1a6it.js","/_next/static/chunks/14mrh2-p_w84d.js","/_next/static/chunks/0an3h71pfhg8p.js"],"FaqAccordion"] a:I[97367,["/_next/static/chunks/07d-w61p1a6it.js","/_next/static/chunks/14mrh2-p_w84d.js"],"OutletBoundary"] b:"$Sreact.suspense" 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"mx-auto max-w-4xl px-4 py-10 sm:px-6","children":[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is my secret sent anywhere?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Signing uses the browser's native SubtleCrypto API entirely client-side — your secret and payload never leave your device.\"}},{\"@type\":\"Question\",\"name\":\"Why use Web Crypto instead of a JS JWT library?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Most popular JWT libraries (like jsonwebtoken) depend on Node's crypto module and aren't safe or intended to run in the browser. Web Crypto's SubtleCrypto HMAC API covers HS256 signing and verification natively.\"}}]}"}}],["$","nav",null,{"className":"mb-4 flex items-center gap-1.5 text-sm text-slate-500 dark:text-slate-400","children":[["$","$L2",null,{"href":"/","className":"hover:text-indigo-600 dark:hover:text-indigo-400","children":"Home"}],["$","span",null,{"children":"/"}],["$","$L2",null,{"href":"/tools","className":"hover:text-indigo-600 dark:hover:text-indigo-400","children":"Tools"}],[["$","span",null,{"children":"/"}],["$","span",null,{"children":"JWT Tools"}]]]}],["$","h1",null,{"className":"text-2xl font-bold text-slate-900 sm:text-3xl dark:text-slate-100","children":"JWT Generator"}],["$","p",null,{"className":"mt-2 text-slate-600 dark:text-slate-400","children":"Create and sign an HS256 JWT, or verify a token's signature."}],["$","div",null,{"className":"mt-6","children":["$","$L3",null,{"componentKey":"jwt-generator"}]}],["$","section",null,{"className":"mt-12 space-y-3","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-900 dark:text-slate-100","children":"What it does"}],["$","p",null,{"className":"text-slate-600 dark:text-slate-400","children":"Enter a JSON payload and a secret, and this tool signs a JWT using HMAC-SHA256 (HS256) via your browser's native Web Crypto API. It can also verify whether an existing HS256 token's signature matches a given secret."}]]}],["$","section",null,{"className":"mt-10 space-y-3","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-900 dark:text-slate-100","children":"Common errors"}],["$","ul",null,{"className":"space-y-3","children":[["$","li","Only HS256 is supported",{"children":[["$","p",null,{"className":"font-medium text-slate-800 dark:text-slate-200","children":"Only HS256 is supported"}],["$","p",null,{"className":"text-sm text-slate-600 dark:text-slate-400","children":"This generator signs and verifies HS256 (HMAC) tokens only. RS256/ES256 (asymmetric) tokens require a private/public key pair and aren't supported here."}]]}]]}]]}],"$undefined",["$","section",null,{"className":"mt-10 space-y-3","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-900 dark:text-slate-100","children":"FAQ"}],["$","$L4",null,{"faqs":[{"question":"Is my secret sent anywhere?","answer":"No. Signing uses the browser's native SubtleCrypto API entirely client-side — your secret and payload never leave your device."},{"question":"Why use Web Crypto instead of a JS JWT library?","answer":"Most popular JWT libraries (like jsonwebtoken) depend on Node's crypto module and aren't safe or intended to run in the browser. Web Crypto's SubtleCrypto HMAC API covers HS256 signing and verification natively."}]}]]}],["$","section",null,{"className":"mt-10 space-y-3","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-900 dark:text-slate-100","children":"Related tools"}],["$","div",null,{"className":"grid grid-cols-1 gap-3 sm:grid-cols-2","children":[["$","$L2","jwt-decoder",{"href":"/tools/jwt-decoder","className":"rounded-lg border border-slate-200 p-4 transition-colors hover:border-indigo-300 hover:bg-indigo-50/50 dark:border-slate-800 dark:hover:border-indigo-700 dark:hover:bg-indigo-950/30","children":["$L5","$L6"]}],"$L7"]}]]}],false]}],["$L8"],"$L9"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"hZXEtJmKBENpHYBRepoaY"} 5:["$","p",null,{"className":"font-medium text-slate-900 dark:text-slate-100","children":"JWT Decoder"}] 6:["$","p",null,{"className":"mt-1 text-sm text-slate-600 dark:text-slate-400","children":"Decode a JWT's header and payload."}] 7:["$","$L2","hash-generator",{"href":"/tools/hash-generator","className":"rounded-lg border border-slate-200 p-4 transition-colors hover:border-indigo-300 hover:bg-indigo-50/50 dark:border-slate-800 dark:hover:border-indigo-700 dark:hover:bg-indigo-950/30","children":[["$","p",null,{"className":"font-medium text-slate-900 dark:text-slate-100","children":"Hash Generator"}],["$","p",null,{"className":"mt-1 text-sm text-slate-600 dark:text-slate-400","children":"Generate MD5 and SHA family hashes from text."}]]}] 8:["$","script","script-0",{"src":"/_next/static/chunks/0an3h71pfhg8p.js","async":true}] 9:["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}] c:null