Click "Nicify JavaScript"
Welcome to updated JSNice (March 2018)

What's new in JSNice?

  • Support for ECMASCRIPT 6.
  • Built-in packers detector.
  • Possibility to transpile not yet supported code.
  • Increased prediction accuracy.
  • Ability to provide direct feedback on JSNice predictions.

Feedback wanted!

Please fill the feedback form or contact prof. Martin Vechev directly by email firstname.lastname@inf.ethz.ch.

What JSNice does for you?

  • Make even obfuscated JavaScript code readable.
  • Rename variables and parameters to names learned from thousands of open source projects.
  • Infer type annotations.
  • Override the names suggested by JSNice (by enabling "interactive renames" in settings).
  • Click here to learn more about the research done at SRI lab at ETH Zurich that produced JSNice and other ML based systems.


This service is provided by Secure, Reliable, and Intelligent Systems Lab at ETH Zurich, Department of Computer Science, and is free of charge. We accept only legal pieces of code. All entries are logged for research and improvement of service. ETH Zurich does not warrant any rights or service levels, nor does it acquire any rights on the code entered. Swiss law is applicable. The place of jurisdiction is Zurich, Switzerland. By entering code on this site, you warrant that all your entries are in your sole responsibility and you do not infringe any laws or third-party rights like copyrights and the like. ETH Zurich and its employees shall not be liable for any entries and for any damages resulting thereof. You agree to indemnify, defend and hold them harmless from any legal or financial demands or arising out of the breach of these terms of use, especially from third-party claims regarding infringement of copyrights and the like.

New!: APK-Deguard deobfuscates Android applications. Check it out!