Capital case converter
Type hello WORLD from the KIT and get Hello World From The Kit: every word starts with a capital and the rest goes lowercase, with no exception list for short words. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Text
- hello WORLD from the KIT
- Result
- Hello World From The Kit
- Text
- Hello World From The Kit
- Original
- hello WORLD from the KIT
- Length
- 24
Capital Case is the straightforward style that raises the first letter of every word and lowers everything else, with no list of small words left in lowercase. Editors, product teams, and data pipelines receive ALL CAPS dumps, mixed headlines, shouted form fields, and identifier-like phrases that need a single deterministic rewrite before display. Empty text, missing text, and non-string values fail with invalid input so callers never store a blank or coerced title.
What Capital Case means and how it differs from title case
Capital Case is not title case, not sentence case, and not shouting. Title case typically keeps a closed list of small words such as of, the, and, and in lowercase unless they sit at either end of the phrase, so a book title becomes The Lord of the Rings. Capital Case has no exception list: every whitespace-delimited word gets its first letter raised and the rest lowered, so the same phrase becomes The Lord Of The Rings.
That difference is the whole product. People search for a capital case converter when they want every word to look like a heading token, a label, a column name made readable, or a proper-looking name field, without Chicago or AP small-word rules. This converter first walks the original string without collapsing spaces, then for each non-whitespace token finds the first Unicode letter, uppercases it, and lowercases every later letter in that token.
Digits, hyphens, apostrophes, quotes, and other punctuation keep their positions, so (hello) becomes (Hello), don't becomes Don't, and HELLO-WORLD becomes Hello-world because the hyphenated token is still one word. ALL CAPS input, mixed case, and whisper-case all normalize to the same Capital Case result for a given spelling.
Prefer this tool when the search intent is literally capital case converter, convert to capital case, or capitalize the first letter of each word; use the title case sibling when house style demands small-word exceptions, and use sentence case when only sentence heads should rise.
What you can do with it
Directory and display-name cleanup
People databases normalize first and last names from Jane DOE, JANE doe, and jane doe into a single Capital Case form before the directory renders.
Spreadsheet column and form titles
Import jobs rewrite column headers and form labels so every word is capitalized, including short words that a title-case tool would leave lowercase.
FAQ
How do I convert text to Capital Case?
The response result field is the Capital Case output; original echoes your input for comparison.
How is Capital Case different from title case?
Title case leaves listed small words lowercase in the middle of a phrase. Capital Case uppercases the first letter of every word, including of, the, and, and in.
Is the capital case converter free?
The browser tool runs free on your device.
Does this preserve acronyms such as NASA?
No. After the first letter of each word, remaining letters are lowercased, so NASA becomes Nasa. Re-apply house-style acronyms in a later pass if needed.
What happens to hyphenated words like HELLO-WORLD?
They become Hello-world. A hyphenated word counts as one word, so only its first letter is raised. Apostrophes work the same way: don't becomes Don't, and brackets or digits stay exactly where they are.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/str/capital-case-converter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello WORLD from the KIT"}'const res = await fetch("https://api.kit.forhosting.com/str/capital-case-converter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello WORLD from the KIT"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/capital-case-converter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello WORLD from the KIT"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/capital-case-converter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello WORLD from the KIT"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello WORLD from the KIT"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/capital-case-converter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"text": "hello WORLD from the KIT"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.capital_case_converter",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_chars | 100000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What Capital Case means and how it differs from title case
Text that is only digits or symbols is returned with letters unchanged in count and with word_count still reflecting the tokens.
Input contract, empty rejection, and reading the response
Empty strings and whitespace-only strings also fail, because a Capital Case converter that silently returns blanks would hide bugs in import jobs and form handlers. Send a JSON body with the required string field text set to the non-empty message you want rewritten. Aliases input, value, s, and content are accepted when older forms or client generators use those names; the first present alias wins. Missing text, a null value, a number, a boolean, an array, or any other non-string type all raise invalid_input with a message that names the field, and those failures are not charged on the prepaid API. Use result alone when you only need the cleaned heading; use original and result together when a review UI must show before-and-after; use word_count when a linter estimates how many tokens were adjusted. Leading and trailing spaces on a non-empty payload are preserved in result so copy-paste from a spreadsheet cell does not surprise you by eating padding you still need; interior runs of spaces and line breaks stay in place as well. Keep payloads to ordinary document sizes suitable for a Worker isolate rather than multi-megabyte dumps; this product is a prose formatter, not a bulk file processor, and text longer than the published character ceiling is rejected.
API usage, pricing, editorial workflows, and practical limits
Call the free in-browser capital case converter for editorial cleanup, spreadsheet heading repair, classroom demos, and one-off pastes without installing a desktop utility or writing a one-liner in every language. Another workflow normalizes user-generated display names so a directory does not mix jane DOE, JANE doe, and Jane Doe mid-page — Capital Case yields Jane Doe for all three. Do not expect acronyms to survive: NASA and HTML become Nasa and Html by design because every letter after the first in a word is lowered; re-style those tokens in a later editorial pass if house style requires all-caps brands. Authors shipping SDKs can document text as the only required field and show a mixed-case example plus a non-string error example so integrators see both sides of the contract. Use the prepaid KIT API when a CMS worker, ticket system, localization pipeline, or mobile backend needs the same transform under balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. A typical workflow takes a product name pasted in all caps, runs this endpoint, then stores result as the display label while logging original for audit. Pair this endpoint with a slug generator when a heading must also become a route, but keep the steps separate so each landing page matches a single search intent: Capital Case for human-readable words, slug tools for paths, title case when small-word rules apply.
Integration use cases
Headings and product labels
Editors paste ALL CAPS or mixed-case product names into a catalog field; the endpoint returns Capital Case ready to publish without hand-editing every word.
Technical questions
What happens if text is not a string or is empty?
Non-string values, missing text, empty strings, and whitespace-only strings fail with invalid_input and are not charged. Provide a non-empty string.