Pyarmor is a python obfuscator, used to obfuscate python scripts.

Main Features

  • Run obfuscated script or import obfuscated module
  • Expire obfuscated files
  • Bind obfuscated files to harddisk, mac address, ip address etc.

Support Platforms

  • Python 2.5, 2.6, 2.7 and Python3

  • Prebuilt Platform: win32, win_amd64, linux_i386, linux_x86_64, darwin_x86_64, macosx_intel

  • Embeded Platform: Raspberry Pi, Banana Pi, ts-4600

Quick Start

  • Download Pyarmor

  • Extract it to any path, for example, /opt

  • Enter /opt/pyarmor/webui, run manager.bat or

  • A webpage will open in web browser at the same time, do the following steps in this web page:

    • Click tab Project
    • Click button New
    • Type absolute path of python source files in Src, for example, /opt/pyarmor/examples
    • Type Entry Scripts, for example,
    • Type Output, for example, projects/project-1/dist
    • Click button Build
    • All the obfuscated files would be save in /opt/pyarmor/webui/projects/project-1/dist, enter this path
  • Run obfuscated script with command: python
Note that this webui doesn't include all the features of Pyarmor, run in command line to use full features
Project Infromation

Required. Base path for to match files.

Required. Refer to Python Distutils’ Manifest template command.

Optional. Comma-separated list of entry scripts, relative to Src path

Where to save obfuscated scripts and runtime files

Obfuscation Mode and Runtime Setting

How to obfuscate whole module

How to obfuscate byte code of each code object

In restrict mode, obfuscated module can NOT be imported from no obfuscated scripts.

Set runtime path to find _pytransform.dll(.so) in target machine.

It's only used in special case. For example, use py2exe to package obfuscated scripts.

Generate project license for special user

Expire obfuscated scripts on some day: YYYY-MM-NN

Bind obfuscated scripts to fixed harddisk

Bind obfuscated scripts to mac address

Bind obfuscated scripts to ipv4 address

Identify string, for example, Customer-Tom


You're using trail version. Free trial version that never expires, but project capsule generated is fixed by hardcode, so all the encrypted files are encrypted by same key.

A registration code is required to generate random project capsule. If Pyarmor is helpful for you, please purchase one by visiting

After you have received a registration code, just replace the content of "license.lic" with registration code only (no newline).

The registration code is valid forever, it can be used permanently.

Enjoy it!