Snake Case to CamelCase Converter (Live Code & API Object Formatter)

Convert SQL table columns, Python variables, and database identifiers into clean JavaScript/TypeScript camelCase or PascalCase. Fast, client-side, and privacy-first with zero server logging.

0 lines
standardCamelCase

Why Map Snake_Case to CamelCase?

The divide between database storage architecture and modern frontend runtimes requires constant identifier mapping:

  • SQL Relational Databases (PostgreSQL, MySQL, SQLite): Unquoted identifiers fold to lowercase by default. Idiomatic database schemas use snake_case (e.g., user_billing_address, is_verified_account).
  • TypeScript & JavaScript Ecosystem: ECMAScript standards enforce camelCase for object properties, state hooks, and JSON payloads (e.g., userBillingAddress, isVerifiedAccount).
  • TypeScript Interfaces & Classes: Object types, models, and GraphQL schemas enforce PascalCase (e.g., UserBillingAddress).

Snake_Case to CamelCase Reference Matrix

Database Column (snake_case) TypeScript Property (camelCase) Class / Interface (PascalCase) Technical Notes
user_account_id userAccountId UserAccountId Standard foreign/primary key mapping.
created_at_utc createdAtUtc CreatedAtUtc Timestamp audit field formatting.
_private_token _privateToken _PrivateToken Leading underscore preserved for private scope.
api_v2_endpoint apiV2Endpoint ApiV2Endpoint Numbers correctly trigger following capitalization.
is_active_member isActiveMember IsActiveMember Boolean flag naming conventions.

Automating Conversions with Modern ORMs

When building full-stack applications, modern Object-Relational Mappers (ORMs) allow you to map between database snake_case columns and TypeScript camelCase properties automatically:

  • Prisma: Use the @map("column_name") attribute on model fields to keep TypeScript code strictly camelCase while matching legacy SQL tables.
  • TypeORM: Leverage the SnakeNamingStrategy package to automate mapping without manually typing field decorators.
  • Drizzle ORM: Declare column names explicitly in table definitions: serial('user_id') maps cleanly to export const userId = ...

Related Developer Case Converters:

Frequently Asked Questions

What is the difference between camelCase and PascalCase?

Both formats capitalize the first letter of each subsequent word without spaces. However, camelCase begins with a lowercase letter (e.g., userAccount), while PascalCase begins with an uppercase letter (e.g., UserAccount).

Does this converter preserve leading underscores for private variables?

Yes. When the "Preserve Leading/Trailing Underscores" checkbox is enabled, identifiers like _internal_id convert cleanly to _internalId rather than stripping the private scope indicator.

How does this converter handle numbers in snake_case strings?

Numbers are treated as boundary delimiters. For example, api_v2_endpoint converts directly to apiV2Endpoint, capitalizing the letter immediately following the digit.