How to Manipulate & Format Strings Online — Developer String Utilities
Every developer has wasted time manually reformatting variable names, converting between camelCase and snake_case, cleaning whitespace out of pasted data, or encoding strings for API calls. These are mechanical tasks — the kind where you spend ten minutes doing something a tool could do in one second. Here is a free online string utilities tool that handles all of it, including bulk mode and CSV export.
12 formats
Case conversion formats
Bulk mode
Convert many strings at once
8 encodings
Base64, URL, HTML, and more
How to Convert String Format Online (All 12 Cases)
Different programming languages and frameworks have strong conventions about naming format. JavaScript uses camelCase for variables, Python prefers snake_case, CSS uses kebab-case, and constants everywhere use SCREAMING_SNAKE_CASE. The String Utilities tool converts any string to all 12 formats at once — paste once, copy whichever you need.
camelCase → JavaScript / TypeScript
getUserProfile — variables, functions, JSON keys. The default in JS/TS codebases.
snake_case → Python / Database
get_user_profile — Python functions, Ruby methods, SQL column names.
PascalCase → Classes / React
GetUserProfile — class names, React components, TypeScript interfaces, C# types.
kebab-case → CSS / URLs
get-user-profile — CSS class names, HTML data attributes, URL slugs, CLI flags.
SCREAMING_SNAKE → Constants
GET_USER_PROFILE — environment variables, constants in any language.
COBOL-CASE → HTTP / Legacy
GET-USER-PROFILE — legacy HTTP header names, COBOL identifiers.
// Input: getUserProfileData
// Output:
camelCase: getUserProfileData
PascalCase: GetUserProfileData
snake_case: get_user_profile_data
kebab-case: get-user-profile-data
SCREAMING_SNAKE: GET_USER_PROFILE_DATA
COBOL-CASE: GET-USER-PROFILE-DATA
dot.case: get.user.profile.data
path/case: get/user/profile/data
flatcase: getuserprofiledata
Title Case: Get User Profile Data
Sentence case: Get user profile data
Train-Case: Get-User-Profile-DataFree String Utilities tool
Pro tip
Paste any string — camelCase, snake_case, mixed with spaces — and the tool auto-detects the word boundaries. It handles acronyms correctly too: "parseHTTPSRequest" splits into "parse", "HTTPS", "Request" instead of splitting at every capital letter.
How to Convert Multiple Strings at Once (Bulk Mode)
When you are renaming database columns, refactoring a large codebase, or generating configuration keys from a spreadsheet column, converting one string at a time is too slow. Bulk mode lets you paste a list and convert all strings simultaneously, then download the results as a CSV.
// Newline-separated (default — paste a column from a spreadsheet)
getUserProfile
getOrderHistory
updatePaymentMethod
deleteUserAccount
// Comma-separated
getUserProfile, getOrderHistory, updatePaymentMethod, deleteUserAccount
// Pipe-separated
getUserProfile|getOrderHistory|updatePaymentMethod|deleteUserAccount
// Each string is converted to all 12 formats
// Download CSV → columns: original, camelCase, PascalCase, snake_case, kebab-case, ...Paste your list into the input box
Go to unblockdevs.com/string-utilities and paste your list. Accepts newline, comma, or pipe-separated values.
Pick the separator
Select the separator type from the dropdown — the tool auto-detects newlines by default.
View the conversion table
The results table shows every string converted to all 12 case formats in one view — scroll right to see all columns.
Download as CSV
Click "Download CSV" to export the full conversion table. Paste it into a spreadsheet to use as a reference during refactoring.
How to Clean Up String Data
Raw data from APIs, spreadsheets, user input, and log files is almost never clean. It comes with extra spaces, blank lines, duplicate values, inconsistent capitalization, and trailing characters that break downstream processing. The Transform tab handles all of these in one click.
Messy string data vs cleaned output
Raw input — spaces, dupes, inconsistent case
" hello world "
" Hello World "
" hello world "
""
"HELLO WORLD"Cleaned output — trimmed, deduplicated, normalized
"hello world"
"hello world"
(duplicates removed)
(blank lines removed)
"hello world"Available transform operations in the String Utilities tool:
- Trim whitespace — removes leading and trailing spaces from each line
- Collapse spaces — replaces multiple consecutive spaces with a single space
- Remove empty lines — deletes completely blank lines
- Remove duplicates — keeps only the first occurrence of each unique line
- Sort lines — alphabetically sorts all lines (ascending or descending)
- Reverse lines — reverses the order of lines in the text
- Add prefix / suffix — prepends or appends a string to every line
- Wrap in quotes — adds single or double quotes around each line
How to Encode and Decode Strings
String encoding is required constantly in web development — Base64 for auth tokens and binary data, URL encoding for query parameters, HTML entity encoding to prevent XSS, JSON escaping for embedded strings. The Encode/Decode tab handles all formats in one place.
Base64
Encode binary data or credentials for HTTP headers. Decode JWT headers and payloads, API credentials, and binary file content.
URL Encoding
Encode strings for URL query parameters (%20 for space, %2F for slash). Essential for building URLs with user-provided data.
HTML Entities
Convert & to &, < to <, > to > and more — prevents XSS when inserting user input into HTML.
JSON Escape
Escape strings for embedding in JSON values — handles backslashes, quotes, newlines, and control characters.
Hex Encoding
Convert text to hexadecimal representation. Used in cryptography, color codes, binary debugging, and protocol analysis.
ROT13
Simple Caesar cipher substitution. Used for light obfuscation of spoilers, answers, and email addresses in plain text.
// Base64 encode — browser native (for ASCII strings)
const encoded = btoa('Hello, World!');
// → 'SGVsbG8sIFdvcmxkIQ=='
// Base64 decode
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
// → 'Hello, World!'
// Base64 encode — Node.js (handles Unicode)
const encoded = Buffer.from('Hello, World!').toString('base64');
// → 'SGVsbG8sIFdvcmxkIQ=='
// Decode JWT payload (header.payload.signature)
const jwtPayload = 'eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0';
const decoded = JSON.parse(atob(jwtPayload));
// → { sub: '1234567890', name: 'John Doe' }
// URL encoding
const query = encodeURIComponent('search query with spaces & symbols');
// → 'search%20query%20with%20spaces%20%26%20symbols'How to Extract Patterns from Text
The Extract tab finds all occurrences of common data patterns in a block of text — useful for parsing log files, scraping structured data from unstructured output, or validating that a text block contains the expected data types.
// Input text (log output, email body, API response, etc.)
const text = `
User alice@example.com logged in from 192.168.1.42
Redirected to https://app.example.com/dashboard
Session expires 2026-04-13, color code #FF5733
Contact: +1 (555) 867-5309 or admin@example.com
`;
// Extracted by String Utilities:
Emails: ['alice@example.com', 'admin@example.com']
URLs: ['https://app.example.com/dashboard']
IPs: ['192.168.1.42']
Phones: ['+1 (555) 867-5309']
Hex colors: ['#FF5733']
Dates: ['2026-04-13']Supported extraction patterns: email addresses, URLs, IP addresses (IPv4 and IPv6), phone numbers, hashtags, hex color codes, dates (ISO 8601, US, UK formats), credit card patterns (for validation only — not stored), and custom regex patterns you define yourself.