Case Converter

Převádějte text mezi velkými písmeny, malými písmeny, title case, camelCase, snake_case a dalšími

Zkusit příklad

Vstup

Výstup

Běží lokálně · Bezpečné pro vkládání tajných údajů
Převedený text se zde zobrazí…

Co je převod velikosti písmen?

Převod velikosti písmen je proces změny způsobu zápisu písmen nebo oddělování slov v řetězci. Převodník převezme vstup jako "hello world" a transformuje jej na UPPERCASE, lowercase, Title Case, camelCase, snake_case, kebab-case nebo jiné konvence. Pro jednoduché ASCII texty je transformace přímočará, avšak okrajové případy se vyskytují u zkratek ("XMLParser"), pravidel specifických pro jazyk (turecké tečkované I) a řetězců s různými znakosadami.

Programovací jazyky, souborové systémy a stylové příručky vyžadují vlastní konvence pojmenování. Proměnné v JavaScriptu typicky používají camelCase. Funkce a proměnné v Pythonu se řídí snake_case podle PEP 8. Názvy CSS tříd používají kebab-case. Sloupce databází se liší podle týmu, ale snake_case převládá v PostgreSQL a MySQL. Ruční přepínání mezi těmito konvencemi je pomalé a náchylné k chybám, zejména při přejmenování napříč desítkami souborů.

Konvence velikosti písmen jsou důležité i mimo kód. Title Case se řídí pravidly definovanými stylovými příručkami jako Chicago Manual of Style a APA, kde členy a krátké předložky zůstávají malými, pokud nezačínají větu. Sentence case píše velké pouze první slovo a vlastní jména. Americké angličtině dominuje Title Case v titulcích; většina evropské a technické dokumentace používá Sentence case.

Proč používat tento převodník?

Vložte libovolný text a okamžitě jej převeďte mezi devíti formáty, bez instalace rozšíření VS Code nebo psaní jednorázového skriptu.

Okamžitý převod
Vyberte formát a výsledek se zobrazí ihned. Žádný přenos na server, žádné čekání. Přepínejte mezi formáty a porovnávejte výstupy vedle sebe.
🔒
Zpracování bez sdílení dat
Všechny transformace probíhají v prohlížeči pomocí JavaScriptu. Váš text zůstává na vašem zařízení. Nic není odesíláno na server ani nikde ukládáno.
🔄
Devět formátů v jednom nástroji
UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case a CONSTANT_CASE. Jeden vstup pokryje každou běžnou konvenci.
🌍
Bez nutnosti registrace
Otevřete stránku a začněte převádět. Žádná registrace, žádné rozšíření prohlížeče, žádná instalace. Funguje na libovolném zařízení s moderním prohlížečem.

Případy použití převodníku

Vývoj frontendu
Převeďte názvy vlastností komponent z odpovědí API ve formátu snake_case na camelCase pro objekty JavaScriptu. Přejmenujte CSS třídy z camelCase na kebab-case při migraci na systém pojmenování BEM nebo utility-first.
Návrh backendového API
Překládejte názvy polí mezi konvencemi při mapování sloupců databáze (snake_case) na klíče JSON odpovědí (camelCase). Ověřte, že serializační vrstvy produkují očekávaný výstupní formát.
DevOps a infrastruktura
Generujte názvy proměnných prostředí ve formátu CONSTANT_CASE z popisných frází. Převádějte názvy prostředků Terraformu mezi snake_case a kebab-case při sjednocování se stylovými příručkami týmu.
QA a testovací automatizace
Připravte testovací data se správně zapsanými názvy polí. Odhalte nesoulady v konvenci mezi API kontrakty a očekáváními klienta dříve, než se dostanou do produkce.
Datové inženýrství
Normalizujte záhlaví sloupců při importu souborů CSV nebo Excel do databáze. Převeďte záhlaví se smíšenými písmeny jako "First Name" na sloupce snake_case jako "first_name" pro konzistentní návrh schématu.
Technické psaní a dokumentace
Formátujte reference na kód v dokumentaci se správnou velikostí písmen. Převeďte popisy v přirozené angličtině na názvy tříd ve formátu PascalCase nebo URL slug ve formátu kebab-case pro konzistenci v technických specifikacích.

