Veil is an obfuscator for JAVA applications.

Client Portal

Social Media

Legal

Documentation


Quick Start Guide (Standard Browser Edition)

Protect a compiled Java archive (.jar) in three steps using the free Home Workbench:

  1. Select your compiled .jar file in the Target JAR Archive field.
  2. Select the protection passes required for your deployment environment.
  3. Click Protect JAR Archive and download the protected output archive.

CI/CD Pipeline API (Unlocked Cloud Accounts)

Unlocked accounts in the Client Area can automate bytecode protection in CI workflows using POST /api/v1/protect with a Bearer API token:

curl -fsSL -X POST "https://veil-obfuscator.com/api/v1/protect?rename=true&encrypt_strings=true&encrypt_numbers=true&obfuscate_flow=true" \ -H "Authorization: Bearer $VEIL_API_TOKEN" \ --data-binary @build/libs/app.jar \ -o build/libs/app-protected.jar

Recommended Pass Configuration

Pass When to Enable
NameObfuscation + ReflectGuard Recommended for all standalone applications. Keep ReflectGuard enabled if your code uses Class.forName or framework reflection. Add public API packages to Package Exclusions when building a library JAR.
StringEncrypt + NumberObfuscation Recommended for hiding license URLs, protocol constants, SQL queries, and error messages from static string scans.
FlowObfuscation + InformationRemover Recommended for deterring decompilers such as CFR, Vineflower, and FernFlower and removing source line numbers from stack traces.
TamperProtection + ExpiryTime Requires a valid Main-Class entry in META-INF/MANIFEST.MF. The startup guard runs at the beginning of public static void main(String[]).

Platform & JVM Compatibility

Protected archives remain standard JVM bytecode and execute on Windows, macOS, and Linux across Java 8 through Java 25 without requiring any external native agent.

Execution Command:
java -jar your-protected-application.jar