list-of-transpilers icon indicating copy to clipboard operation
list-of-transpilers copied to clipboard

A list of source-to-source compilers for various languages

List of transpilers, sorted by target language

C/C++

Compilers targeting C

Python

List of languages that compile to Python

Project name/link Language(s) supported
JS2Py JavaScript
Perl2python, Pythonizer, Bridgekeeper Perl
ti842py TI-84 Basic
smop Matlab, Octave
matlab-to-python-online-transpiler, matlab2python Matlab
csharptopython C#
gotopy Go
infl Ruby
ToPython Mathematica

PHP

Project name/link Language(s) supported
python-to-PHP Python
js2php JavaScript
lua2php Lua
cs2php C#
java2php Java
perl2php Perl
peeble F#

C#

Project name/link Language(s) supported
JavaSharp, Java2CSharp Java
Go2cs Go
fs2cs F#
Sharpify JavaScript
Hebron C
py2cs Python

Swift

Project name/link Language(s) supported
SharpSwift C#
Kotlift Kotlin
objc2swift, Swiftify Objective-C
j2swift Java

Kotlin

Project name/link Language(s) supported
Gryphon Swift
SwiftKotlin Swift

Lua

See the main list of languages that compile to Lua.

Project name/link Language(s) supported
PyLua Python
Python-Lua Python
MoonScript Moonscript
CSharp.lua C#
typescript2lua TypeScript
js2lua JavaScript
Wasynth WebAssembly
Pas2lua Pascal

JavaScript

List of languages that compile to JavaScript

Rust

Project name/link Language(s) supported
Py2many Python
Pyrs Python
C2Rust, Corrode C
Crust C++
Rusby Ruby
Rustly Clojure
Rustre Lustre
Corollary Haskell
Lua2Rust Lua

Julia

Matlab to Julia

WebAssembly

List of languages that compile to WebAssembly

C

Compilers targeting C

C++

Project name/link Language(s) supported
go2cpp Go

Go

Project name/link Language(s) supported
Godzilla JavaScript
Grumpy, Gython Python
php2go PHP
pas2go Pascal
f42go Fortran
ocaml2go OCaml

Bash

Project name/link Language(s) supported
BashScript TypeScript
BashJS JavaScript
Lua2Bash Lua
sherlock.py Python

Fortran

Project name/link Language(s) supported
c2f C
matlab2fortran Matlab
transpyle Python

Perl

Project name/link Language(s) supported
f77-to-perl Fortran
app-a2p Awk

Haxe

Project name/link Language(s) supported
ax3, as2hx AS3
Cs2hx, Phase C#
Jaxe Java
tardisgo Go
node-ts2hx TypeScript
Dragon Python
go2hx Go

Scala

Project name/link Language(s) supported
CsScala C#
java2scala Java
scala-golang-converter Go

Ruby

Project name/link Language(s) supported
CPP2Ruby, C++ To C#/Ruby Code Converter C++
Py2rb Python

Java

Project name/link Language(s) supported
py2java, p2j Python
m2j Modula-2
objc2java Objective-C
CrossCompiling C++
csharp2java, cs2j C#
dart2java Dart
Rubyflux Ruby
luaj Lua
m2j Modula-2

GLSL

Project name/link Language(s) supported
pyosl OSL
hlsl-into-glsl HLSL
SharpShader C#
JLSL Java
SVG-to-GLSL-Converter SVG
Cg2glsl CG
SPIRV-CROSS SPIR-V
https://github.com/stackgl/glsl-transpiler JavaScript

Nim

Project name/link Language(s) supported
c2nim C
py2nim Python
Craxe Haxe
ts2nim TypeScript

TypeScript

Project name/link Language(s) supported
java2typescript Java
typescriptr C#
dart2ts Dart
lua2typescript Lua
wax Wax

Dart

Project name/link Language(s) supported
ts2dart TypeScript
py2dart Python
objc2dart Objective-C
java2dart Java

Matlab

Project name/link Language(s) supported
f2matlab Fortran
mathematica-matlab Wolfram Mathematica

SQL

Languages that compile to SQL

Project name/link Language(s) supported
Grizzly Python

Coq

Project name/link Language(s) supported
Goose Go

F#

Project name/link Language(s) supported
cs2fs C#

R

Project name/link Language(s) supported
matconv Matlab, Erlang

Common Lisp

Project name/link Language(s) supported
Vacietis C
Iota LLVM
CL-JavaScript JavaScript

Elixir

Project name/link Language(s) supported
Efe Erlang
erl2ex Erlang