Compare semver version strings to find which is greater, equal or lesser.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Build Status Coverage Status

Compare semver version strings to find greater, equal or lesser. Runs in the browser as well as Node.js/React Native etc. Has no dependencies and is tiny (<600 bytes gzipped).

This library supports the full semver specification, including comparing versions with different number of digits like 1.0.0, 1.0, 1, and pre-release versions like 1.0.0-alpha. Additionally supports the following variations:

  • Supports wildcards for minor and patch version like 1.0.x or 1.0.*.
  • Supports Chromium version numbers with 4 parts, e.g. version 25.0.1364.126.
  • Any leading v is ignored, e.g. v1.0 is interpreted as 1.0.
  • Leading zero is ignored, e.g. 1.01.1 is interpreted as 1.1.1.


$ npm install compare-versions



// ES6/TypeScript
import * as compareVersions from 'compare-versions';

// Node
var compareVersions = require('compare-versions');


compareVersions('10.1.8', '10.0.4'); //  1
compareVersions('10.0.1', '10.0.1'); //  0
compareVersions('10.1.1', '10.2.2'); // -1

Can also be used for sorting:

var versions = [
var sorted = versions.sort(compareVersions);


If included directly in the browser, compareVersions() is available on the global window:

<script src="compare-versions/index.js"></script>
  window.compareVersions('10.0.0', '10.1.0');