If you write code, you've probably seen both camelCase and snake_case. But when should you use each one? This guide covers the conventions used across different programming languages and contexts, with clear rules you can follow.
What is camelCase?
camelCase starts with a lowercase letter, and each subsequent word starts with an uppercase letter — no spaces or underscores.
Examples:
- firstName
- lastName
- getUserProfile
- httpResponseCode
What is snake_case?
snake_case uses all lowercase letters with words separated by underscores.
Examples:
- first_name
- last_name
- get_user_profile
- http_response_code
When to Use camelCase
| Context | Convention | Example |
|---|---|---|
| JavaScript variables | camelCase | userName |
| JavaScript functions | camelCase | calculateTotal() |
| TypeScript interfaces | PascalCase | UserProfile |
| Java variables | camelCase | accountBalance |
| C# properties | PascalCase | FirstName |
| Swift properties | camelCase | viewController |
When to Use snake_case
| Context | Convention | Example |
|---|---|---|
| Python variables | snake_case | user_name |
| Python functions | snake_case | calculate_total() |
| Ruby variables | snake_case | account_balance |
| PostgreSQL columns | snake_case | created_at |
| JSON keys (sometimes) | snake_case | first_name |
| Environment variables | UPPER_SNAKE_CASE | DATABASE_URL |
| CSS custom properties | kebab-case | --primary-color |
| URLs/slugs | kebab-case | /blog/my-post |
Language-by-Language Guide
JavaScript / TypeScript — camelCase
const firstName = "John";
function getUserProfile() { }
const httpResponseCode = 200;
Python — snake_case
first_name = "John"
def get_user_profile():
pass
http_response_code = 200
Database Columns — snake_case
CREATE TABLE users (
first_name VARCHAR(100),
created_at TIMESTAMP,
is_active BOOLEAN
);
Quick Conversion
Need to convert between formats? Use CaseShift — a free online tool that converts text to camelCase, snake_case, PascalCase, and more with one click.
Try CaseShift's camelCase converter → | Try snake_case converter →