ApparelSorter.js is a set of functions written in JavaScript that provide sorting for apparel sizes such as XS, S, M, L. It can also sort numeric sizes such as 12, 14, 16W, 18W, etc.

Usage no npm install needed!

<script type="module">
  import apparelSorter from '';


Build Status


The Problem

Trying to sort sizing data can be a pain. Computers don't understand XS is smaller than SM unless we tell them somehow. Computers also don't understand that 'S', 'SM', and 'Small' are all, well, Small.

ApparelSorter.js aims to fix that and make sorting apparel sizes a cinch.

Suggested Use

ApparelSorter.js can be extremely helpful in e-commerce applications or with any system where apparel data needs to be displayed with the sizes listed in correct order. It's also great if you are working with inconsistent sizing data (some products have 'SM' and others have 'Small')


To simply sort an array of sizes, you can call the sort() function.

const sorter = require('apparel-sorter');

const sizes = sorter.sort(['XL', 'L', 'SM', 'Medium', 'X Small']); // returns ['X Small','SM','Medium','L','XL']

You can also numberify a size. This returns a sorted number that you can use as needed. For example, you could store the returned value in a database for easy sorting in SQL.

const index = sorter.numberify('XS'); // returns 6

const index = sorter.numberify('SM'); // returns 9


  • Node.js v.1.8.4 or greater (may work with earlier versions of Node but have not tested)


Using npm is the preferred and easiest way to install.

npm install apparel-sorter


Help us make ApparelSorter.js better! Feel free to submit a pull request or to submit issues if you find ApparelSorter isn't getting things done for you. Please be sure to submit tests for all your changes so we can stay at 100% tested code coverage.


This project uses Mocha to run the tests included with the project. You can run the tests by simply navigating to the node_modules/apparel-sorter folder and typing one of the below commands:

$ npm test
$ mocha
$ npm run-script coverage


BSD 2 License - Free for commercial use, modification, distribution, and private use.

Please see the included License.txt for full License information.