Looking for the best way to protect your JavaScript source code? Stop looking. Sign up now! Did you forget your password?

JScrambler JScrambler

FAQ

Obfuscation and minification

What is source code obfuscation?
Source code obfuscation consists on the transformation of the source code to make it harder to understand without changing its original functionality. See some examples.
Why to obfuscate your JavaScript source code?
One of the most relevant changes introduced by the Web 2.0 is that Web applications are now more distributed. Web 2.0 applications take advantage of the extra computational resources offered by modern computers to provide richer and more interactive interfaces to the end user. For this purpose it is common to use JavaScript and complementing technologies such as the Asynchronous JavaScript and XML (AJAX) or the Cascade Style Sheets (CSS). As a scripting language, JavaScript source must be sent to the web-page client computer to be interpreted by the user web-browser being completely available to copy and reuse.
What can I expect from minification?
Minification will improve the load time of your code, but will not increase the obscurity of the code to a level where it is really hard to understand it. Check out some minification transformation examples.
What is anti-debugging?
Anti-debugging aims to thwart the process of reverse engineering and debugging. Ideal to hinder (dynamic) code analysis, hardening the attempt of de-obfuscation.
Obfuscation increases the size of the code?
Depends mostly on the transformations that you choose. Some transformations are destructive, therefore decrease the size of the code and consequently its load time. Others, may augment it (see example). However, Jscrambler offers minify and compression transformations that may be used with obfuscation to greatly attenuate this issue (more info).
How can I deter reverse engineering and protect intellectual property?
Most of the times, the interest about using code obfuscation is to protect intellectual property of your software by concealing its logic, rather than just trying to enforce a software license and relying on legal solutions. Obfuscation used in conjunction with anti-debugging techniques, helps defeating attempts of reverse engineering, greatly degrading code's maintainability and its re-usability, thus preventing tampering and reuse attempts. When there is not alternative to running your code at the client-side, the best way to counter the possible loss of revenue that might income with easy analysis of your code, its through obfuscation.
I'm a freelancer and have to provide a demo to my client. How can I protect my code?
With JScrambler you can obfuscate your source code degrading its maintainability, re-usability and defeating attempts of reverse engineering. Avoid losing your time and work by obfuscating your code before sending it to your client for requirement validation.
Can I restrain the use of my JavaScript to a specific domain?
Yes, with JScrambler you can. Obfuscate and lock your JavaScript to a specific domain (e.g. example.com). Your protected code will fail to work in other domains than the one that you have chosen.
How can I make sure that my client doesn’t hire someone to change my code?
What would be cheaper? Hiring someone to make sense of the obfuscated code, trying to reuse it? Producing new code? Or hiring your services to maintain the code that you developed and agreed to maintain? Well, when an agreement that your services will be requested whenever an upgrade or bug fix is needed, how can you make sure that this is what it is going to happen? You may deliver the compressed and obfuscated version of your code assuring that requesting your services will be the best option.
Can I enforce my JavaScript to expire after a specific date?
Yes, with JScrambler you can. Giving your JavaScript time to live frees you from the usual worries when delivering demos of your code. You may even combine it with domain lock to make the code fail to work at another domain or when the expiration date "goes bad".
Why should I compress or minify my JavaScripts?
JavaScript travels from server to client before being interpreted by the browser. Therefore, reducing its raw byte size will improve load time, contributing for a faster response by your JavaScript application. With JScrambler minification you will achieve excellent code reduction ratios. But that's not all, we offer a dictionary coder algorithm that can be used to compress your code making it even smaller. Moreover, obfuscation techniques and size code reduction transformations together, contribute for the logic concealment, and reduce the size of the code that might have grown due to the use of some obfuscation transformations. Read more about JScrambler minification and compression here.

JScrambler

JScrambler found a lexical error at my JavaScript.
JScrambler performs a lexical analysis to your JavaScript before transforming it. That process converts sequences of characters into tokens that must follow the JavaScript grammar rules. If a symbol is found that is not supposed to exist at JavaScript a lexical error will be returned and your JavaScript will not be transformed. The most common lexical error found it's the existence of the BOM char (e.g., <U+FEFF>) at the beginnig of the source code. If a lexical error is found check your JavaScript for those or other non valid symbols and remove them.
JScrambler found a syntax error at my JavaScript.
After lexical analysis, comes the syntactic analysis (also known as parsing). If a syntax error is found by JScramber's parser your source is not going to run correctly at the browser. To guarantee the JavaScript functionality after obfuscation, the script must be functional before obfuscation.
Do you keep my JavaScript source code?
No we do not. After 48 hours, the system automatically erases your source code. There is also the option to immediately delete the uploaded code. For more information please read our Terms of Service and Privacy Policy.
What obfuscation transformations should I use?
You should choose the transformations that meet your script needs. For instance if you are looking for code size reduction transformations use transformation that delete, shorten and compress information or the 'code size reduction' default template.
Do you have templates that I can use instead of choosing transformations one by one?
Yes. You will find default templates that represent the most used combinations. In a near future, you will be able to create and save your own templates.
Is there a limited number of requests?
No.
Is there another way to use JScrambler than the Web UI? An API?
Yes, the JScrambler API. It offers a simple and powerful way for developers to integrate JScrambler into their development environment, allowing you to explore it programmaticly.
The selected transformation was not applied. What happened?
Some transformations target specific elements at the source code. For instance, if you choose to reorder functions your JavaScript must contain function definitions. Otherwise there will be no transformation.
Can I send multiple files at the same time to be obfuscated?
Not yet. Soon you will be able to upload multiple files for obfuscation at the same time.
After sending a request to the JScrambler API I received a 403 Forbidden. What does that mean?
When receiving - in a small time frame - a high volume of requests from a single user the API may temporarlly stop attending future requests from that same user. The service evaluates abusive situations that might put in danger the experience of another users. If you need an independent and unlimited high responsive service and have received this error message contact us for more information.

Purchase

What do I need to do before I can start using JScrambler?
Sign up and you are immediately able to minify and obfuscate your JavaScript. You may subscribe one of the available service packages for premium advantages.
What are the payment options available?
Paypal and credit card.
JScrambler's premium packages have a limited license time use?
Yes. You may purchase a 1 month or 1 year license.
The subscription has a recurring payment?
Yes, but you can unsubscribe the service anytime. Unsubscribe the service will only deactivate the recurring payment, not ending the current subscription.

Didn't find your answer? Check the tutorials and videos or send us your questions to one of our contacts.