Skip to content

How to slugify a string in JavaScript

FULL-STACK WEB DEVELOPMENT BOOTCAMP

2024 COHORT SIGNUPS END TOMORROW

A snippet of code I used to slugify a string

export function slugify(str) {
  // Remove leading and trailing whitespace
  str = str.trim()

  // Make the string lowercase
  str = str.toLowerCase()

  // Remove accents, swap ñ for n, etc
  str = str.normalize('NFD').replace(/[\u0300-\u036f]/g, '')

  // Remove invalid characters
  str = str.replace(/[^a-z0-9 -]/g, '')

  // Replace whitespace with a hyphen
  str = str.replace(/\s+/g, '-')

  // Collapse consecutive hyphens
  str = str.replace(/-+/g, '-')

  return str
}
  • Learn modern web development in my BOOTCAMP (SIGNUP END TOMORROW FEB 20, 2024)
  • THE VALLEY OF CODE (+ PRO), your web development manual
  • I wrote 15+ coding BOOKS, all available in THE VALLEY OF CODE PRO
  • Indie solopreneur internet business masterclass SOLO LAB (summer 2024)