Control what changes
Choose a profile. Adjust transformations, VM settings and the names you need to keep.
Make your source harder to analyze. Choose how it’s protected.
Built for your runtime.
Choose the protection your code needs. See what changes.
Choose a profile. Adjust transformations, VM settings and the names you need to keep.
Work with your source, protection settings and build output in a single workspace.
See which transformations were applied, review warnings and compare output size.
Paste your code or open a source file.
Select your runtime, start with a profile and adjust individual settings.
Review your source, settings and processing availability before submitting.
Obfuscation makes source harder to read and analyze. It is not encryption or an absolute barrier to reverse engineering. Keep secrets outside code you distribute.
Preparing a draft does not upload it. The workspace shows processing availability before you submit.
Explore the workspace, or read the guide before choosing your settings.
Profiles, transformations and runtime-specific controls, in one workspace.
Paste a draft or open a UTF-8 file. Keep your source and settings side by side.
Start with a profile, then adjust the settings your runtime supports.
Eleven controls for renaming, literals, control flow and VM protection.
Review applied changes, warnings and output size before testing your build.
Check target availability in the workspace and source compatibility in the build plan.
Lua 5.1, 5.2, 5.3, 5.4 and 5.5, LuaJIT 2.1, standalone Luau, and CfxLua core have distinct engine paths. The workspace identifies which are configured on your service.
| Runtime | VM selection |
|---|---|
| Lua 5.1 | Selected functions or whole script |
| Lua 5.2 | Selected functions or whole script |
| Lua 5.3 | Selected functions or whole script |
| Lua 5.4 | Selected functions or whole script |
| Lua 5.5 | Selected functions or whole script |
| LuaJIT 2.1 | Selected functions or whole script |
| Standalone Luau | Selected functions |
| CfxLua core | Source transforms only; no VM |
CfxLua core support does not qualify the FiveM host or its resource APIs. Standalone Luau is distinct from the blocked Roblox Creator Store profile.
Runtime limits and host compatibilityThe right protection depends on your code and runtime. Review and test each build.
Conservative transformations
A practical starting point
Balanced transforms with annotated VM protection where supported.
Choose individual transforms and VM execution options for your runtime.
Explore the options available for your runtime.
Keep a profile default, enable an eligible transformation, or require it. Required transformations fail closed when the source is ineligible.
Select eligible functions, or a whole script on supported Lua and LuaJIT targets. Luau supports selective VM; CfxLua core has no VM. VM protection remains experimental.
A separate function-name list selects native hot functions on supporting targets. Options vary by runtime; legacy metadata caching is Lua 5.1 only.
Macros replace named constants with text, whole numbers or booleans before transformation. They are data substitutions, not a place for secrets.
Preserve globals, exact field names and license notices where supported. Luau exposes license-notice preservation only.
Read the macros guideChoose your runtime and configure protection in the workspace.
Your source, protection settings, and results in one place.
Prepare your source here. Sign in to preview and build.
Match the runtime that will execute your code. Disabled targets are not configured on this service.
Options inherit the selected profile until you override them. Check advanced-feature notes before enabling them.
Use the profile default, apply a transform where supported, or require it. A required transform stops the build if it cannot be applied.
Rename local identifiers while preserving bindings.
Transform eligible string literals.
Restructure eligible control flow.
Transform statically resolved internal field names.
Share eligible literals through a generated pool.
Add indirection for eligible calls.
Outline eligible regions into functions.
Rewrite eligible numeric expressions.
Transform eligible constant conditions.
Experimental. Flatten eligible control-flow regions.
Virtualize supported functions. Eligibility, execution options and qualification depend on the target.
Drop a .lua, .luau or .txt file here, or choose a file. Maximum 1 MiB.
No file selectedAdd source, choose your settings, and click Obfuscate code.
UTF-8 source, up to 1 MiB. Your source is processed on the server when you preview or obfuscate. Download your draft before closing this tab.
Product updates and guides.
Manage your content, accounts, and site activity.
Organize projects and manage team access.
Review recent previews and builds.
Update your account details.
Buy usage tokens and review your organization's purchases.
Enter your details to continue.
You’ll verify your email next.
Enter the code from your email.
Your email is verified. Sign in to continue.
Email verification succeeded, but temporary session cleanup could not be confirmed. No browser sign-in was created.
Sign inRequest a code to recover access to your account.
Enter your reset code and choose a new password.
Protect your code and manage your projects.
Upload source, configure protection, and download output.
Organize projects and manage team access.
Review recent previews and builds.
Update your account details.
Manage access on this browser or sign out of all GhostX Obfuscator sessions.
Checking your session…
Manage your authenticators and verify access to sensitive actions.
Your source, account access and browser data.
Your browser uses a protected session. Sign-in tokens stay encrypted on the server, outside page scripts.
Manage accountSign out of this browser, or end all your sessions from your account.
Your language and appearance preferences stay on this device and can sync to your account. Pending account actions save a reference so you can check their outcome. No analytics or third-party page scripts.
Your source is transformed on the server without running it. Review the report, then test the output in your application.
See which services are available.
Protection service
Account service
A reachable service does not mean every engine target is configured. The workspace runtime selector reports current target availability.
Manage appearance and language.
Choose a light, dark, or system-matched workspace.
Set the language used throughout the workspace.
Manage your sign-in and active session from your account.
How GhostX.group handles your information.
GhostX.group operates this preview. A verified privacy contact and final retention schedule must be configured before public launch. This notice describes the current implementation.
Your draft stays in browser memory until you submit it. Opening a file does not upload it. Submitting a processing request sends source and settings to the backend. Protection does not execute your code. Stored uploads and results follow the configured retention policy; expiry alone does not confirm physical deletion. Authorized site owners may inspect retained result previews after a fresh security check and an audited authorization that records a reason. Downloaded files remain on your device until you remove them.
Signing in sends your email and password through the GhostX Obfuscator account server to Supabase Auth. GhostX Obfuscator stores account identifiers, encrypted provider tokens, session digests, and security metadata to authenticate requests and manage access. Passwords and provider tokens are not returned to the page.
A necessary HttpOnly cookie maintains your signed-in session. Language, appearance, and sidebar preferences use local storage and may be saved to your account when signed in. This website has no analytics, advertising trackers, or third-party page scripts.
Supabase provides the hosted account database and authentication service. When enabled, Stripe processes one-time token purchases and monthly token refills on its hosted Checkout page, where payment details are entered. GhostX stores purchase references, payment status and token-ledger records. Account and session records remain subject to operator-managed retention; there is no published automatic account-deletion schedule yet. Build workspace cleanup is separate from account records. Public retention terms and applicable transfer information remain launch requirements.
You can clear a draft, remove downloaded files, change browser preferences, and sign out locally or everywhere through your account. Clearing browser data does not delete hosted account records. Depending on applicable law, you may have rights to access, correct, delete, restrict, object to processing, or obtain a copy of personal data.
GhostX.group is the operator. A verified privacy contact will be published before public release. Material changes to this notice will appear on this page.
The conditions for using GhostX Obfuscator.
These preview terms describe GhostX Obfuscator, operated by GhostX.group. Public service terms, operator contact details, and any jurisdiction-specific conditions must be finalized before public release. Available purchases use Stripe Checkout when enabled on the service. The offers available to your account are shown on the billing page.
You retain your rights in the source you provide and the output produced from it, subject to the rights of others. Use GhostX Obfuscator only for code you own or are authorized to transform. You are responsible for complying with applicable licenses and distribution requirements.
GhostX Obfuscator transforms source code on supported targets and provides plans, reports and output. Current targets cover Lua, LuaJIT, Luau and CfxLua core. Availability depends on the configured service; game hosts and distribution channels have separate restrictions. VM protection is experimental.
Keep an original copy of your source and test generated output before distribution. Obfuscation raises the effort needed to understand code; it does not guarantee secrecy, prevent all reverse engineering, or replace access controls. Never embed credentials or other secrets in distributed code.
Keep account credentials private and use the session controls if access is compromised. Do not use another person’s account without authorization. Recovery and email-confirmation delivery remain subject to the published service availability.
This version is in preview. Service availability depends on the deployment. Features may change as validation progresses. The status page identifies unavailable capabilities. Available purchases and processing are shown in your account. No uptime commitment is created by this preview.
Follow the acceptable-use policy and applicable law. Do not disrupt the service, attempt unauthorized access, or use it to conceal harmful software. A verified operator contact must be published before the public service launches. Nothing here excludes rights that cannot lawfully be excluded.
Use the tools responsibly. Respect other people’s code.
Use GhostX Obfuscator to protect code you own or are authorized to transform. Legitimate software protection, learning and authorized testing are within the intended scope.
Do not misrepresent ownership, remove licensing obligations, distribute stolen source, or use obfuscation to conceal infringement. Protect only what you have the right to protect.
Do not use the service to conceal malware, credential theft, unauthorized surveillance, exploit delivery, or other harmful activity. Do not use generated code to gain unauthorized access or evade security controls on systems you do not own or administer.
Do not overload endpoints, bypass access or resource limits, probe accounts without authorization, or interfere with other users. Report suspected vulnerabilities responsibly without exposing another person’s data.
GhostX.group may restrict access to protect the service or comply with applicable law. A verified abuse and security reporting channel must be configured before public launch. Preserve only the minimum information needed to describe an issue; do not include secrets or another person’s source.
The link may have changed. Head home or jump back into your workspace.