Skiftlägeskonvertering är processen att ändra bokstavskombinationen eller ordavskiljningsmönstret i en sträng. Ett konverteringsverktyg tar inmatning som "hello world" och omvandlar den till UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case eller andra konventioner. Omvandlingen är enkel för ren ASCII-text, men kantsituationer uppstår med akronymer ("XMLParser"), språkspecifika regler (turkiskt prickat I) och strängar med blandade skriftsystem.
Programmeringsspråk, filsystem och stilguider tillämpar sina egna namngivningskonventioner. JavaScript-variabler använder normalt camelCase. Python-funktioner och variabler följer snake_case enligt PEP 8. CSS-klassnamn använder kebab-case. Databaskolumner varierar per team, men snake_case dominerar i PostgreSQL och MySQL. Att byta mellan dessa konventioner manuellt är tidskrävande och felbenäget, särskilt vid namnbyte i dussintals filer.
Skiftlägeskonventioner spelar även roll utanför kod. Title Case följer regler definierade av stilguider som Chicago Manual of Style och APA, där artiklar och korta prepositioner förblir gemener om de inte inleder meningen. Sentence case skriver bara det första ordet och egennamn med stor bokstav. Amerikansk engelskpublicering väljer som standard Title Case för rubriker; de flesta europeiska och tekniska dokument använder Sentence case i stället.
Varför använda den här skiftlägeskonverteraren?
Klistra in vilken text som helst och konvertera den till nio skiftlägesformat direkt, utan att installera ett VS Code-tillägg eller skriva ett engångsskript.
⚡
Omedelbar konvertering
Välj ett skiftlägesformat och se resultatet direkt. Ingen tur-retur till en server, inget väntande. Byt mellan format för att jämföra resultat sida vid sida.
🔒
Integritetsskyddad bearbetning
Alla omvandlingar körs i din webbläsare med JavaScript. Din text stannar på din enhet. Ingenting skickas till en server eller lagras någonstans.
🔄
Nio format i ett verktyg
UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case och CONSTANT_CASE. En inmatning täcker alla vanliga konventioner.
🌍
Inget konto krävs
Öppna sidan och börja konvertera. Ingen registrering, inget webbläsartillägg, ingen skrivbordsinstallation. Fungerar på alla enheter med en modern webbläsare.
Användningsfall för skiftlägeskonverteraren
Frontendutveckling
Konvertera komponentpropnamn från snake_case i API-svar till camelCase för JavaScript-objekt. Byt namn på CSS-klasser från camelCase till kebab-case vid migrering till ett BEM- eller utility-first-namngivningssystem.
Backend-API-design
Översätt fältnamn mellan konventioner när du mappar databaskolumner (snake_case) till JSON-svarnycklar (camelCase). Verifiera att serialiseringslager producerar förväntat utdataformat.
DevOps och infrastruktur
Generera CONSTANT_CASE-miljövariabelnamn från beskrivande fraser. Konvertera Terraform-resursnamn mellan snake_case och kebab-case för att anpassa till teamets stilguider.
QA och testautomatisering
Förbered testfixturdata med korrekt formaterade fältnamn. Upptäck skiftlägesavvikelser mellan API-kontrakt och klientförväntningar innan de når produktion.
Datateknik
Normalisera kolumnrubriker vid import av CSV- eller Excel-filer till en databas. Konvertera blandade rubriker som "First Name" till snake_case-kolumner som "first_name" för ett konsekvent schemadesign.
Tekniskt skrivande och dokumentation
Formatera kodreferenser i dokumentation med korrekt skiftläge. Konvertera vanliga engelska beskrivningar till PascalCase-klassnamn eller kebab-case-URL-sluggar för konsekvens i tekniska specifikationer.
Referens för skiftlägeskonventioner
Varje namngivningskonvention har specifika regler för versalisering och ordavskiljning. Tabellen nedan visar alla nio format som verktyget stöder, med frasen "the quick brown fox" som referens.
Skiftläge
Regel
Exempel
UPPERCASE
Every letter capitalized
THE QUICK BROWN FOX
lowercase
Every letter lowercased
the quick brown fox
Title Case
First letter of each word capitalized
The Quick Brown Fox
Sentence case
First letter of each sentence capitalized
The quick brown fox
camelCase
No separators, first word lowercase
theQuickBrownFox
PascalCase
No separators, every word capitalized
TheQuickBrownFox
snake_case
Words joined by underscores, all lowercase
the_quick_brown_fox
kebab-case
Words joined by hyphens, all lowercase
the-quick-brown-fox
CONSTANT_CASE
Words joined by underscores, all uppercase
THE_QUICK_BROWN_FOX
camelCase vs snake_case vs kebab-case
Dessa tre konventioner dominerar inom mjukvaruutveckling, men var och en hör hemma i ett annat ekosystem. Att välja fel bryter mot linters, kränker API-kontrakt eller skapar inkonsekventa kodbaser.
camelCase
Standard för JavaScript- och TypeScript-variabler, funktionsnamn och objektnycklar. Java och C# använder det för lokala variabler och metodparametrar. JSON-API:er byggda för JavaScript-klienter använder normalt camelCase-nycklar. Det första ordet är gement; varje efterföljande ord börjar med en versal.
snake_case
Standard för Python (PEP 8), Ruby, Rust och de flesta SQL-databaser. C-standardbibliotekets funktioner följer också detta mönster. Ord avskiljs med understreck, allt i gemener. CONSTANT_CASE (allt versalt med understreck) är varianten som används för konstanter och miljövariabler.
kebab-case
Standard för CSS-klassnamn, HTML-attribut, URL-sluggar och CLI-flaggnamn (--output-dir). Vanligt i Lisp och Clojure. Ord avskiljs med bindestreck, allt i gemener. De flesta programmeringsspråk kan inte använda bindestreck i identifierare, så kebab-case är begränsat till strängar, filnamn och märkspråk.
Kodexempel
Hur man konverterar mellan skiftlägeskonventioner programmatiskt. Varje exempel täcker de vanligaste omvandlingarna: camelCase till snake_case, snake_case till camelCase, och grundläggande versals-/gemener-/titelkonverteringar.
JavaScript
// camelCase → snake_case
function toSnakeCase(str) {
return str
.replace(/([a-z])([A-Z])/g, '$1_$2')
.replace(/[\s-]+/g, '_')
.toLowerCase()
}
toSnakeCase('myVariableName') // → "my_variable_name"
toSnakeCase('kebab-case-str') // → "kebab_case_str"
// snake_case → camelCase
function toCamelCase(str) {
return str
.toLowerCase()
.replace(/[_-](\w)/g, (_, c) => c.toUpperCase())
}
toCamelCase('my_variable_name') // → "myVariableName"
// Title Case
function toTitleCase(str) {
return str.replace(/\w\S*/g, w =>
w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()
)
}
toTitleCase('the quick brown fox') // → "The Quick Brown Fox"
Python
import re
text = "the quick brown fox"
# UPPERCASE / lowercase
text.upper() # → "THE QUICK BROWN FOX"
text.lower() # → "the quick brown fox"
# Title Case
text.title() # → "The Quick Brown Fox"
# camelCase
def to_camel(s):
words = re.split(r'[\s_-]+', s)
return words[0].lower() + ''.join(w.capitalize() for w in words[1:])
to_camel("my_variable_name") # → "myVariableName"
# snake_case from camelCase
def to_snake(s):
return re.sub(r'([a-z])([A-Z])', r'\1_\2', s).lower()
to_snake("myVariableName") # → "my_variable_name"
# kebab-case
def to_kebab(s):
return re.sub(r'([a-z])([A-Z])', r'\1-\2', s).replace('_', '-').lower()
to_kebab("myVariableName") # → "my-variable-name"
Vad är skillnaden mellan camelCase och PascalCase?
camelCase börjar med en gemen bokstav (myVariable), medan PascalCase börjar med en versal (MyVariable). I JavaScript används camelCase för variabler och funktioner; PascalCase används för klassnamn och React-komponentnamn. C# använder PascalCase för publika metoder och egenskaper. Den enda strukturella skillnaden är det första tecknet.
Hur konverterar jag camelCase till snake_case i JavaScript?
Infoga ett understreck före varje versal med ett regex och gör sedan resultatet gement: str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(). Detta hanterar standard camelCase. För strängar med på varandra följande versaler som "XMLParser" behövs ytterligare ett regex-pass för att dela upp versalssekvenser korrekt.
Varför använder Python snake_case i stället för camelCase?
PEP 8, Pythons officiella stilguide publicerad 2001, valde snake_case för funktioner och variabler eftersom Guido van Rossum och kärnteamet ansåg det mer lättläst vid en första blick. Studier som Binkley m.fl. (2009) visade att snake_case-identifierare kändes igen snabbare av programmerare än camelCase i vissa läsuppgifter. Konventionen tillämpas av linters som flake8 och pylint.
Är Title Case detsamma som att skriva varje ord med stor bokstav?
Enkel Title Case skriver första bokstaven i varje ord med versal, och det är vad det här verktyget gör. Formell Title Case (AP, Chicago, APA) har ytterligare regler: artiklar (a, an, the), korta konjunktioner (and, but, or) och korta prepositioner (in, on, at) förblir gemener om de inte är det första eller sista ordet. Formell titelversalisering kräver ett lexikonuppslag, inte bara en teckennivåomvandling.
Kan verktyget hantera Unicode och icke-latinska skriftsystem?
Verktyget använder JavaScripts inbyggda metoder toUpperCase() och toLowerCase(), som följer Unicode-skiftlägesregler definierade i Unicode-standarden (kapitel 3, avsnitt 3.13). Detta hanterar korrekt accentuerade tecken (e till E), tyskt eszett (ss till SS) och grekiska bokstäver. Däremot beror språkspecifika regler som turkisk skiftlägeshantering (där gement i ska versaliseras till İ med prick, inte I) på webbläsarens språkinställning, inte verktygets.
Vad används CONSTANT_CASE till?
CONSTANT_CASE (kallas även SCREAMING_SNAKE_CASE) används för konstanter och miljövariabler. I JavaScript: const MAX_RETRIES = 3. I Python: MAX_RETRIES = 3 (per konvention, eftersom Python saknar verkliga konstanter). I skalskript: export DATABASE_URL=.... Versalstilen signalerar att ett värde inte ska tilldelas om efter initialisering.
Hur väljer jag rätt skiftlägeskonvention för mitt projekt?
Följ den dominerande konventionen för ditt språk och ramverk. JavaScript/TypeScript: camelCase för variabler, PascalCase för klasser och komponenter. Python: snake_case för funktioner och variabler, PascalCase för klasser. CSS: kebab-case. SQL: snake_case för kolumner och tabeller. REST API JSON-nycklar: matcha ditt frontendspråk (camelCase för JS-klienter, snake_case för Python-klienter). I tveksamma fall, kontrollera linter-konfigurationen eller .editorconfig i din projektkatalog.