Universal code obfuscator for JavaScript, TypeScript, Python, Java, C/C++, HTML, CSS, JSON and more.
100 % client-side in the browser Β· plus a pip install justob CLI Β· plus a public HTTP API.
Features β’ QuickΒ Start β’ CLI β’ API β’ Decoder β’ Deploy
| Capability | What it means | |
|---|---|---|
| β‘ | 100 % in-browser | Your code never leaves the device β zero servers, zero leaks. |
| π | Universal Mode | Obfuscate raw code snippets in 20+ languages without a ZIP. |
| π¦ | ZIP Mode | Drop a project zip β sealed zip out, original tree preserved. |
| π§ | Smart filtering | Auto-skips node_modules, .git, binaries, lockfiles. Never mangles vendor code. |
| ποΈ | 3 profiles | light Β· standard Β· maximum β pick your paranoia level. |
| π | Parallel workers | Every CPU core via Web Workers β huge projects in seconds. |
| π | Universal Decoder | Strips up to 24 layers (base64 / hex / rot13 / eval(atob)) and re-beautifies output. |
| π | CLI β justob |
pip install justob β obfuscate & decode from the terminal. |
| π | Public HTTP API | POST /api/public/obfuscate β wire into CI, GitHub Actions, anywhere. |
| π± | PWA + Share Target | Install on mobile Β· share zips from your OS straight into the app. |
| π | History | Last 20 jobs cached locally for re-download. |
| π | SEO-first | Per-route metadata, sitemap, JSON-LD, llms.txt. Built to rank. |
git clone https://github.com/<your-username>/just-obfuscate.git
cd just-obfuscate
bun install # or: npm install
bun dev # β http://localhost:8080Build for production:
bun run build
bun run startSame engine. In your terminal. Cross-platform (Linux Β· macOS Β· Windows Β· Termux Β· Android).
pip install justobjustob obfuscate ./my-project.zip --profile maximum -o sealed.zip
justob decode ./encoded.txt --pretty
justob examples # show every command with usage examples
justob docs # full inline documentation| Flag | Purpose |
|---|---|
--profile |
light Β· standard Β· maximum |
--super-safe |
Safest ZIP mode; preserves risky files instead of rewriting them |
--strip-console |
Remove console.log / print() calls |
--encrypt-strings |
Encode every string literal |
--include-skipped |
Keep other non-obfuscated files; node_modules is always excluded |
--stdin |
Pipe code directly: cat file.js | justob decode --stdin |
--format |
Decoder beautifier (auto Β· js-like Β· py-like Β· β¦) |
--pretty |
Pretty-print decoded output |
Run justob examples for copy-paste recipes.
Two free, no-key, public endpoints. Wire into any pipeline.
multipart/form-data in Β· application/zip out. Max 50 MB.
curl -X POST https://just-obfuscate.app/api/public/obfuscate \
-F file=@./my-project.zip \
-F profile=maximum \
-F stripConsole=true \
-o sealed.zipJSON in, JSON out. Iteratively strips up to 24 obfuscation layers.
curl -X POST https://just-obfuscate.app/api/public/decode \
-H "content-type: application/json" \
-d '{"code":"ZXZhbCgnYWxlcnQoMSknKQ==","format":"auto"}'Returns { decoded, beautified, layers, detectedLanguage, bytesIn, bytesOut }.
A universal, multi-language deobfuscator that auto-detects encoding chains and language.
- Strips base64 / hex / rot13 / reverse /
eval(atob(...))shims iteratively (up to 24 layers). - Re-beautifies for 13 syntax families (JS-like, Python-like, shell, C-like, markup, CSS, SQL, config, lisp, ML, proseβ¦).
- Available in browser, CLI, and API.
βββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββ
β .zip β ββΊ β unpack + β ββΊ β obfuscate per β ββΊ β sealed β
β drop β β classify β β language (WW) β β .zip β
βββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββ
- Unpack the ZIP entirely in memory (no disk writes).
- Classify each file by extension β vendor / lockfiles / binaries always skipped.
- Obfuscate in parallel Web Workers using language-specific engines.
- Repack with original directory tree β one-click download.
- TanStack Start v1 (React 19 + Vite 7) β SSR-ready, edge-deployable
- Tailwind CSS v4 with semantic design tokens
- shadcn/ui primitives + custom glass-morphism layer
- Web Workers for parallel obfuscation
- JSZip for in-browser archive handling
- Service Worker for PWA + Web Share Target
- Python 3.8+ CLI published to PyPI as
justob
Vercel-ready out of the box (vercel.json included).
- Push to GitHub.
- Import the repo in Vercel.
- Click Deploy. No env vars required.
Also runs on Cloudflare Workers, Netlify, or any Node 20+ host.
just-obfuscate/
βββ src/
β βββ routes/ # File-based routing (TanStack)
β β βββ index.tsx # Universal mode (homepage)
β β βββ zip.tsx # ZIP project mode
β β βββ universal.tsx # Snippet mode
β β βββ decoder.tsx # Universal deobfuscator
β β βββ cli.tsx # CLI docs
β β βββ api.tsx # HTTP API docs
β β βββ api/public/ # Public HTTP endpoints
β βββ components/ # UI components (glass, header, copy-blockβ¦)
β βββ lib/ # Obfuscation + deobfuscation engines
β βββ styles.css # Tailwind v4 + theme tokens
βββ public/
β βββ pkg/justob/ # Python CLI source (PyPI package)
β βββ share-sw.js # Share-target service worker
β βββ llms.txt # Machine-readable site summary
βββ docs/screenshots/ # README & social previews
Nothing leaves your browser in the web app. No analytics on uploaded files. No telemetry on your code. The HTTP API processes ZIPs in-memory and immediately discards them β no storage, no logs of file contents.
cd public/pkg/justob
python publish.py # prompts for your PyPI token once and saves itA ready-to-run pusher is included β see scripts/push_to_github.py:
python scripts/push_to_github.pyIt strips internal/build files, sets your identity (no bot author), and force-pushes a clean tree to your repo.
PRs welcome β fork, branch, hack, open a PR. Keep commits atomic.
MIT Β© Just Obfuscate
Built with π‘οΈ by the Just Obfuscate team
If this saved you time, drop a β on the repo.



