Definition
CamelCase bezeichnet eine Schreibweise, bei der mehrere Wörter ohne Leerzeichen aneinandergereiht werden und Wortgrenzen durch Binnenmajuskeln (Großbuchstaben im Wortinneren) markiert sind. Übliche Varianten sind lowerCamelCase (erstes Wort klein, z. B. pageTitle
) und UpperCamelCase/PascalCase (erstes Wort groß, z. B. PageTitle
). Die Notation ist in Web- und Softwareentwicklung weit verbreitet – etwa bei JavaScript-DOM-Eigenschaften, API-Feldern und Programmiersprachen-Konventionen.

CamelCase bezeichnet die binnengroßgeschriebene Wortzusammenziehung ohne Leer- oder Trennzeichen, genutzt für Identifier, DOM-Properties, API-Feldnamen und barriereärmere Hashtags, verbreitet in Softwareentwicklung.
Herkunft und Terminologie
Der Name „CamelCase“ spielt auf die „Höcker“ der Großbuchstaben im Wortinneren an. Als Synonyme begegnen InterCaps bzw. intercapping; StudlyCaps gilt als dekorative, uneinheitliche Groß-/Kleinschreibung und ist für technische Kontexte unüblich. Die heute gängigen Bezeichnungen lowerCamelCase und PascalCase/ UpperCamelCase beschreiben lediglich die Großschreibung des ersten Wortes.
Varianten im Überblick
- lowerCamelCase: erstes Wort klein, jede weitere Wortgrenze mit Großbuchstaben, z. B.
firstName
,getUserData
. - UpperCamelCase / PascalCase: jedes Wort mit Großbuchstaben, z. B.
FirstName
,GetUserData
. - StudlyCaps: unregelmäßige Groß-/Kleinschreibung (für ernsthafte Anwendungen nicht empfohlen).
- Abgrenzung zu anderen Notationen:
snake_case
nutzt Unterstriche,kebab-case
nutzt Bindestriche,SCREAMING_SNAKE_CASE
wird oft für Konstanten verwendet.
Diese Terminologie ist in Dokumentation und Styleguides etabliert (u. a. MDN, ESLint).
Praxisrelevante Einsatzbereiche
1) Programmiersprachen und Frameworks
Swift (Apple)
Die offiziellen Swift API Design Guidelines verlangen UpperCamelCase für Typen (Klassen, Strukturen, Enums) und lowerCamelCase für Funktionen, Methoden und Eigenschaften. Ziel ist konsistente, fluide Lesbarkeit im gesamten Ökosystem.
.NET / C# (Microsoft)
Die Framework-Design-Guidelines spiegeln sich in der .NET-Serializer-Infrastruktur wider: Öffentliche Typen/Member verwenden in der Praxis PascalCase, lokale Variablen/Parameter camelCase; zudem lassen sich JSON-Feldnamen per Naming-Policy automatisiert in camelCase transformieren.
JavaScript / DOM-APIs
Viele DOM-Eigenschaften entsprechen camelCase-Schreibweisen: Aus CSS-Properties wie background-color
wird im JavaScript-DOM backgroundColor
. Dieses Mapping ist in MDN dokumentiert und spiegelt die API-Konvention wider.
Go
Go verwendet MixedCaps: Exportierte Bezeichner beginnen mit Großbuchstaben (ExportedName
), nicht exportierte mit Kleinbuchstaben (internalName
). Zusätzlich gelten Initialisms wie HTTP
, URL
, JSON
in Großbuchstaben (z. B. HTTPServer
, parseURL
). Diese Regeln sind in Effective Go und den Code Review Comments verankert.
Python
PEP 8 empfiehlt CapWords (PascalCase) für Klassennamen, während Funktionen und Variablen snake_case
nutzen. CamelCase ist für Funktionen/Variablen im Python-Stil nicht Standard.
Merksatz: Halten Sie sich an die Konvention der jeweiligen Sprache/Plattform – sie ist wichtiger als Vorlieben, weil Lesbarkeit, Tooling (Linter/Formatter) und Team-Kohärenz davon abhängen. Für JavaScript stehen z. B. ESLint-Regeln wie camelcase
zur Verfügung, um CamelCase verbindlich durchzusetzen.
2) DOM, CSS & Frontend
- Style-Eigenschaften in JS sind camelCased:
element.style.backgroundColor = 'red';
element.style.borderTopLeftRadius = '4px';
MDN führt die systematische Umwandlung von
background-attachment
→backgroundAttachment
explizit aus. dataset
-API:data-*
-Attribute werden als camelCase-Eigenschaften angeboten. Ausdata-user-id
wirdelement.dataset.userId
. MDN spezifiziert das bidirektionale Mapping (dash-style ⇄ camelCase) formal: Dashes werden entfernt und der Folge-Buchstabe kapitalisiert.
3) JSON & APIs
Es gibt keinen universellen Standard für JSON-Schlüsselnamen. Viele Web-APIs nutzen camelCase (insbesondere in JS-Ökosystemen), andere bevorzugen snake_case
oder kebab-case
. Wichtig ist Konsistenz innerhalb der API und die Passung zum Ziel-Stack. In .NET kann System.Text.Json
Membernamen über Naming Policies automatisch in camelCase konvertieren. Das JSON:API-Ökosystem empfiehlt in seinen Recommendations u. a. restriktive, URL-taugliche Membernamen; verbreitet sind kebab-case-Keys.
CamelCase im Branding und in Hashtags (Barrierefreiheit)
Zahlreiche Marken verwenden Binnenmajuskel (z. B. YouTube, LinkedIn). Für Hashtags ist CamelCase (genauer: PascalCase je Wort) ausdrücklich empfehlenswert, weil Screenreader Wortgrenzen besser erkennen (z. B. #BlackLivesMatter
statt #blacklivesmatter
). Öffentlich-rechtliche Leitfäden und Accessibility-Ressourcen empfehlen explizit, jedes Wort im Hashtag zu kapitalisieren.
Praxisbeispiel:
- Schlecht:
#unsereneuekampagne
- Besser:
#UnsereNeueKampagne
(Screenreader kann Worte korrekt segmentieren; menschlich schneller erfassbar).
SEO-Implikationen
1) URLs und Slugs
Für SEO-freundliche URLs empfiehlt Google klar Bindestriche als Worttrenner – nicht CamelCase und nicht Unterstriche. Bindestriche erleichtern Nutzer:innen und Suchmaschinen das Erkennen von Begriffseinheiten.
2) Groß-/Kleinschreibung und Eindeutigkeit
Nach IETF STD 66 / RFC 3986 sind Scheme und Host einer URL case-insensitiv, während Pfad, Query, Fragment in der Regel case-sensitiv behandelt werden (serverabhängig). Google weist ergänzend darauf hin, dass /APPLE
und /apple
als verschiedene URLs gelten – ein weiterer Grund, URL-Pfadsegmente konsequent kleingeschrieben und mit Bindestrichen zu führen.
Best Practices für SEO-Slugs:
- kleine Buchstaben + Bindestriche (z. B.
/fassadenreinigung-pforzheim/
), - keine CamelCase-Pfade,
- bei Umstellungen: 301-Weiterleitungen, aktualisierte Sitemaps, Canonicals prüfen (Duplikatrisiko durch Groß-/Kleinschreibung).
Internationalisierung & Unicode-Aspekte
CamelCase scheint einfach – Unicode macht es in der Praxis komplex:
- Spezielle Groß-/Kleinschreibung: Türkisches İ/ı (dotted/dotless i), griechisches Σ/σ/ς, deutsches ß/ẞ u. a. haben kontext- oder sprachabhängige Fallregeln. Unicode SpecialCasing definiert vollständige Case-Mappings, die über einfache 1:1-Beziehungen hinausgehen. Naive ASCII-Heuristiken sind unzureichend.
- Textsegmentierung: Wort-, Zeichen- und Graphem-Grenzen sind in Unicode nicht trivial. Robuste Algorithmen (z. B. zum Splitten von CamelCase oder zur Wortzählung) sollten Regeln aus UAX #29: Unicode Text Segmentation und entsprechende Bibliotheken (z. B. ICU,
Intl.Segmenter
) berücksichtigen.
Praxis-Tipp: Wenn Sie CamelCase programmgesteuert erzeugen oder zerlegen, verwenden Sie Unicode-fähige Bibliotheken; vermeiden Sie Regexe, die nur [A-Z][a-z]
antizipieren, da sie an diakritischen Zeichen und Mehrzeichen-Mappings scheitern.
Vor- und Nachteile im Überblick
Vorteile
- Platzsparend ohne Trennzeichen – ideal, wenn Bezeichner keine Leerzeichen erlauben.
- Ökosystem-Verankerung in vielen Stacks (z. B. DOM-APIs, Swift, .NET-Public APIs, Go-MixedCaps), was Wiedererkennung und Tool-Support erhöht.
- Barrierefreiere Hashtags dank klarer Wortgrenzen für Screenreader.
Nachteile
- SEO-Pfadstruktur: Für URLs ungeeignet; Google empfiehlt Bindestriche und weist auf Case-Sensitivität hin.
- Internationalisierung: Fallstricke bei Case-Konvertierungen (Türkisch, Griechisch, Deutsch etc.) ohne SpecialCasing-Beachtung.
Anwendungsempfehlungen für Web-Design, SEO, Marketing & Branding
1) Benennung in Codebasen
- Folgen Sie den offiziellen Guides der Ziel-Technologie:
- Swift: Typen UpperCamelCase, Member lowerCamelCase.
- .NET/C#: Öffentliche API PascalCase, lokale Variablen/Parameter camelCase; für JSON bei Bedarf Naming-Policy CamelCase aktivieren.
- DOM/JS: CSS-Eigenschaften in JS camelCase (
backgroundColor
). - Go: Exportierte Namen groß, Initialisms (URL/HTTP/JSON) in Großbuchstaben; keine MixedCaps in Paketnamen.
- Python: Klassen PascalCase, Funktionen/Variablen snake_case.
- Konsistenz erzwingen: Linter/Formatter (z. B. ESLint-Regel
camelcase
) und CI-Checks verwenden.
2) API- und JSON-Design
- Konvention wählen und durchhalten – ob camelCase (JS-nahe) oder
snake_case
/kebab-case
(API-Stil, JSON:API-Umfeld). - Serializer nutzen (z. B.
System.Text.Json
Naming Policies), um Feldnamen für verschiedene Konsumenten automatisch zu transformieren. - Dokumentation: Den Benennungsstil im API-Styleguide verbindlich festhalten (inkl. Ausnahmen/Migration). (Orientierung: JSON:API Recommendations.)
3) URLs, Routing, Dateinamen
- Keine CamelCase-Slugs: Verwenden Sie kleine Buchstaben + Bindestriche; vermeiden Sie unterschiedliche Groß-/Kleinschreibung im Pfad.
- Case-Sensitivität beachten (Pfad/Query häufig case-sensitiv; Scheme/Host nicht).
4) Branding, Kampagnen & Social
- Markennamen nach Styleguide der Marke (z. B. iPad, YouTube) schreiben.
- Hashtags: Jedes Wort kapitalisieren (Camel/PascalCase) – besser für Screenreader und menschliches Scannen.
5) Internationalisierung
- Unicode-sichere Verarbeitung: Case-Mapping mit SpecialCasing; Segmentierung gemäß UAX #29; in JS ggf.
Intl.Segmenter
einsetzen.
Typische Fehler und wie Sie sie vermeiden
- CamelCase in URLs
Problem: Geringere Scannbarkeit; Duplikatrisiko durch Case-Varianten; SEO-Nachteile.
Lösung: kebab-Slugs in Kleinbuchstaben; Migration mit 301-Redirects/Sitemaps/Canonicals. - Uneinheitliche API-Feldnamen
Problem: Kognitiver Overhead, erhöhte Fehlergefahr bei Serialisierung/Deserialisierung.
Lösung: Einheitlichen Benennungsstil im API-Styleguide festlegen; Serializer-Policies einsetzen. - Naives Case-Mapping
Problem: Falsche Ergebnisse bei Sprachen mit Sonderfällen (İ/ı, ß/ẞ, Σ/σ/ς).
Lösung: Unicode-konforme Case-Funktionen und Testdaten nutzen (SpecialCasing). - Verwechslung von Konventionen
Problem: Klassen insnake_case
, Variablen inPascalCase
o. ä.
Lösung: Offizielle Guides/Automatisierung (Swift, .NET, Python, Go, ESLint) befolgen.
Hinweise zur Implementierung (Technik)
CamelCase splitten/erzeugen (Unicode-aware):
- Verwenden Sie Bibliotheken oder Sprach-APIs, die UAX #29 befolgen, anstatt simple Regex-Heuristiken.
- Beispiel (JavaScript, dom-nahes Arbeiten):
// Vorsicht: naive Regexe brechen bei ß/İ/Σ etc.
// Besser: Intl.Segmenter für Wortgrenzen (ab Browser-Support) einsetzen
const segmenter = new Intl.Segmenter('de', { granularity: 'word' });
const words = [...segmenter.segment('FußballWeltmeisterschaft')].map(s => s.segment);
(Für striktes CamelCase-Tokenizing weiterhin Sonderfälle berücksichtigen.)
Serialisierung (z. B. .NET):
- API intern mit PascalCase modellieren; nach außen camelCase liefern:
var options = new JsonSerializerOptions {
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
var json = JsonSerializer.Serialize(model, options);
DOM & Datenattribute:
- CamelCase-Mapping der
dataset
-Eigenschaften verstehen:<div id="user" data-user-id="42" data-date-of-birth="1990-05-20"></div>
<script>
const el = document.getElementById('user');
console.log(el.dataset.userId); // "42"
console.log(el.dataset.dateOfBirth); // "1990-05-20"
</script>
CSS-Properties in JS:
- Dashes → camelCase konvertiert:
el.style.backgroundColor = '#f00';
el.style.borderTopLeftRadius = '8px';
Go-Initialisms korrekt schreiben:
type HTTPServer struct{}
stattHttpServer
;func ParseURL()
. Richtlinien: Initialisms & Mixed Caps.
Python-Kontrast:
- Klassen
CapWords
, Funktionen/Variablensnake_case
:class UserProfile:
def get_full_name(self): ...
Entscheidungshilfe: Wann ist CamelCase die richtige Wahl?
Ja, CamelCase, wenn …
- Sie Bezeichner in Sprachen/Frameworks benennen, die CamelCase/MixedCaps als Standard vorgeben (Swift-APIs, DOM/JS-Eigenschaften, .NET-APIs, Go-Namen).
- Sie Hashtags barriereärmer gestalten möchten (Camel/PascalCase je Wort).
Eher nein, kein CamelCase, wenn …
- Sie URLs/Slugs für SEO erstellen (hier: kebab-case, Kleinschreibung).
- Ihr Code-Ökosystem primär
snake_case
nutzt (z. B. Python-Funktionen/Variablen). - Sie Case-Konvertierungen für nicht-englische Sprachen ohne Unicode-Bewusstsein implementieren (Risiko für İ/ß/Σ etc.).
Kompakte Beispiele (Vergleich)
lowerCamelCase → pageTitle, getUserData
UpperCamelCase → PageTitle, GetUserData (PascalCase)
snake_case → page_title, get_user_data
kebab-case → page-title, get-user-data (SEO-URLs)
SCREAMING_SNAKE → PAGE_TITLE (Konstanten)
Zusammenfassung
CamelCase ist eine robuste Notation zur Markierung von Wortgrenzen durch Großbuchstaben und in vielen Sprachen/Frameworks de-facto-Standard (Swift- und .NET-APIs, DOM-Eigenschaften, Go-MixedCaps). Für Code gilt: Folgen Sie den offiziellen Styleguides und bleiben Sie konsistent; für Python ist snake_case
bei Funktionen/Variablen üblich. In URLs empfiehlt Google Bindestriche und warnt vor Case-Unklarheiten – CamelCase eignet sich hierfür nicht. Internationalisierung verlangt Unicode-konforme Case- und Segmentierungslogik (SpecialCasing, UAX #29). Die Lesbarkeitsforschung zeigt gemischte Ergebnisse, sodass Kontext, Team-Training und Identifier-Länge entscheidend sind. Setzen Sie CamelCase dort ein, wo Ökosysteme es erwarten – und vermeiden Sie es, wo Standards (SEO-Slugs, Pfade) anderes nahelegen.