Generatore di Slug URL
Trasforma un titolo in un path URL pulito — kebab-case, minuscolo, senza accenti
Titolo o testo
Slug
Cos'è il generatore di slug URL?
Hai scritto un articolo intitolato "Come Analizzare un URL in JavaScript — La Guida del Proprietario di un Caffè (Edizione 2026)" e ora ti serve un path URL per esso. Non vuoi %E2%80%94 dentro, non vuoi spazi, non vuoi maiuscole che si rompono su server case-sensitive. Vuoi come-analizzare-un-url-in-javascript-la-guida-del-proprietario-di-un-caffe-edizione-2026. È quello che fa questo strumento. Incolla il titolo, copia lo slug. Il termine stesso viene dall'editoria — vedi la voce di Wikipedia sugli URL amichevoli per l'etimologia.
L'algoritmo è quello standard. Mettere in minuscolo, poi eseguire String.prototype.normalize('NFD') per scomporre i caratteri Unicode in lettera base più segni combinanti. Rimuovere i segni (così é diventa e, à diventa a). Gestire a mano alcune legature comuni — æ diventa ae, ø diventa o, ß diventa ss, ł diventa l. Sostituire qualsiasi sequenza di caratteri non alfanumerici con un singolo trattino. Rimuovere i trattini iniziali e finali. Limitare a 80 caratteri su un confine di parola così non finisci con uno slug tagliato a metà parola.
Perché kebab-case? Perché i trattini sono la convenzione. Le linee guida sulla struttura degli URL di Google raccomandano i trattini rispetto agli underscore per separare le parole negli URL — i motori di ricerca interpretano i trattini come confini di parola. La RFC 3986 definisce i caratteri non riservati in un path URL (lettere, cifre, trattino, punto, underscore, tilde) e la maggior parte delle convenzioni di slug si attiene a un sottoinsieme di questi. Snake_case (mio_post_titolo) e Title-Case-Slug (Mio-Post-Titolo) sono alternative che si vedono, ma kebab-case minuscolo è il default ovunque, dalla pratica degli URL puliti ai default della maggior parte dei CMS.
Come usare il generatore di slug
Tre passi. Ognuno corrisponde a un pulsante in questa pagina.
Incolla un titolo o carica l'esempio
Butta un titolo, un'intestazione, un nome di prodotto o un testo qualsiasi nel pannello sinistro. Clicca su Esempio per caricare un esempio realistico con lineette, accenti e parentesi — il tipo di titolo che rompe il codice di slug ingenuo. Input di esempio:
Come Analizzare un URL in JavaScript — La Guida del Proprietario di un Caffè (Edizione 2026)Va bene tutto — emoji, lettere accentate, virgolette tipografiche, lineette, doppi trattini, spazi multipli. Lo slug esce pulito.
Leggi lo slug
Il pannello destro mostra lo slug mentre digiti. Minuscolo, con trattini, solo ASCII, limitato a 80 caratteri su un confine di parola. Se l'input non conteneva caratteri utilizzabili per lo slug (es. solo emoji o solo punteggiatura), vedrai una nota amichevole invece di un risultato vuoto confuso.
Copia o scarica
Clicca su Copia per inviare lo slug agli appunti, o su Scarica per salvarlo come file .txt. Usa Pulisci sul pannello di input per ricominciare con un nuovo titolo.
Quando lo useresti davvero
URL di articoli del blog
Il tuo CMS genera slug automaticamente ma sono brutti — toglie gli accenti male, lascia underscore, non gestisce le virgolette tipografiche. Incolli il titolo qui, ottieni uno slug pulito, lo incolli di nuovo nel campo URL. Funziona per WordPress, Ghost, blog Next.js fatti a mano, qualsiasi cosa che ti permetta di sovrascrivere lo slug.
URL di prodotti o categorie nell'e-commerce
Marco Rivera aggiunge un nuovo prodotto chiamato "Set Crème Brûlée — Confezione da 4 (Edizione Limitata)". L'URL deve essere /prodotti/set-creme-brulee-confezione-da-4-edizione-limitata, non /prodotti/Set+Crème+Brûlée+%E2%80%94+Confezione+da+4+%28Edizione+Limitata%29. Slug e via.
Nomi di file da titoli inseriti dagli utenti
Stai salvando documenti caricati su disco e il cliente ha digitato "Report Q4 — Finale (v3).docx" come titolo. Non lo vuoi come nome di file. Slug del titolo, aggiungi .docx, scrivi il file. Funziona allo stesso modo per chiavi S3, nomi di branch GitHub da titoli di issue, e nomi di canali Slack da nomi di progetto.
Migrare contenuti da un altro CMS
Priya Patel sta spostando 800 articoli da un CMS legacy a uno nuovo e i titoli sorgenti hanno encoding incoerente — alcuni accentati, altri no, alcuni con emoji da un redesign del 2018. Passa ogni titolo per il slugger, deduplica, e hai la tua nuova mappa di URL pronta per la tabella di redirect.
Domande Frequenti
Perché togliete gli accenti invece di codificarli in percent?
Perché lo slug è pensato per essere leggibile dagli umani. café nello slug diventa %C3%A9 nell'URL effettivo, che fa schifo nella barra del browser, rompe il copia-incolla nelle chat, e confonde i lettori non tecnici. Ridurre ad ASCII mantiene l'URL leggibile e SEO-friendly. La normalizzazione NFD è il modo standard di fare questa scomposizione.
E le scritture non latine — cinese, arabo, hindi?
NFD non scompone ideogrammi o scritture che non hanno una struttura base+segno-combinante. Quindi un titolo in cinese produrrà uno slug vuoto qui, e vedrai il messaggio "nessun carattere utilizzabile per lo slug". Per le scritture non latine hai due opzioni: traslitterare prima (usando una libreria come ICU o unidecode), o usare la scrittura originale nell'URL — i browser moderni e Google gestiscono Unicode negli URL senza problemi, solo in modo meno carino.
Perché limitare a 80 caratteri?
Nessuna regola rigida, ma URL che superano i ~80 caratteri nel segmento di path iniziano a spezzarsi male in email, anteprime social e stampati. Le indicazioni di Google non fissano un numero ma raccomandano URL "semplici e descrittivi" — quelli lunghi non sono né l'uno né l'altro. Il limite trova l'ultimo trattino prima degli 80 caratteri per evitare un taglio a metà parola.
Gestisce gli emoji?
Sì. Gli emoji vengono rimossi insieme agli altri caratteri non alfanumerici. Quindi "🎉 Nuovo Lancio! 🚀" diventa nuovo-lancio. Se il tuo slug finisce vuoto (input solo emoji), ottieni la nota amichevole di slug vuoto invece di un URL rotto.
Qual è la differenza tra questo e fare URL-encoding del titolo?
URL-encoding mantiene ogni carattere ma fa l'escape di quelli non sicuri — quindi gli spazi diventano %20, gli accenti diventano byte UTF-8 percent-escapati. Il risultato è un URL valido ma illeggibile. Uno slug è qualcosa di diverso: un segmento di path human-friendly che butta via i caratteri che non c'entrano. Usa URL-encoding per i parametri di query, slug per i segmenti di path. Il WHATWG URL Standard ha le definizioni precise per entrambi.
Devo usare kebab-case o snake_case?
Kebab-case (mio-post-titolo) per gli URL — è la convenzione e quello che i motori di ricerca trattano come separatore di parole. Snake_case (mio_post_titolo) va bene per nomi di variabili e identificatori di database, ma negli URL gli underscore vengono spesso trattati come parte della parola, danneggiando il SEO. Questo strumento usa kebab di default. Se ti serve snake, fai find-and-replace dei trattini nell'output.
Altri Strumenti URL e Testo
Uno slug è un pezzo di un URL. Ecco cos'altro ci sta bene: