Convertitore kebab-case
Hello World Example diventa hello-world-example, e getUserId diventa get-user-id. Spazi, trattini bassi e punteggiatura si riducono a un solo trattino, così non restano mai trattini doppi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello World Example
- Risultato
- hello-world-example
- Ingresso
- Hello World Example
- Formato kebab
- hello-world-example
- Caso kebab
- hello-world-example
Gli sviluppatori front-end, i manutentori di design system, gli script di codegen e i test unitari necessitano della stessa mappatura da un incolla misto a un token kebab-case prevedibile.
Cosa significa kebab-case e come si dividono le parole
Il kebab-case è lo stile di naming che scrive identificatori multi-parola in lettere minuscole con un solo trattino tra ogni parola: hello-world, user-profile-settings, convert-to-kebab-case. È la forma convenzionale per nomi di classi CSS, molti attributi HTML personalizzati, nomi di pacchetti in stile npm e segmenti di percorso URL leggibili quando si preferiscono i trattini agli underscore. Questo convertitore costruisce quella forma da testo libero.
L'input restante viene diviso in token: sequenze di spazi, underscore, trattini e altri caratteri non alfanumerici agiscono da separatori; i confini camelCase e PascalCase inseriscono un'ulteriore interruzione così getUserId diventa get, user e id anziché un token opaco. Ogni token viene messo in minuscolo e i segmenti vuoti vengono scartati, poi i token sono uniti con un solo trattino così separatori ripetuti non producono mai doppi trattini. La sola punteggiatura senza lettere o cifre fallisce anche la validazione, perché non resterebbe nulla da unire.
Consigli pratici, limiti e quando usare questo strumento
Usi questa capacità quando l'intento di ricerca è convertire in kebab-case, fare hyphen-case o trasformare una frase in parole minuscole unite da trattini. Tenga presenti gli identificatori non ASCII intenzionali: restano solo lettere e cifre ASCII nei token, quindi i caratteri fuori da quell'insieme agiscono da separatori anziché essere traslitterati—se le serve una slugificazione Unicode completa con rimozione dei diacritici, preferisca uno strumento dedicato di slug URL.
Questa landing non è un convertitore title-case che capitalizza le parole principali per i titoli, né un formattatore sentence-case, né un servizio SEO di slug completo con tabelle di traslitterazione per locale. Preferisca uno strumento title-case quando gli esseri umani leggeranno la stringa come titolo; preferisca questa capacità quando le macchine tratteranno la stringa come identificatore con trattini.
Casi d'uso
Nomi di classi CSS e token di design
Trasformi etichette di componenti o token in nomi di classe kebab-case stabili prima di generare fogli di stile o documentazione del design system.
Identificatori di route e attributi data
Normalizzi titoli di prodotto o pagina a case mista in segmenti di percorso con trattini e valori data-testid.
Domande frequenti
Cos'è il kebab-case?
Il kebab-case scrive identificatori multi-parola in minuscolo con un solo trattino tra le parole, ad esempio hello-world o user-profile-settings.
Come si dividono le parole?
Spazi, underscore, trattini e altre sequenze non alfanumeriche separano le parole. Anche i confini camelCase e PascalCase inseriscono interruzioni prima di minuscole e unione.
Cosa succede con input vuoto?
Anche l'input senza lettere o cifre dopo lo split fallisce la validazione.
È la stessa cosa di un generatore di slug URL?
Correlato ma non identico. Questo strumento si concentra su token minuscoli con trattini da una frase. Gli strumenti slug dedicati possono anche rimuovere diacritici o applicare traslitterazione per locale.
Il convertitore kebab-case è gratis?
Lo strumento browser è gratis e gira in locale.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/kebab-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World Example"}'const res = await fetch("https://api.kit.forhosting.com/str/kebab-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World Example"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/kebab-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World Example"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/kebab-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World Example"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World Example"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/kebab-case", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Hello World Example"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.kebab_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Un convertitore kebab-case trasforma una frase in un identificatore in minuscolo separato da trattini, il formato atteso da classi CSS, attributi data HTML, nomi di pacchetti e molti segmenti di percorso API. Inserisca qualsiasi stringa non vuota—titoli, identificatori camelCase, campi snake_case o etichette multi-parola—e lo strumento restituisce un risultato kebab-case deterministico con le parole in minuscolo unite da singoli trattini. L'input vuoto o solo spazi viene rifiutato con un chiaro errore invalid_input così le pipeline non trattano mai una stringa bianca come conversione riuscita. Il percorso è logica pura di stringa—senza rete, senza semi casuali, senza dipendenza dall'orologio—così l'esecutore gratuito del browser e l'API prepagata restituiscono lo stesso JSON ogni volta che la si chiama.
Cosa significa kebab-case e come si dividono le parole
Gli spazi iniziali e finali vengono prima ritagliati; se non resta nulla, la chiamata fallisce con invalid_input invece di restituire una stringa di successo vuota.
Come chiamare l'API e cosa contiene la risposta
Preferisca inviare la frase grezza piuttosto che pre-trattinare a mano quando vuole il set di regole fisso; il convertitore collassa separatori e stili di case misti in una forma normalizzata. Invii un corpo JSON con un campo stringa obbligatorio text (alias input, value, string, s e phrase). Il valore deve essere una stringa non vuota dopo il trim degli spazi e non deve superare centomila caratteri così una singola richiesta non esaurisce la memoria del Worker o del browser su incolla enormi. In caso di successo la risposta ecoa input come la stringa originale inviata, text come la stringa di lavoro ritagliata, result come l'output kebab-case, kebab e kebab_case come la stessa stringa con nomi alternativi per i client che preferiscono quelle chiavi, word_count come il numero di token dopo lo split e il filtro, e message come un breve riepilogo che indica quante parole sono state convertite. La validazione fallita—text assente, valore non stringa, payload troppo grande, contenuto vuoto dopo il trim, o input senza caratteri alfanumerici—restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item e prezzo marginale unitario zero.
Consigli pratici, limiti e quando usare questo strumento
Incolli un nome di componente, un'intestazione o un campo snake_case legacy, converta una volta e inserisca il risultato in una classe di modulo CSS, un attributo data-testid o un segmento di route. I controlli andata-ritorno per i test sono semplici: invii Hello World Example e si aspetti hello-world-example con word_count tre; invii getUserId e si aspetti get-user-id; invii deliberatamente stringa vuota o spazi per confermare invalid_input e il messaggio che chiede una stringa non vuota. Le attività fallite che restituiscono invalid_input non consumano saldo prepagato, il che mantiene economiche la validazione dei form e i test negativi CI. Nell'insegnare le convenzioni di naming, confronti la stessa frase come camelCase, snake_case e kebab-case così gli studenti vedono perché gli ecosistemi front-end e CSS standardizzano i trattini anziché le maiuscole o gli underscore.
Casi di integrazione
Test unitari per formattatori di stringhe
Generi fixture kebab-case di riferimento e asserisca che l'input vuoto solleva invalid_input in CI.