node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »


Language Detect

NPM version NPM downloads Build status Test coverage

Detect the programming language of any file by checking the file name, file extension, file shebang and falling back to a programming language classifier. For more language information, it should be used in conjunction with language-map.


npm install language-detect --save


var detect = require('language-detect');

Asynchronously From a File

detect(__dirname + '/test.js', function (err, language) {
  console.log(err);      //=> null 
  console.log(language); //=> "JavaScript" 

Synchronously From a File

detect.sync(__dirname + '/test.js'); //=> "JavaScript" 

From The Filename and Contents

detect.contents(__dirname + '/test.js', 'var test = true;\n'); //=> "JavaScript" 

From Only a Filename

detect.filename(__dirname + '/test.js'); //=> "JavaScript" 

Check for Shebang

detect.shebang('#!/usr/bin/env node\n...'); //=> "JavaScript" 

Run Classification

Uses language-classifier which can only detect a small subset of languages.

detect.classify('.test { color: red; }')

Other Properties

  • detect.aliases A map of known aliases
  • detect.interpreters A map of known interpreters
  • detect.extensions A map of known file extensions
  • detect.filenames A map of known file names