We use cookies.This website uses essential cookies to operate core features. With your consent, we also use analytics cookies to understand traffic and improve the service. For more details, see our .
Was this tool helpful to use?
Your feedback helps us make it better
Free online tool to encode JavaScript into the AAEncode obfuscated format or decode AAEncode strings back to readable JS code.
Overview
Understand what the tool solves, how it works, and the boundaries of its data.
AAEncode rewrites input as a long JavaScript expression decorated with Japanese-style emoticons and Unicode characters. The result is meant to obscure how the original text looks to a person; it is not encryption, does not use a secret key, and should not be used to protect credentials or other confidential information. It is also distinct from JSFuck, which is associated with a much smaller set of punctuation characters.
This page has two directions: encode text to an AAEncode expression, or decode a compatible AAEncode expression back to text. Encoding accepts ordinary text as well as JavaScript source. The encoded output is still JavaScript-shaped content, and its length can be much greater than the input.
The encoder processes a JavaScript string one UTF-16 code unit at a time. ASCII-range units are represented through octal digits; other units use four-digit hexadecimal notation, with each digit expressed through the format’s character-building expressions. A supplementary-plane symbol such as many emoji is represented by a pair of UTF-16 code units. A complete encode/decode round trip can therefore restore such text, though the output may be especially long.
The decoder removes part of the AAEncode wrapper and evaluates the remaining expression to obtain its result. That behavior matters: decoding is execution, not a passive scan that merely reads characters. See the notice before pasting content whose source you do not trust.
Guide
Follow the workflow and verify inputs and outputs with practical examples.
Select encoding when you want to turn source text into AAEncode form. Select decoding only for an expression you trust, because this decoder evaluates the supplied JavaScript.
For a quick round-trip check, encode alert(1) or a short phrase. To decode, paste the full AAEncode expression, including its opening and ending structure; a clipped middle section is not a complete sample.
The output updates as the input changes. Copy the result after checking that the direction is correct. Unsupported or incomplete input may produce a decoding error rather than recovered text.
For text you control, encode it, then paste the output into decode mode. Compare the recovered text with the original. This checks conversion fidelity for that sample; it does not establish that JavaScript is safe to run.
Plain words can be encoded and recovered as text, but that does not make the encoded expression a useful standalone program. If the original text is not valid JavaScript, executing the encoded result may fail or behave unexpectedly.
Use cases
See how the tool fits into real work and everyday tasks.
If you have an AAEncode sample from your own test or a known source, decode it to view the represented text. Treat the recovered output as one step in an investigation; it may contain another obfuscation layer.
Encode a short, harmless JavaScript statement and compare the result with the input. The expanded expression illustrates how character values and string operations can hide readable words.
Use a short known string to confirm that a compatible AAEncode sample survives encode and decode. Keep a copy of the original so you can compare exact characters, including punctuation and non-ASCII text.
Q&A
Find concise answers to common questions and confusing cases.
No. It is reversible obfuscation without a secret key. Anyone with a compatible decoder can recover the represented text, so it is not a way to secure sensitive data.
No. This decoder evaluates the supplied expression to obtain the output. Do not use it as a static-analysis viewer for unknown or suspicious code.
The input may be truncated, altered, or use a variant this decoder does not recognize. Check that the complete expression was copied. Browser security settings can also block dynamic code evaluation.
A complete conversion can preserve text because the encoder represents UTF-16 code units, including both halves of surrogate pairs. Compare the decoded result with the original when exact characters matter.
Notes
Review scope, result limitations, and important precautions before use.
Only decode content you created or have independently verified and trust. The decoder constructs executable function code from the pasted AAEncode expression. A maliciously altered expression could perform actions beyond returning readable text. This is not a safe sandbox or a static inspection method.
Related
Discover related tools, collections, and available API capabilities.