Přehled konvencí pojmenování

Každá konvence pojmenování má specifická pravidla pro psaní velkých písmen a oddělování slov. Tabulka níže zobrazuje všech devět formátů, které tento nástroj podporuje, se vstupní frází "the quick brown fox" jako ukázkou.

KonvencePravidloPříklad
UPPERCASEEvery letter capitalizedTHE QUICK BROWN FOX
lowercaseEvery letter lowercasedthe quick brown fox
Title CaseFirst letter of each word capitalizedThe Quick Brown Fox
Sentence caseFirst letter of each sentence capitalizedThe quick brown fox
camelCaseNo separators, first word lowercasetheQuickBrownFox
PascalCaseNo separators, every word capitalizedTheQuickBrownFox
snake_caseWords joined by underscores, all lowercasethe_quick_brown_fox
kebab-caseWords joined by hyphens, all lowercasethe-quick-brown-fox
CONSTANT_CASEWords joined by underscores, all uppercaseTHE_QUICK_BROWN_FOX

camelCase vs snake_case vs kebab-case

Tyto tři konvence dominují při vývoji softwaru, avšak každá patří do jiného ekosystému. Volba nesprávné konvence způsobuje selhání linterů, porušuje API kontrakty nebo vede k nekonzistentním kódovým základnám.

camelCase
Standard pro proměnné, názvy funkcí a klíče objektů v JavaScriptu a TypeScriptu. Java a C# jej používají pro lokální proměnné a parametry metod. JSON API určená pro klienty v JavaScriptu typicky používají klíče camelCase. První slovo je malým písmem; každé další slovo začíná velkým písmenem.
snake_case
Výchozí konvence pro Python (PEP 8), Ruby, Rust a většinu SQL databází. Funkce standardní knihovny jazyka C tento vzor také dodržují. Slova jsou oddělena podtržítky, vše malými písmeny. CONSTANT_CASE (vše velkými písmeny s podtržítky) je varianta používaná pro konstanty a proměnné prostředí.
kebab-case
Standard pro názvy CSS tříd, HTML atributy, URL slug a názvy přepínačů CLI (--output-dir). Běžné v jazycích Lisp a Clojure. Slova jsou oddělena pomlčkami, vše malými písmeny. Většina programovacích jazyků neumožňuje použití pomlček v identifikátorech, takže kebab-case je omezen na řetězce, názvy souborů a značkovací jazyk.

Příklady kódu

Jak programově převádět mezi konvencemi. Každý příklad pokrývá nejběžnější transformace: camelCase na snake_case, snake_case na camelCase a základní převody na velká/malá/title písmena.

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"
Go
package main

import (
	"fmt"
	"regexp"
	"strings"
)

// camelCase → snake_case
func toSnake(s string) string {
	re := regexp.MustCompile("([a-z])([A-Z])")
	snake := re.ReplaceAllString(s, "${1}_${2}")
	return strings.ToLower(snake)
}

// snake_case → camelCase
func toCamel(s string) string {
	parts := strings.Split(strings.ToLower(s), "_")
	for i := 1; i < len(parts); i++ {
		parts[i] = strings.Title(parts[i])
	}
	return strings.Join(parts, "")
}

func main() {
	fmt.Println(toSnake("myVariableName"))  // → my_variable_name
	fmt.Println(toCamel("my_variable_name")) // → myVariableName
	fmt.Println(strings.ToUpper("hello"))    // → HELLO
	fmt.Println(strings.ToUpper("hello world")) // → HELLO WORLD
}
CLI (bash / sed)
# UPPERCASE
echo "hello world" | tr '[:lower:]' '[:upper:]'
# → HELLO WORLD

# lowercase
echo "HELLO WORLD" | tr '[:upper:]' '[:lower:]'
# → hello world

