_ _ _ _____ ___ __ __ _(_) | _(_)___ / ( _ ) / /_ ___ ___ _ __ ___ \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ \ V V /| | <| |___) | (_) | (_) | (_| (_) | | | | | | \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|
Az asm.js a JavaScript programozási nyelv olyan részhalmaza, amit köztes nyelvként való használatra fejlesztettek ki. Lehetővé teszi a webalkalmazások JavaScripttől eltérő nyelven, pl. C-ben vagy C++-ban való elkészítését. Fordítási célnyelvként a JavaScriptet használva az asm.js-t az összes fontos webböngésző futtatni tudja, eltérően az alternatív megközelítésektől, amilyen a Google Native Client is. Ettől még a böngészők alkalmazhatnak kimondottan az asm.js kód gyorsítását célzó optimalizálásokat is, ami jelentős teljesítménynövekedéssel jár. A Mozilla Firefox-ban elsőként kaptak helyet asm.js-re összpontosító optimalizációk, a 22-es verziótól kezdve.[1] A Google Chrome 28-as verziójába épített V8 JavaScript-motor az asm.js-sebességteszteket több mint kétszer gyorsabban futtatja le, mint a korábbi verziók.[2]
Az Emscripten projekt fejleszti azokat eszközöket, melyekkel a C és C++ kódok az LLVM virtuális gép bitkódján keresztül asm.js-re fordíthatók.