Transcrypt
Transcrypt compiles Python source code into JavaScript for browser applications.
What Transcrypt is
Transcrypt compiles Python source code into JavaScript for browser applications. It converts a substantial subset of Python into compact, readable JavaScript 6, with an option to minify the output. Developers can call JavaScript functions from Python and use JavaScript libraries and browser DOM functions. The project includes examples involving jQuery, React, Fabric.js, D3.js, Plotly.js, and Riot. It also supports compiling Python server code for Node.js, where applications can use Node libraries with require().
The distribution includes optional static type validation and consistency checks, along with multilevel source maps for debugging generated JavaScript from its Python source. Listed language features include async/await, comprehensions, modules, and multiple inheritance. Transcrypt is installed as a Python package with pip and is free under the Apache 2.0 license. Its focus is browser development and JavaScript libraries rather than desktop Python libraries. Python exec and eval are unsupported because code is precompiled; JavaScript eval is supported. C and C++ libraries are not directly available for browser use without special measures such as compiling them to asm.js.
Good
- Compiles Python into JavaScript 6.
- Supports JavaScript libraries and browser DOM functions.
- Includes multilevel source maps for debugging.
- Free and open source under Apache 2.0.
Watch out
- Python exec and eval are unsupported.
- C and C++ libraries need special measures for browser use.
- Focused on web development, not desktop Python libraries.
Who it suits
Transcrypt suits Python developers building browser applications who want to work with JavaScript libraries and DOM functions. It may also suit teams compiling Python server code for Node.js.
Verdict
Transcrypt is a free option for building JavaScript browser applications from Python while retaining access to JavaScript libraries. Check its precompilation and native-library limits if your project depends on Python eval, exec, or C and C++ libraries.
Plans and prices
From Transcrypt's own pricing page, checked 3 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Transcrypt | Free | Free and open source · Apache 2.0 license · no obligation to donate |
The facts
Each one read from Transcrypt's own pages, with the date it was checked.
Where it runs
- Browser development
- The project focuses on writing web client applications in Python that compile to JavaScript.checked 3 Oct 2026
What it does
- Compatibility limit
- The documentation says Python exec and eval are unsupported because Transcrypt precompiles code; JavaScript eval is supported.checked 3 Oct 2026
- Debugging
- Transcrypt provides multi-level source maps so developers can debug generated JavaScript from Python source code.checked 3 Oct 2026
- Installation
- The site recommends installing Transcrypt with pip as a Python package.checked 3 Oct 2026
- Integrations
- The examples page includes integrations or demos involving jQuery, React, Fabric.js, D3.js, Plotly.js, and Riot.checked 3 Oct 2026
- Intended use
- The documentation says Transcrypt focuses on browser development and JavaScript libraries rather than desktop Python libraries.checked 3 Oct 2026
- JavaScript access
- Transcrypt says JavaScript libraries can be used without restrictions or complications, and Python code can call JavaScript functions directly.checked 3 Oct 2026
- JavaScript interoperability
- Transcrypt applications can use JavaScript libraries and browser DOM functions.checked 3 Oct 2026
- JavaScript output
- Transcrypt generates JavaScript 6 and can minify the output.checked 3 Oct 2026
- Language features
- Listed features include multiple inheritance, async/await, comprehensions, modules, optional static type checking, source maps, and built-in minification.checked 3 Oct 2026
- Language tools
- The distribution includes optional static type validation, consistency checks, and minification tools.checked 3 Oct 2026
- Library limit
- Transcrypt is designed for JavaScript libraries and does not directly support libraries written in C or C++.checked 3 Oct 2026
- Limit
- Transcrypt does not directly support libraries written in C or C++ for browser use without special measures such as compiling them to asm.js.checked 3 Oct 2026
- Node.js
- Transcrypt can compile Python to JavaScript for use on both the client and server with Node.js, subject to facilities available on each platform.checked 3 Oct 2026
- Open source
- Transcrypt is licensed under the Apache 2.0 open source license.checked 3 Oct 2026
- Operating systems
- The getting started documentation says Transcrypt is tested under Windows, Linux, and OSX.checked 3 Oct 2026
- Purpose
- Transcrypt compiles Python source code into JavaScript for browser applications.checked 3 Oct 2026
- Support
- The FAQ recommends Stack Overflow for help and says commercial support is available on demand.checked 3 Oct 2026
- Supported systems
- The documentation says Transcrypt is tested under Windows, Linux, and OSX.checked 3 Oct 2026
- What it does
- Transcrypt compiles a fairly extensive subset of Python into compact, readable JavaScript.checked 3 Oct 2026
Money
- License and cost
- Transcrypt is free and open source under the Apache 2.0 license, and the FAQ says donations are optional.checked 3 Oct 2026
The full review of Transcrypt
Transcrypt is a free, open-source compiler that turns a substantial subset of Python into JavaScript for browser applications. It is best suited to developers who want to write web-client code in Python while working directly with JavaScript libraries and browser APIs. Its appeal is strongest when those interop benefits outweigh the limits of precompilation and JavaScript-focused libraries.
Overview
Transcrypt produces compact, readable JavaScript 6 from Python source and can minify the output. It is a source-to-source compiler, not a way to run arbitrary Python unchanged in a browser: the supported subset is extensive, but Python features such as eval and exec are unsupported because compilation happens ahead of time. JavaScript eval remains supported. The Apache 2.0 license and free plan remove a price barrier, while the language boundary still calls for a deliberate fit check.
Key features
- Python language features: Modules, multiple inheritance, comprehensions, async/await, and optional static type checking support substantial application code. That makes Transcrypt more than a syntax shortcut, though projects relying on unsupported Python behavior will need another approach.
- JavaScript and browser access: Python code can call JavaScript functions directly, use browser DOM functions, and work with JavaScript libraries. Examples cover jQuery, React, Fabric.js, D3.js, Plotly.js, and Riot. This is a strong fit for browser teams that want Python authoring without giving up the JavaScript ecosystem.
- Debugging and build tools: Multilevel sourcemaps help trace generated JavaScript back to Python source. Optional consistency checks and static type validation provide additional checks, and minification can reduce the generated output.
- Node.js output: Transcrypt can compile Python server code for Node.js and use Node libraries through require(). This extends its reach beyond browser clients, although the project’s primary focus remains browser development.
- Installation and license: The project recommends installing Transcrypt as a Python package with pip. It is open source under Apache 2.0; donations are optional.
Pricing
Transcrypt costs nothing. The free and open-source plan uses the Apache 2.0 license and carries no obligation to donate. There is no free trial because the software is already free, and no paid plan is needed to use the compiler. This suits individual developers and teams able to rely on community help; commercial support is available on demand for organizations that need it.
Platforms
Transcrypt is listed for Linux, macOS, self-hosted use, web, and Windows. Its documentation says it is tested under Windows, Linux, and OSX. The recommended pip installation makes it a practical option for developers already working in a Python environment, while browser applications are the main target of its generated JavaScript.
Who it's for
Choose Transcrypt if your team prefers Python for browser application code and expects to use JavaScript libraries or browser APIs directly. It is also worth considering for Node.js-targeted Python code that can work within its compiled subset. Look elsewhere if your project depends on Python eval or exec, or on C and C++ libraries that need to run in the browser: Transcrypt does not support those libraries directly, though compiling them to asm.js is one possible special measure.
Pros and cons
- Pro: Direct JavaScript interoperability. Python code can call JavaScript functions and use browser DOM functions and JavaScript libraries, making it suitable for teams that want Python syntax without leaving the web ecosystem.
- Pro: Useful source-level debugging. Multilevel sourcemaps connect generated code to the original Python, which helps when tracking down problems in compiled output.
- Pro: No license cost. The Apache 2.0 license and free plan allow adoption without a subscription or donation obligation.
- Con: It is not full Python at runtime. Precompilation rules out Python eval and exec, so code that relies on dynamic execution is a poor fit.
- Con: Native-library support is limited. C and C++ libraries are not directly supported for browser use, which can rule it out for applications built around native Python dependencies.
- Con: Its focus is web development. The project is oriented toward JavaScript libraries rather than desktop Python libraries, so it is not a general route for bringing a desktop Python stack to the browser.
Alternatives
For other code-transpilation options, see Code Transpilers. Consider SWC for a free, open-source Rust-based developer toolchain. Google Web Toolkit is another free, open-source Apache 2.0 option. Pick Babel if you want a free, community-funded option with no paid tiers or usage limits stated. ClojureScript is a free open-source option under the Eclipse Public License 1.0, while Kotlin/JS is a Kotlin compiler target for JavaScript configured with the Kotlin Multiplatform Gradle plugin. Cython is freely available under the Apache 2.0 license. Vala is a free option from the Vala Community. CoffeeScript is another free alternative.
Verdict
Transcrypt is a sensible choice for developers who want to write browser applications in Python while keeping direct access to JavaScript and browser libraries. Its free Apache 2.0 model and source maps make the trade-off attractive when the compiled subset matches the project. Choose another route if dynamic Python execution or direct browser use of C and C++ libraries is essential.
Getting started
- Install Transcrypt as a Python package with pip
- Write Python source for a browser application
- Compile the source into JavaScript 6
- Use JavaScript libraries or browser DOM functions from the Python code
- Enable minification, sourcemaps, or optional validation tools as needed
- Run the generated application on a supported system
Limits worth knowing
Transcrypt does not support Python exec or eval because it precompiles code. C and C++ libraries are not directly supported for browser use without special measures.
Questions
Is Transcrypt free?
Yes. Transcrypt is free and open source under the Apache 2.0 license, and donations are optional.
How is Transcrypt installed?
The site recommends installing it as a Python package with pip.
What JavaScript output does it generate?
It generates JavaScript 6 and can minify the output.
Can Transcrypt use JavaScript libraries?
Yes. Python code can call JavaScript functions directly and use JavaScript libraries and browser DOM functions.
Can it compile code for Node.js?
Yes. Transcrypt can compile Python server code targeting Node.js and use Node libraries with require().
Which systems are supported?
Documentation says it is tested under Windows, Linux, and OSX; listed platforms include Linux, macOS, Windows, web, and self-hosted.
Alternatives to Transcrypt
- 1
JSweet
Free planOpen sourceAndroidiOSWebAPI7.7Free plan - 2

SWC
Free planAndroidWebAPILinux7.1Free plan - 3
TypeScript Playground
Free planWeb6.6Free plan - 4
Google Web Toolkit
Free planWebExtensionLinuxmacOS6.5Free plan - 5
Haxelib
Free planAPILinuxmacOSWindows6.5Free plan - 6
js_of_ocaml
Free planWebAPILinux6.5Free plan
