JSON to Query String
Serialise a JSON object into a percent-encoded URL query string.
Encrypt text with a password using AES-GCM, and decrypt it back.
Decryption needs the same password and the same iteration count. Mismatched iterations is the usual reason a correct password appears to fail.
The AES tool encrypts text with a password using AES-256-GCM, stretching the password with PBKDF2 first. GCM is authenticated, so a tampered ciphertext is refused rather than decrypting to plausible garbage.
Encrypt a piece of text with a password and get back a single string you can send or store. The password is stretched with PBKDF2 over many iterations before it becomes a key, because a password on its own is nowhere near enough entropy for AES.
AES-GCM is authenticated, which is the part that matters. It does not only hide the content; it detects any change to the ciphertext and refuses to decrypt rather than returning plausible garbage. The output carries its own random salt and IV, so one string holds everything needed to decrypt it later — given the password and the same iteration count. Everything runs through the browser's own crypto implementation, not a JavaScript reimplementation of AES.
AES-GCM detects any change to the ciphertext and refuses to decrypt, rather than returning something that looks like data.
The password is stretched over hundreds of thousands of iterations, because a password alone has nothing like enough entropy for AES.
The random salt and IV travel inside the ciphertext, so one string is all you need to keep.
Encryption goes through SubtleCrypto, not a JavaScript reimplementation — which would be both slower and less safe.
A failed decryption explains the three possible causes, since GCM itself cannot distinguish between them.
The same password and iteration count are needed for both directions.
A long passphrase beats a short complicated one.
Higher is slower to attack and slower to use. The default is a reasonable balance.
The ciphertext carries its own salt and IV, so nothing else needs recording.
The cryptography is sound — AES-256-GCM with PBKDF2 through the browser's own implementation. The weak point is the password and the fact that you are typing it into a web page. For anything genuinely sensitive, use a password manager or age or GPG.
Three possible reasons and GCM cannot tell you which: the password is wrong, the iteration count differs from the one used to encrypt, or the ciphertext was altered. Check the iteration count first — it is the one people forget.
The salt makes the derived key different even for the same password, defeating precomputed tables. The IV makes the ciphertext different every time. Both are random, both are stored in the output, and neither is secret.
Because the salt and IV are regenerated on each encryption. That is required for security — a fixed IV in GCM is catastrophic — and it means you cannot compare two ciphertexts to see if the plaintexts match.
What people who use the AES Encrypt & Decrypt think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the AES Encrypt & Decrypt. It takes half a minute and no account.
Write the first reviewSerialise a JSON object into a percent-encoded URL query string.
Generate Java POJOs or records with Jackson annotations from JSON.
Check JSON syntax and get the exact line, column and cause of any error.
Generate prefixed API keys in the format modern providers use.
Generate realistic test rows in JSON, CSV or SQL from fields you choose.
Build text shadows, outlines and glows with a live preview.
Convert HTML back into clean Markdown, keeping lists, tables and code.
Generate correct CORS headers, and understand why the request was blocked.