slugifies even utf-8 chars!

npm install slug
72 downloads in the last day
458 downloads in the last week
2 367 downloads in the last month


slugifies every string, even when it contains unicode!

Make strings url-safe.

  • Comprehensive tests
  • No dependencies (except the unicode table)
  • Not in coffee-script (except the tests lol)
  • Coerces foreign symbols to their english equivalent
  • Works in browser (window.slug) and AMD/CommonJS-flavoured module loaders (except the unicode symbols unless you use browserify but who wants to download a ~2mb js file, right?)
npm install slug


master//node-slug » node
> slug = require ('./slug')
> slug('i ♥ unicode')
> slug('i ♥ unicode', '_') # If you prefer something else then `-` as seperator
> slug.charmap['♥'] = 'freaking love' # change default charmap or use option {charmap:{…}} as 2. argument
> slug('I ♥ UNICODE').toLowerCase() # If you prefer lower case
> slug('unicode ♥ is ☢') # yes!


// options is either object or replacement (sets options.replacement)
slug('string', [{options} || 'replacement']);
slug.defaults = {
    replacement: '-',      // replace spaces with replacement
    symbols: true,         // replace unicode symbols or not
    charmap: slug.charmap, // replace special characters

Build Status

Bitdeli Badge

npm loves you