Skip to main content

Supported languages

The following table lists all Generally available (GA) and Beta languages for Semgrep Code (SAST) and Semgrep Supply Chain (SCA).

Languages are arranged by feature completeness from most to least. If applicable, click on the language name to learn more.

Cross-file (interfile) analysis for Semgrep Code and reachability analysis for Semgrep Supply Chain are the most advanced analyses that Semgrep provides. See Feature definitions for more details.

Supported languages table

LanguagesSemgrep Code
Supports 35+ languages
Semgrep Supply Chain
Supports 14 languages
C#Generally available
• Cross-file dataflow analysis
• Supports up to C# 13
• 170+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
• Can detect malicious dependencies
GoGenerally available
• Cross-file dataflow analysis
• 80+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
• Can detect malicious dependencies
JavaGenerally available
• Cross-file dataflow analysis
• Framework-specific control flow analysis
• 190+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
JavaScriptGenerally available
• Cross-file dataflow analysis
• Framework-specific control flow analysis
• 250+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
• Can detect malicious dependencies
KotlinGenerally available
• Cross-file dataflow analysis
• 60+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
PythonGenerally available
• Cross-file dataflow analysis
• Framework-specific control flow analysis
• 710+ Pro rules
• See Python-specific support details
Generally available
• Reachability analysis
• Can detect open source licenses
• Can detect malicious dependencies
TypescriptGenerally available
• Cross-file dataflow analysis
• Framework-specific control flow analysis
• 230+ Pro rules
Generally available
• Reachability analysis
• Can detect malicious dependencies
• Can detect open source licenses
C / C++Generally available
• Cross-file dataflow analysis
• 150+ Pro rules
N/a
JSXGenerally available
• Cross-function dataflow analysis
• 70+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
RubyGenerally available
• Cross-function dataflow analysis
• 40+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
• Can detect malicious dependencies
ScalaGenerally available
• Cross-function dataflow analysis
• Community rules
Generally available
• Reachability analysis
• Can detect open source licenses
SwiftGenerally available
• Cross-function dataflow analysis
• 60+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
RustGenerally available
• Cross-function dataflow analysis
• 40+ Pro rules
Beta
• Can detect open source licenses
• Can detect malicious dependencies
PHPGenerally available
• Cross-function dataflow analysis
• 50+ Pro rules
Generally available
• Reachability analysis
• Can detect open source licenses
TerraformGenerally available
• Cross-function dataflow analysis
• Community rules
N/a
GenericGenerally available N/a
JSONGenerally available N/a
ElixirBetaBeta
APEXBeta--
DartExperimentalBeta
Click to view experimental languages for Semgrep Code.
  • Bash
  • Cairo
  • Circom
  • Clojure
  • Dockerfile
  • Hack
  • HTML
  • Jsonnet
  • Julia
  • Lisp
  • Lua
  • Move on Aptos
  • Move on Sui
  • OCaml
  • R
  • Scheme
  • Solidity
  • YAML
  • XML

More information

Language maturity levels differ from feature and product maturity levels.

Where to look:

Visit the cheat sheet generation script and associated semgrep-core test files to learn more about each feature:


Not finding what you need in this doc? Ask questions in our Community Slack group, or see Support for other ways to get help.