Which languages and compilers does Compiler Explorer support?
Updated
Compiler Explorer supports C++, Rust, Go, and many other languages, and for most of them you can choose among multiple compilers and compiler versions. The site is an interactive online compiler that shows the assembly output of your code, so the practical answer is: if a language has a compiler that can emit assembly or an intermediate representation, it is likely available. The exact list changes over time, so the authoritative source is the compiler dropdown on the site itself.
What the site states directly
The site description says Compiler Explorer is an interactive online compiler that shows the assembly output of compiled C++, Rust, Go (and many more) code. That confirms three named languages and explicitly leaves the list open-ended.
Languages visible in the interface
The page evidence lists output and analysis tools tied to specific toolchains, which indicates the breadth of support beyond the three named languages:
- C / C++ — the core use case, with assembly output, preprocessor, AST, LLVM IR, and optimization pipeline views.
- Rust — with Rust MIR, Rust HIR, and Rust macro expansion views.
- Go — listed in the site description.
- Haskell — GHC Core, GHC STG, and GHC Cmm views.
- Lean — a Lean C output view.
- Clojure — a Clojure macro expansion view.
- Solidity — a Yul (Solidity IR) view.
- Ada — GNAT debug tree and GNAT debug expanded code views.
This is not a complete list. It reflects the toolchains that have dedicated output panes in the interface, which is a subset of everything the site can compile.
Compilers and versions
For a given language, Compiler Explorer typically offers several compilers and several versions of each. The interface includes a version tree and a compiler selector, and the page evidence shows options such as "Clone Compiler," "Executor," and per-compiler argument fields. That means you can compare, for example, different GCC or Clang versions on the same C++ source, or switch between compilers for the same language.
How to check the current list
Because support is added and removed over time, verify against the live site rather than a static list:
- Open Compiler Explorer.
- Use the language selector to see the languages currently offered.
- Use the compiler dropdown for that language to see available compilers and versions.
- Add a second compiler pane if you want to compare outputs side by side.
The site also notes that without JavaScript the regular website is not functional, and points to a noscript version — relevant if you are checking support from a restricted environment.
Practical implications
- If you want to inspect generated assembly for C++, Rust, or Go, that is the site's core, well-supported path.
- If you work in Haskell, Lean, Clojure, Solidity, or Ada, dedicated intermediate-representation views exist, which suggests active support rather than incidental coverage.
- If your language is not listed, it may still be available; the interface list is the reliable check, not this summary.