Skip to content


Subversion checkout URL

You can clone with
Download ZIP
CIL to Javascript Compiler
C# JavaScript HTML CSS C++ Batchfile
branch: master

Merge pull request #745 from mispy/zerowidtharray

Failing test case for representation of int[0]
latest commit 48cceb48d7
@kg kg authored
Failed to load latest commit information.
Compiler FNA sample fix checkpoint
Corlib Nuke the Mannux demo since it requires a lot of babysitting
Examples Use new Verbatim.Expression overload in Pathtracer. Fixes issue #264.
JSIL Add a hack to work around ILSpy type inference messing up on pointer …
Libraries Implement proper pinvoke marshaling for enums
Meta Add slow copy-in-copy-out fallback for IntPtr marshalling that uses d…
Proxies Stub for Expression.Equal removed.
SimpleProject fixed pointed issues (no asm ID | non-x86 configs | JSIL copy)
Skeletons Fix missing break statement
SmokeTests Upgrade solutions to VS2013
Tests Failing test case for representation of int[0]
Try Remove need to manually reload test_runner.html
Upstream Update ILSpy submodule Cleanup for #588
.NET 4.5.targets Add support for compiling against .NET 4.5 in VS2010.
.gitignore FNA sample fix checkpoint
.gitmodules JSIL.ExpressionInterpreter subrepo added.
.hgeol EOL normalization (LF).
JSIL.nunit Pull the method signature cache out of a static field so that it does…
JSIL.sln JSIL.ExpressionIterpreter added to JSIL.sln.
JSIL_NoXNA.sln JSIL.ExpressionIterpreter added to JSIL.sln.
LICENSE Add missing LICENSE file Update
build_corlib.bat Make RunTransformsOnAllFunctions actually obey the threading setting.…
build_demos.bat Fix Int64.ToString and other overloads of ToString getting a .NET-sty…
build_skeletons.bat Handle being run from different working directories.
jsil.ico Updated website and added new logo
run_server.bat Change the platform argument for the rpg starter kit so it builds cor…
test_runner.html Checkpoint: Load and track individual native modules by name
web.config Update test_runner code so you can host it on IIS


JSIL is a compiler that transforms .NET applications and libraries from their native executable format - CIL bytecode - into standards-compliant, cross-browser JavaScript. You can take this JavaScript and run it in a web browser or any other modern JavaScript runtime. Unlike other cross-compiler tools targeting JavaScript, JSIL produces readable, easy-to-debug JavaScript that resembles the code a developer might write by hand, while still maintaining the behavior and structure of the original .NET code.

For live demos and code samples, visit the website.

For help on getting started using JSILc, see the wiki.


Copyright 2011 K. Gadd
License: MIT/X11

Replay/Record support & emscripten integration sponsored by Mozilla Corporation License: MIT/X11


JSIL depends upon or is based on the following open source libraries:

  • Mono.Cecil: MIT/X11 (thanks to Jb Evain)
  • ICSharpCode.Decompiler: MIT/X11 (developed as part of ILSpy)
  • Mono.Options: MIT/X11 (Jonathan Pryor & Federico Di Gregorio)
  • printStackTrace: Public Domain (Eric Wendelin and others)
  • XAPParse: Microsoft Public License/Ms-PL (Andy Patrick)
  • webgl-2d: MIT (Corban Brook, Bobby Richter, Charles J. Cliffe, and others)
  • S3TC DXT1 / DXT5 Texture Decompression Routines (Benjamin Dobell)

The Upstream folder also contains:

  • Win32 build of the Spidermonkey command-line JavaScript shell. It is built from sources provided by the Mozilla project ( This build is used for running JavaScript automated tests.
  • A specific version of the NUnit.Framework assembly, used by the automated tests. This ensures that they compile correctly regardless of which version of NUnit you have installed.
  • Win32 build of PNGQuant for optimizing PNG files. (Jef Poskanzer, Greg Roelofs)
  • Mono ILASM for CIL tests execution

Logo by John Flynn.

Assorted code and test case contributions by the various contributors on the GitHub project page - already too many to list here.

Something went wrong with that request. Please try again.