# camelCase → snake_case (using sed)
echo "myVariableName" | sed 's/\([a-z]\)\([A-Z]\)/\1_\2/g' | tr '[:upper:]' '[:lower:]'
# → my_variable_name

# snake_case → kebab-case
echo "my_variable_name" | tr '_' '-'
# → my-variable-name

Často kladené otázky

Jaký je rozdíl mezi camelCase a PascalCase?
camelCase začíná malým písmenem (myVariable), zatímco PascalCase začíná velkým písmenem (MyVariable). V JavaScriptu se camelCase používá pro proměnné a funkce; PascalCase se používá pro názvy tříd a komponent React. C# používá PascalCase pro veřejné metody a vlastnosti. Jediný strukturální rozdíl je v prvním znaku.
Jak převést camelCase na snake_case v JavaScriptu?
Vložte podtržítko před každé velké písmeno pomocí regulárního výrazu a poté výsledek převeďte na malá písmena: str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(). Toto řeší standardní camelCase. Pro řetězce s po sobě jdoucími velkými písmeny jako "XMLParser" je potřeba další průchod regulárním výrazem pro správné rozdělení sérií velkých písmen.
Proč Python používá snake_case místo camelCase?
PEP 8, oficiální stylová příručka Pythonu vydaná v roce 2001, zvolila snake_case pro funkce a proměnné, protože Guido van Rossum a vývojový tým ji považoval za přehlednější na první pohled. Studie jako ta od Binkleyho a kol. (2009) zjistila, že identifikátory snake_case byly programátory při čtení rozpoznány rychleji než camelCase. Konvenci vynucují lintery jako flake8 a pylint.
Je Title Case totéž jako psaní každého slova s velkým písmenem?
Jednoduchý Title Case píše první písmeno každého slova velké, a přesně to tento nástroj dělá. Formální Title Case (AP, Chicago, APA) má další pravidla: členy (a, an, the), krátké spojky (and, but, or) a krátké předložky (in, on, at) zůstávají malými, pokud nejsou prvním nebo posledním slovem. Formální Title Case vyžaduje slovníkové vyhledávání, nikoli pouze transformaci na úrovni znaků.
Dokáže tento nástroj zpracovat Unicode a jiné než latinské znakosady?
Nástroj používá vestavěné metody JavaScriptu toUpperCase() a toLowerCase(), které se řídí pravidly psaní velkých písmen definovanými ve standardu Unicode (kapitola 3, oddíl 3.13). Tím jsou správně zpracovány znaky s diakritikou (e na E), německé eszett (ss na SS) a řecká písmena. Pravidla specifická pro daný jazyk, jako je turecké psaní velkých písmen (kde malé i by mělo být zapsáno jako İ s tečkou, nikoliv I), však závisí na nastavení jazyka prohlížeče, nikoli na tomto nástroji.
K čemu se používá CONSTANT_CASE?
CONSTANT_CASE (nazývaný také SCREAMING_SNAKE_CASE) se používá pro konstanty a proměnné prostředí. V JavaScriptu: const MAX_RETRIES = 3. V Pythonu: MAX_RETRIES = 3 (dle konvence, protože Python nemá skutečné konstanty). Ve shellových skriptech: export DATABASE_URL=.... Styl s velkými písmeny signalizuje, že hodnota by po inicializaci neměla být znovu přiřazena.
Jak zvolit správnou konvenci pro svůj projekt?
Řiďte se převládající konvencí pro váš jazyk a framework. JavaScript/TypeScript: camelCase pro proměnné, PascalCase pro třídy a komponenty. Python: snake_case pro funkce a proměnné, PascalCase pro třídy. CSS: kebab-case. SQL: snake_case pro sloupce a tabulky. Klíče JSON v REST API: přizpůsobte frontendovému jazyku (camelCase pro klienty v JS, snake_case pro klienty v Pythonu). V případě pochybností zkontrolujte konfiguraci linteru nebo soubor .editorconfig v kořenovém adresáři projektu.