How to slugify a string in JavaScript
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
}
→ Here's my latest YouTube video
→ Get my JavaScript Beginner's Handbook
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025