Generatore di slug URL — crea slug da qualunque testo
Trasforma qualunque titolo in uno slug URL pulito e SEO-friendly all'istante. Translittera accenti e cirillico, o mantieni le lettere Unicode. 100% privato, nel browser.
Cos'è uno slug URL?
Uno slug URL è la parte di un indirizzo web che identifica una pagina specifica in modo leggibile. In `https://go-tools.org/blog/how-to-write-url-slugs`, lo slug è `how-to-write-url-slugs` — il segmento dopo l'ultimo slash che nomina il contenuto. La parola viene dall'editoria dei giornali, dove uno "slug" era il breve nome di lavoro che i redattori davano a un articolo; il web ha preso in prestito il termine per il nome breve che identifica una pagina.
Uno slug ben formato segue alcune convenzioni diventate quasi universali. È in minuscolo, perché i motori di ricerca trattano gli URL come case-sensitive e una forma minuscola coerente impedisce che la stessa pagina sia raggiungibile a più URL. Usa i trattini per separare le parole, perché Google legge un trattino come confine di parola (quindi `url-slug-generator` è tre keyword) ma legge un underscore come unificatore di parola. Rimuove punteggiatura e simboli, perché caratteri come `?`, `&`, `#` e gli spazi hanno significati riservati negli URL o devono essere codificati in percent-encoding, il che rende l'indirizzo brutto e più difficile da condividere. Ed è conciso — abbastanza lungo da descrivere la pagina e portare la keyword target, abbastanza corto da leggersi a colpo d'occhio.
Generare uno slug a mano è meccanico ma tedioso: metti il titolo in minuscolo, sostituisci gli spazi con trattini, rimuovi la punteggiatura, riduci i caratteri accentati, collassa eventuali trattini doppi e taglia le estremità. Questo strumento fa tutto questo in un solo passaggio, a ogni battuta. Le decisioni interessanti riguardano il testo non ASCII. Ci sono due filosofie valide. La prima, la translitterazione (la modalità ASCII di questo strumento), converte é in e, ü in u, ß in ss e Привет in privet, producendo uno slug portabile in puro ASCII che funziona ovunque. Si basa sulla normalizzazione Unicode NFD per dividere una lettera accentata in una lettera base più un segno combinante, poi scarta il segno — una tecnica a zero dipendenze integrata in ogni motore JavaScript — più piccole tabelle mantenute a mano per i caratteri privi di decomposizione (ß, æ, ø) e per gli alfabeti cirillico e greco. La seconda filosofia, la preservazione Unicode (la modalità Unicode di questo strumento), mantiene le lettere di ogni script e si limita a mettere in minuscolo e unire con trattini, producendo uno slug internazionalizzato come 你好-世界. È esattamente la regola che GitHub applica quando trasforma un'intestazione Markdown in un link àncora, e i browser e i motori di ricerca moderni la supportano pienamente tramite lo standard IRI.
Lo slug è un piccolo pezzo del design di un URL, ma fa un lavoro reale: dice ai visitatori umani di cosa parla una pagina prima che clicchino, dà ai motori di ricerca segnali di keyword e rende i link leggibili quando vengono condivisi in chat, email o post sui social. Uno slug descrittivo come /tools/url-slug-generator batte uno opaco come /tools/page?id=4823 su ognuna di queste dimensioni.
Questo strumento gira interamente nel tuo browser — lo slug si aggiorna senza alcuna richiesta di rete, e il tuo testo non viene mai caricato né registrato. Per il lavoro correlato sul testo, il convertitore di maiuscole-minuscole passa il testo tra camelCase, snake_case, kebab-case e altri stili di identificatore, il codificatore/decodificatore URL gestisce il percent-encoding di URL completi e query string, e il contatore di parole misura lunghezza e tempo di lettura. Insieme coprono la maggior parte della modellazione del testo che uno sviluppatore o un autore di contenuti fa prima di pubblicare.
// The core of a zero-dependency slugify (ASCII mode)
function slugify(input) {
return input
.normalize('NFD') // café → cafe + combining accent
.replace(/[\u0300-\u036f]/g, '') // drop the combining marks
.replace(/ß/g, 'ss') // chars with no NFD decomposition
.replace(/&/g, ' and ') // keep the meaning of '&'
.toLowerCase()
.replace(/[^a-z0-9]+/g, '-') // every other run of junk → one hyphen
.replace(/^-+|-+$/g, ''); // trim leading / trailing hyphens
}
slugify('Crème Brûlée Recipe'); // 'creme-brulee-recipe'
slugify('Salt & Pepper'); // 'salt-and-pepper'
slugify('10 Tips: A Guide!'); // '10-tips-a-guide' Caratteristiche principali
Due modalità di translitterazione
La modalità ASCII riduce gli accenti e romanizza cirillico e greco in uno slug portabile a–z; la modalità Unicode mantiene le lettere di qualunque script, in stile àncora GitHub. Un solo toggle copre sia il caso d'uso "rendilo portabile" sia quello "mantieni la mia lingua" tra cui altri strumenti ti costringono a scegliere.
Riduzione accurata degli accenti
Usa la normalizzazione Unicode NFD per ridurre café → cafe, naïve → naive e Zürich → zurich, più una gestione esplicita per i caratteri privi di decomposizione (ß → ss, æ → ae, ø → o). Il risultato è corretto per francese, spagnolo, portoghese, tedesco, le lingue nordiche e altre.
In tempo reale, nessun pulsante Converti
Lo slug si aggiorna a ogni battuta e a ogni cambio di opzione — nessun pulsante da cliccare, nessuna ricarica di pagina. Incolla un titolo, leggi lo slug, copialo. Costruito per la velocità del pubblicare davvero.
Controlli di separatore, case e lunghezza
Passa tra separatori trattino e underscore, mantieni o togli il minuscolo, e limita lo slug a una lunghezza massima che tronca su un confine di parola anziché a metà parola. Default sensati (trattino, minuscolo, nessun limite) corrispondono alle best practice SEO da subito.
Gestione intelligente della e-commerciale
La e-commerciale viene espansa in "and" così "Salt & Pepper" diventa salt-and-pepper invece di perdere silenziosamente una parola. Sequenze di qualunque altra punteggiatura collassano in un singolo separatore, così non ottieni mai trattini doppi o finali.
Permalink condivisibile
Il tuo input e le tue scelte di opzioni vengono codificati nell'URL della pagina, così puoi condividere un link che riproduce esattamente lo slug che hai generato — comodo per documentare una decisione di naming in un ticket o in una pull request.
Privacy 100% nel browser
Ogni slug viene generato localmente nel tuo browser. Il tuo testo non viene mai caricato, registrato o analizzato — sicuro per nomi di prodotti non ancora annunciati e bozze di titoli. Zero richieste di rete mentre digiti; verificalo nella scheda Network del tuo browser.
Alternative al generatore di slug a confronto
slugify (pacchetto npm)
libreria JavaScriptLa libreria slugify per Node più popolare — separatore configurabile, minuscolo, sostituzioni personalizzate e una mappa di translitterazione. Usala nella tua pipeline di build per generare slug a livello di codice; usa questo strumento per slug una tantum e per vedere in anteprima come apparirà un titolo prima di fissarlo nel codice.
github-slugger
libreria JavaScriptLa libreria che alimenta le àncore di intestazione di GitHub — mantiene le lettere Unicode (non translittera) e de-duplica gli slug ripetuti su una pagina. La modalità Unicode di questo strumento riproduce il suo comportamento mantieni-le-lettere, che è ciò che vuoi quando devi far corrispondere i link àncora interni alla pagina nei doc Markdown.
Django slugify / Python-slugify
libreria PythonLo slugify integrato di Django translittera in ASCII; il python-slugify di terze parti aggiunge la gestione Unicode e più opzioni. Entrambi sono lato server. Questo strumento browser ti dà lo stesso risultato di translitterazione in modo interattivo, senza alcun ambiente Python, per controlli rapidi e lavoro sui contenuti.
Auto-slug di WordPress / Ghost / Hugo
funzionalità CMSOgni CMS principale genera automaticamente uno slug dal titolo al salvataggio. Sono comodi ma ti danno poco controllo e spesso lasciano stop-word o troncamenti goffi. Usa questo strumento per creare e accorciare lo slug in modo deliberato, poi incollalo nel campo slug del CMS per sovrascrivere quello generato automaticamente.
Slugify di it-tools
strumento browserUno slugify open-source pulito nella popolare suite it-tools — translittera e mette in minuscolo con un comportamento fisso. Questo strumento aggiunge un toggle esplicito di modalità ASCII/Unicode, controlli di separatore e lunghezza, gestione intelligente della e-commerciale ed esempi svolti completi e guida alle best practice per i casi limite non latini e SEO.
Strumento slug di convertcase.net
strumento browserUn sito di utility per il testo di lunga data con un'opzione slug di base focalizzata sul testo latino. Questo strumento va oltre sull'internazionalizzazione (romanizzazione cirillico/greco, una modalità che preserva l'Unicode) e sulle decisioni SEO — scelta del separatore, limite di lunghezza e la logica trattino-contro-underscore — che determinano se uno slug si posiziona davvero.
Esempi di generazione di slug
Titolo di post di blog → slug URL
10 Tips for Faster JavaScript: A Complete Guide!
10-tips-for-faster-javascript-a-complete-guide
I due punti, il punto esclamativo e le lettere maiuscole vengono tutti normalizzati via. Il risultato è esattamente lo slug in kebab-case che WordPress, Ghost e Hugo generano per default — inseriscilo direttamente nel campo slug. I numeri sono preservati, quindi "10" resta in testa dove porta valore di keyword.
Titolo accentato (modalità ASCII) → slug translitterato
Crème Brûlée Recipe
creme-brulee-recipe
La modalità ASCII riduce gli accenti usando la normalizzazione Unicode NFD: è → e, û → u. Lo slug è in puro ASCII, quindi funziona in ogni URL, nome di file e chiave di database senza percent-encoding. È il comportamento che la maggior parte delle piattaforme CMS si aspetta per i titoli in lingue europee.
Titolo tedesco con ß e umlaut
Große Änderungen für 2026
grosse-anderungen-fur-2026
La ß non ha una decomposizione NFD, quindi viene mappata esplicitamente a "ss". Gli umlaut ä e ü si riducono a a e u. Nota: usa la convenzione internazionale semplice (ä → a); se il tuo stile di casa richiede la grafia tedesca ae/oe/ue, modifica lo slug dopo averlo copiato.
Titolo cirillico (modalità ASCII) → slug romanizzato
Привет мир
privet-mir
Una tabella compatta da cirillico a latino romanizza l'intera frase, così diventa uno slug ASCII leggibile invece di una stringa vuota. Passa alla modalità Unicode e lo stesso input resta привет-мир, mantenendo lo script originale per un pubblico di lingua russa.
Titolo CJK in modalità Unicode
你好 世界
你好-世界
Gli ideogrammi cinesi, giapponesi e coreani non hanno qui una translitterazione ASCII, quindi la modalità ASCII restituisce uno slug vuoto. La modalità Unicode mantiene le lettere e si limita a unirle con trattini — l'approccio moderno e conforme agli standard per gli URL internazionalizzati, lo stesso che GitHub usa per le àncore delle intestazioni.
Simboli ed e-commerciale → parole leggibili
Salt & Pepper: 100% Natural
salt-and-pepper-100-natural
La e-commerciale viene espansa in "and" così la parola sopravvive invece di sparire. Il segno di percentuale e i due punti vengono rimossi come caratteri URL non sicuri, mentre le cifre in "100" vengono mantenute. Il risultato si legge pulito e porta con sé ogni keyword significativa.
Come usare il generatore di slug
- 1
Incolla o scrivi il tuo testo
Clicca nell'editor e inserisci un titolo, un'intestazione o una frase — oppure tocca una delle chip dei preset (Titolo di blog, Accenti, CJK, Cirillico, Simboli) per caricare un esempio rappresentativo. Lo slug appare all'istante nel box di output sotto.
- 2
Scegli la modalità ASCII o Unicode
Lascia Modalità su ASCII per uno slug portabile a–z che translittera gli accenti e romanizza cirillico/greco. Passa a Unicode se il tuo testo è in uno script non latino (cinese, arabo, cirillico) e vuoi mantenere i caratteri originali nell'URL.
- 3
Regola separatore, case e lunghezza
Mantieni il separatore trattino (consigliato) o passa all'underscore. Minuscolo è attivo di default; disattivalo per preservare la capitalizzazione. Imposta una Lunghezza massima per limitare gli slug lunghi a un confine di parola, o lasciala a 0 per lo slug completo.
- 4
Copia lo slug
Clicca Copia per scrivere lo slug finito nei tuoi appunti — il pulsante lampeggia "Copiato!" per confermare. Incollalo nel campo slug del tuo CMS, in un nome di file o in un id di àncora. Clicca Reset per svuotare l'editor e ricominciare.
Errori comuni negli slug
Lasciare le lettere maiuscole nello slug
Poiché gli URL sono case-sensitive per i motori di ricerca, uno slug con case misto può rendere la stessa pagina raggiungibile a più indirizzi (/My-Post e /my-post), dividendo i segnali dei link e rischiando un trattamento da contenuto duplicato. Metti sempre gli slug in minuscolo a meno che un sistema lo richieda specificamente in modo diverso.
https://example.com/My-Awesome-Post
https://example.com/my-awesome-post
Usare gli underscore invece dei trattini
Gli underscore uniscono le parole agli occhi di Google, quindi my_first_post viene letto come un unico token anziché tre keyword. I trattini separano le parole e sono la scelta raccomandata per la SEO e standard nei CMS. Cambia il separatore in underscore solo quando un sistema a valle ti ci obbliga.
https://example.com/my_first_post
https://example.com/my-first-post
Lasciare caratteri non ASCII grezzi nell'URL
Incollare un titolo con accenti o simboli direttamente in un campo URL può produrre una zuppa in percent-encoding quando l'indirizzo viene copiato (caf%C3%A9-cr%C3%A8me). O translittera in ASCII (café → cafe) o scegli deliberatamente la modalità Unicode e accetta la codifica — non lasciare caratteri accidentali, mezzo-codificati nello slug.
https://example.com/caf%C3%A9-cr%C3%A8me
https://example.com/cafe-creme
Infilare l'intero titolo nello slug
Uno slug di 90 caratteri che ripete l'intero titolo parola per parola è difficile da leggere, viene troncato negli snippet di ricerca e diluisce la keyword. Riducilo alla frase centrale. Usa l'opzione Lunghezza massima per limitare lo slug e togli le stop-word per un URL più stretto.
the-10-absolute-best-and-most-effective-tips-for-writing-faster-javascript-code-in-2026
faster-javascript-tips
Chi usa un generatore di slug
- Blogger e autori di contenuti
- Trasforma il titolo di un post nello slug URL che il tuo CMS si aspetta. Incolla "10 Tips for Faster JavaScript: A Complete Guide" e copia `10-tips-for-faster-javascript-a-complete-guide` direttamente nel campo slug di WordPress, Ghost o Hugo — ricco di keyword e pulito.
- Specialisti SEO
- Crea slug brevi e focalizzati sulle keyword che si leggono bene nei risultati di ricerca e portano valore di click-through. Usa il controllo Lunghezza massima per tenere gli slug sotto i ~60 caratteri e togli le stop-word per un URL più stretto e rilevante.
- Sviluppatori che danno nome a rotte e file
- Genera identificatori sicuri per percorsi di rotta, nomi di file statici, nomi di asset immagine e chiavi di storage a partire da label leggibili. La modalità ASCII garantisce che il risultato sia portabile tra filesystem e database che si bloccano sui caratteri non ASCII.
- Autori di documentazione e Markdown
- Riproduci gli slug delle àncore di intestazione che GitHub, GitLab e la maggior parte dei generatori di siti statici creano dalle intestazioni, così i tuoi link "#section" interni alla pagina corrispondono. La modalità Unicode rispecchia il comportamento mantieni-le-lettere di GitHub per le intestazioni non inglesi.
- Siti internazionalizzati
- Scegli il comportamento per lingua: translittera i titoli europei in ASCII per la massima compatibilità, o passa alla modalità Unicode per mantenere nell'URL i caratteri cinesi, cirillici o greci per i lettori di script nativo. Entrambi sono validi; il toggle ti lascia decidere per pagina.
- Team e-commerce e di catalogo
- Genera slug stabili di prodotto e categoria a partire dai nomi dei prodotti — inclusi nomi di marca accentati e simboli. La gestione intelligente della e-commerciale fa sì che "Salt & Pepper" diventi salt-and-pepper invece di perdere la parola, mantenendo il nome del prodotto ricercabile.
Come funziona la slugificazione
- Normalizzazione Unicode NFD per gli accenti
- Le lettere latine accentate vengono ridotte normalizzando la stringa in NFD (Decomposizione Canonica), che divide un carattere come é nella lettera base e più un accento acuto combinante (U+0301), poi rimuovendo i segni combinanti nell'intervallo U+0300–U+036F. È una capacità integrata, a zero dipendenze, di ogni motore JavaScript e copre gli accenti di francese, spagnolo, portoghese, italiano, gli umlaut tedeschi e le lingue nordiche e centro-europee. I caratteri privi di decomposizione canonica — ß, æ, œ, ø, đ, ł, þ — vengono gestiti da una piccola mappa esplicita (ß → ss, æ → ae, e così via).
- Romanizzazione di cirillico e greco
- La modalità ASCII include tabelle di translitterazione compatte e mantenute a mano per gli alfabeti cirillico e greco, così Привет мир diventa privet-mir e Λάμδα diventa lamda. La tabella cirillica usa lo schema di romanizzazione russa comune. Gli ideogrammi CJK e lo script arabo non vengono intenzionalmente translitterati in modalità ASCII — la conversione completa pinyin/romaji richiede dizionari di grandi dimensioni e produce output ambiguo — quindi per quegli script la modalità Unicode (che preserva i caratteri) è la scelta consigliata.
- Foglio di translitterazione
- La tabella sotto mostra come si comportano caratteri rappresentativi in ogni modalità. La modalità ASCII punta a uno slug portabile a–z, 0–9; la modalità Unicode mantiene qualunque lettera o cifra.
Input Modalità ASCII Modalità Unicode é è ê ë e é è ê ë (mantenuti) ü ö ä u o a mantenuti ñ n ñ (mantenuto) ç c ç (mantenuto) ß ss ß (mantenuto) æ / œ / ø ae / oe / o mantenuti Привет privet привет Λάμδα lamda λάμδα 你好 世界 (scartato) 你好-世界 & and and 🚀 (emoji) (scartato) (scartato) - Collasso e trimming dei separatori
- Dopo la translitterazione, ogni sequenza di caratteri che non sia una lettera o una cifra viene sostituita da un singolo separatore. Questo significa che punteggiatura doppia e tripla non può mai produrre separatori doppi: "a---b__c" diventa a-b-c. I separatori iniziali e finali vengono tagliati, così un titolo che inizia o finisce con punteggiatura non produce mai uno slug con un trattino pendente. La e-commerciale viene espansa in "and" prima di questo passaggio così la parola viene preservata.
- Troncamento al confine di parola
- Quando imposti una lunghezza massima, lo slug viene tagliato a quella lunghezza e poi, se il taglio è caduto in mezzo a una parola, riportato indietro al separatore precedente così non ottieni mai mezza parola alla fine. Un separatore finale lasciato dal taglio viene rimosso. Almeno una parola viene sempre mantenuta, anche se la prima parola è più lunga del limite. Imposta il limite a 0 per disabilitare del tutto il troncamento.
- Case sensitivity e minuscolo
- Gli URL sono case-sensitive per specifica — /About e /about sono indirizzi diversi per un motore di ricerca — quindi lo strumento mette in minuscolo di default per evitare che lo stesso contenuto sia raggiungibile a più URL (un rischio di contenuto duplicato). In modalità Unicode, il minuscolo si applica agli script che hanno il case (latino, cirillico, greco) ed è un no-op per gli script che non ce l'hanno (CJK). Disattiva l'opzione Minuscolo quando un sistema a valle richiede di preservare la capitalizzazione originale.
Best practice per gli slug URL
- Mantieni gli slug brevi e focalizzati sulle keyword
- Punta a più o meno 3–6 parole significative, idealmente sotto i circa 60 caratteri. Uno slug breve è più facile da leggere, meno soggetto a venire troncato nei risultati di ricerca e più pulito quando condiviso. Includi la keyword target della pagina e togli il superfluo — le stop-word come a, the, of e for si possono quasi sempre rimuovere senza perdere chiarezza.
- Usa i trattini, non gli underscore o gli spazi
- Google tratta i trattini come separatori di parola e gli underscore come unificatori di parola, quindi i trattini danno a ogni parola il proprio segnale di keyword. Gli spazi devono essere codificati in percent-encoding come %20, il che rende gli URL brutti. I trattini sono la convenzione CMS universale — questo strumento li usa di default per buoni motivi.
- Non cambiare mai uno slug pubblicato
- Uno slug è un indirizzo permanente. Cambiarlo dopo la pubblicazione rompe ogni link in entrata, segnalibro e condivisione social esistente, e azzera il valore SEO accumulato della pagina a meno che tu non imposti un redirect 301. Decidi lo slug prima di pubblicare, e se devi cambiarlo in seguito, aggiungi sempre un redirect dal vecchio slug a quello nuovo.
- Scegli ASCII o Unicode in modo deliberato
- Per un pubblico ampio o internazionale, la translitterazione ASCII massimizza la compatibilità e mantiene gli URL puliti quando copiati come testo. Per un pubblico monolingue non latino (un sito cinese, russo o greco), gli slug Unicode sono più leggibili per i tuoi lettori reali e sono pienamente supportati dai motori di ricerca moderni. Abbina la modalità a chi leggerà l'URL.
- Tieni le date fuori dallo slug
- Non incorporare un anno o una data nello slug (/2024-buyers-guide). Quando aggiorni il contenuto in seguito, resti bloccato con una data obsoleta nell'URL o con un cambio di slug che rompe i link. Memorizza invece la data di pubblicazione nei metadati del tuo CMS, e mantieni lo slug senza tempo così lo stesso URL può portare contenuto aggiornato per anni.
Domande frequenti
Cos'è uno slug URL?
Dovrei usare trattini o underscore in uno slug URL?
Qual è la differenza tra modalità ASCII e modalità Unicode?
Gli slug URL Unicode (non ASCII) sono sicuri e validi per la SEO?
Come vengono gestiti emoji e simboli speciali?
Qual è una buona lunghezza massima per uno slug?
Come gestisce lo strumento il testo cinese, giapponese, coreano o arabo?
Uno slug URL dovrebbe includere la data o un numero?
Il mio testo viene caricato da qualche parte?
Strumenti correlati
Vedi tutti gli strumenti →Convertitore maiuscole-minuscole online
Elaborazione del testo
Converti testo tra UPPERCASE, lowercase, Title Case, camelCase, snake_case e altri 10 formati all'istante. Gratuito, solo browser, senza registrazione.
Generatore Lorem Ipsum — Testo Segnaposto
Elaborazione del testo
Genera testo segnaposto Lorem Ipsum all'istante — per paragrafo, frase, parola, byte o elenco. Copia o scarica come testo, HTML, Markdown o JSON. 100% gratis, privato, nel browser. Senza registrazione.
Tester Regex gratuito — Debug e match dei pattern online
Elaborazione del testo
Testa pattern regex all'istante su qualsiasi testo. Evidenziazione delle corrispondenze, gruppi di acquisizione, anteprima di sostituzione e split. Espressioni regolari in JavaScript, 100% private, senza registrazione.
Confronta due testi — Diff
Elaborazione del testo
Confronta due testi all'istante nel browser. Vista affiancata, evidenziazione parola per parola, esportazione diff unificato, opzioni per ignorare maiuscole/spazi/righe vuote. 100 % browser — nessun upload.
Contatore di parole e caratteri gratuito
Elaborazione del testo
Conta parole, caratteri, frasi, paragrafi e tempo di lettura all'istante. Contatore di parole in tempo reale con controlli di limite per Twitter, meta description e Instagram. Gratuito, privato, senza registrazione.
Convertitore di Basi Numeriche — Bin, Hex, Ott, Dec
Strumenti di conversione
Converti istantaneamente tra binario, esadecimale, decimale, ottale e qualsiasi base (2-36). Strumento online gratuito e privato: tutta l'elaborazione avviene nel tuo browser.