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 Advanced JavaScript Obfuscator. Encrypt and obfuscate your JS code to protect source code, prevent reverse engineering, and secure your scripts fast.
Overview
Understand what the tool solves, how it works, and the boundaries of its data.
Enter JavaScript source and choose one of five representations: Base64, Unicode escapes, hexadecimal byte escapes, percent encoding, or a comma-separated character-code list. The output is generated from the text you provide. It is encoding or escaping, not cryptographic encryption, access control, or robust source-code obfuscation; someone can reverse the representation.
An optional eval wrapper turns the encoded text into an expression that asks JavaScript to evaluate the recovered source. With the wrapper off, the result is assigned to a payload variable instead. The Base64 mode first converts text to UTF-8 bytes. Unicode escapes and character codes are produced by iterating JavaScript UTF-16 code units, so code points outside the Basic Multilingual Plane may appear as surrogate pairs rather than one number or one escape.
Guide
Follow the workflow and verify inputs and outputs with practical examples.
Paste or type JavaScript in the input editor. The example control can load a small sample; clear removes the current input.
Base64 represents UTF-8 bytes as text. Unicode mode writes each UTF-16 code unit as a Unicode escape; hex mode writes UTF-8 bytes as hex byte escapes. Percent mode percent-encodes the source, while character-code mode lists UTF-16 code-unit values separated by commas.
With eval enabled, the output includes an expression to evaluate the decoded text. With it disabled, the output defines a payload variable containing the decoded text. Review the code before copying or downloading it.
Use the output controls after checking both the selected mode and wrapper state. Keep a copy of the original source if you will need to edit it later.
Use cases
See how the tool fits into real work and everyday tasks.
A developer can compare Unicode, hex, or percent representations of a short sample to understand how characters are represented in source text.
An instructor can show how a plain source snippet becomes encoded text and how a wrapper reconstructs a string. Treat the output as a teaching example, not a protection mechanism.
Use a harmless snippet to compare Base64 and code-unit output before deciding whether that representation fits a controlled test or fixture.
Q&A
Find concise answers to common questions and confusing cases.
No. These encodings can be decoded and do not use a secret key. They are unsuitable for protecting credentials, private logic, or other sensitive material.
It adds an expression that evaluates the recovered text as JavaScript. Turn it off to output a variable containing the decoded text instead.
JavaScript strings use UTF-16 code units. A supplementary Unicode character is represented by a surrogate pair, so this mode may list two code units for that character.
Base64 explicitly encodes the source as UTF-8 bytes. The other modes have their own code-unit or percent-escape conventions; test the exact output in the intended consumer before relying on it.
Notes
Review scope, result limitations, and important precautions before use.
Related
Discover related tools, collections, and available API capabilities.