Slugify File / Folder Names - Raycast Extension
A Raycast extension that converts selected files and folders in Finder to URL-friendly slug format with comprehensive international character support.
Features
- International Characters: Handles accented and special characters from multiple languages
- Transliterate German Umlauts: Optional proper transliteration of German umlauts (ä→ae, ö→oe, ü→ue, ß→ss)
- Batch Processing: Rename multiple files and folders at once
- Extension Preservation: Keeps file extensions intact
- Conflict Resolution: Automatically handles filename conflicts
- Rename Log: Copies a summary of renamed items to clipboard
- Configurable: Customizable preferences via Raycast settings
Preferences
Access preferences by pressing ⌘, (Command + Comma) when selecting the command, or via Raycast Settings > Extensions > Slugify File / Folder Names.
Transliterate German Umlauts
- Enable German umlaut translation: When enabled, German umlauts are properly transliterated instead of simplified
- Default: Disabled (maintains backward compatibility)
- Examples:
- Disabled:
Müller.txt → muller.txt
- Enabled:
Müller.txt → mueller.txt
Character Mappings
German Characters (when German Umlaut Transliteration is enabled)
- ä → ae
- ö → oe
- ü → ue
- Ä → Ae
- Ö → Oe
- Ü → Ue
- ß → ss
International Characters (default behavior)
- á à â ä æ ã å ā → a
- é è ê ë ē ė ę → e
- í ì î ï ī į ı İ → i
- ó ò ô ö œ õ ø ō → o
- ú ù û ü ū → u
- ç → c
- ğ → g
- ş → s
- ñ → n
- ß → ss
- ý → y
- ž → z
Special Character Rules
- Spaces and separators (
/, \, _) → -
- Punctuation (
,, ., !, ?, :, ;) → removed
- Symbols (
@, #, $, %, ^, &, *, +, =, ~) → removed
- Quotes (
", ', `) → removed
- Parentheses and brackets → removed
- Multiple hyphens → single hyphen
- Leading/trailing hyphens → removed
Usage
- Configure Preferences (optional): Set German umlaut transliteration preference via command preferences (
⌘,)
- Select Files/Folders: In Finder, select one or more files or folders you want to rename
- Run Command: Open Raycast and type "Slugify Selected Files & Folders" or use the configured shortcut
- View Results: The extension will:
- Show progress toast during processing
- Display success/failure summary
- Copy rename log to clipboard (format:
original-name → new-name)
Examples
Standard Examples
| Original Name | Slugified Name |
|---|
Çılgın %50 İndirim! (Şimdi Başla) | cilgin-50-indirim-simdi-basla |
café résumé.pdf | cafe-resume.pdf |
My File (copy).txt | my-file-copy.txt |
naïve piñata.docx | naive-pinata.docx |
Hello World! | hello-world |
German Umlaut Transliteration Examples
| Original Name | Default Behavior | German Umlauts Transliterated |
|---|
Müller.txt | muller.txt | mueller.txt |
Größe.pdf | grosse.pdf | groesse.pdf |
Bär Höhle.jpg | bar-hohle.jpg | baer-hoehle.jpg |
Tür Öffnung.docx | tur-offnung.docx | tuer-oeffnung.docx |
Köln Düsseldorf.txt | koln-dusseldorf.txt | koeln-duesseldorf.txt |
Error Handling
- No Selection: Shows error if no files/folders are selected in Finder
- Permission Issues: Displays specific error messages for access problems
- Naming Conflicts: Automatically appends numbers (
-1, -2, etc.) to avoid overwrites
- Already Slugified: Skips files that are already in slug format
Technical Details
- Framework: Raycast API
- Language: TypeScript
- File Operations: Node.js
fs.promises
- Mode: No-view command for quick execution
- Preferences: Raycast Preferences API for persistent settings