A web app to obfuscate JavaScript code online — 100% runs in the browser (serverless, private). You can enter code as plain text or upload a file (.js), then copy or download the result.
Live demo: https://kikukeii.github.io/js-obfuscator
- Plain Text — paste code directly into the textarea
- File Upload — drag & drop or choose a
.jsfile - Many Obfuscation Options — compact, control flow flattening, dead code injection, identifier rename, string array encoding (Base64 / RC4)
- Download — save the result as an
-obfuscated.jsfile - Copy — copy the result to clipboard
- Statistics — input/output size & percentage increase
- Syntax Highlighting — clean output with Prism
- Modern UI — Bootstrap 5 + jQuery, clean light theme
- Bootstrap 5
- jQuery 3.7
- javascript-obfuscator (via CDN)
- PrismJS for syntax highlighting
- Bootstrap Icons
All libraries are loaded from a CDN, so there's no build step — just open it.
This app is fully static (HTML + CSS + JS), so it can be deployed straight to GitHub Pages.
- Create a new repository on GitHub (e.g.
js-obfuscator). - Upload all files to the repo:
index.html- the
css/folder - the
js/folder
- Go to Settings → Pages in that repository.
- Under Branch, select
main(or your branch) and the/ (root)folder, then Save. - Wait a moment, then open
https://<username>.github.io/<repo-name>/.
# initialize the repo & commit
git init
git add .
git commit -m "JS Obfuscator app"
# link to your remote repo (replace URL with yours)
git remote add origin https://github.com/<username>/<repo-name>.git
git branch -M main
git push -u origin mainThen enable GitHub Pages via Settings → Pages as described above.
gh repo create <repo-name> --public --source=. --push
gh api repos/<username>/<repo-name>/pages -X POST -f "source[branch]=main" -f "source[path]=/"Since all resources come from a CDN, simply open index.html in a browser, or run a simple local server:
# option 1
python -m http.server 8000
# option 2
npx serve .Then open http://localhost:8000.
⚠️ Note: an internet connection is required since libraries are loaded from a CDN.
├── index.html # main page (UI)
├── css/
│ └── style.css # custom styling, clean light theme
└── js/
└── app.js # obfuscation logic, upload, copy, download
All obfuscation happens inside the browser using the javascript-obfuscator library. Your code is never sent to any server.
kikukeii
- GitHub: github.com/kikukeii
- Project: github.com/kikukeii/js-obfuscator