ForHosting KIT · Text & AI

Extract capitalized words

From "Alice met Bob in Paris last Tuesday after the Summit" you get Alice, Bob, Paris, Tuesday and Summit: 5 capitalized words out of 10. Repeats stay in order, and a second list keeps each one once. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Text
Alice met Bob in Paris last Tuesday after the Summit.
You get
Words
Alice, Bob, Paris, Tuesday, Summit
Quantity
5
Unique words
Alice, Bob, Paris, Tuesday, Summit
Unique count
5

Extracting capitalized words is a practical text utility with a clear product promise: take a non-empty passage, find every word that starts with an uppercase letter, and return those tokens in reading order so you can spot names, places, titles, and other proper-noun candidates without reading the whole draft again. Writers, editors, researchers, and automation scripts all hit the same search intent when they type extract capitalized words or list capitalized words from text.

What counts as a capitalized word here

The rule is deliberately simple: a word qualifies when its first character is an uppercase letter. That covers ordinary names like Alice, abbreviations written in capitals like NASA and accented capitals like Émile, while alice, iPhone and plain numbers stay out. A word is a run of letters or digits; an apostrophe or hyphen inside it, as in O'Brien or Jean-Luc, keeps it whole, while spaces, punctuation, quotes and emoji separate words. Next to the list you also see how many words the passage had in total, so you can judge how dense the capitalized ones are: in the example, 5 out of 10.

Where it helps, and where it stops

Editors use it to check the spelling of every name in a chapter at a glance, researchers pull candidate names and project titles out of meeting notes, and teachers build a bank of names for flashcards from the list that keeps each word once. It is not a substitute for full entity recognition: it does not decide what a word refers to, change capitalization or list every word regardless of capitals. The passage needs at least one character; text made only of spaces is accepted and simply returns an empty list.

What counts as a capitalized word and how the list is built

A capitalized word, for this extract-capitalized-words tool, is any token whose first character is an uppercase Unicode letter—category Lu—so Alice, Paris, NASA, and Émile all qualify, while alice, iPhone (leading lowercase i), and purely numeric tokens do not. Tokens are contiguous runs of Unicode letters or digits, optionally joined by an internal apostrophe or hyphen, so O'Brien and Jean-Luc stay single words instead of splitting on punctuation. Everything else—spaces, commas, periods, quotes, and emoji—acts as a boundary.

Prefer this landing when the search intent is extract capitalized words, list capitalised names, or spot proper nouns by capital letters. Do not use it for full named-entity recognition with types and confidence scores—that is a different LLM product—or for converting case, stemming, or listing every unique word regardless of case.

Meeting notes and research passages

Researchers extract capitalized words from notes to surface candidate names and project titles without full NER pipelines.

What counts as a capitalized word?

Any token whose first character is an uppercase Unicode letter (category Lu), including accented capitals. Tokens starting with lowercase letters or digits are skipped.

Are repeated names listed more than once?

Yes. The main list keeps every occurrence in reading order, so a name mentioned twice appears twice. A second list keeps each distinct word only once, in the form it first appeared, which is handy for a clean list of names.

Does it split names like O'Brien or Jean-Luc?

No. An apostrophe or hyphen inside a word keeps it together, so O'Brien and Jean-Luc each come out as one word. Spaces, commas, periods, quotes and emoji mark where a word ends.

Why is iPhone missing from the results?

Because only the first letter matters, and the i in iPhone is lowercase. Words written entirely in capitals, such as NASA, and accented capitals, such as Émile, are included; numbers on their own are not.

Can it tell whether a word is a person, a place or a date?

No. It only looks at the first letter, so Tuesday and Summit appear next to Alice and Paris. It does not label names by type; use it to gather candidates quickly, then review them yourself.

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.

POSThttps://api.kit.forhosting.com/str/extract-capitalized

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.

curl -X POST https://api.kit.forhosting.com/str/extract-capitalized \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Alice met Bob in Paris last Tuesday after the Summit."}'
{
  "text": "Alice met Bob in Paris last Tuesday after the Summit."
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.extract_capitalized",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Empty input is rejected with invalid input so callers never store hollow payloads by accident. Successful API calls bill at the published $0.002 base price per item; validation failures are not charged.

What counts as a capitalized word and how the list is built

The scan walks left to right and appends every matching token to the words array, keeping duplicates when the same name appears twice in a paragraph; a separate unique_words array keeps only the first surface form of each distinct token so you can build a clean name bank for flashcards or entity review. total_tokens reports how many words were seen before the capital filter, which helps you gauge how dense the capitalized subset is relative to the full passage.

Input contract, empty rejection, and reading the response fields

Because the algorithm is pure string logic, continuous-integration tests can pin the full object. Source text follows the same retention rules as other KIT parse items. POST a JSON body with the required string field text set to the non-empty sample you want scanned. Aliases input, value, s, content, and body are accepted when older clients or form generators use those names. Missing text, a non-string value, or a zero-length string all raise invalid_input with a message that names the problem, and those failures are not charged on the prepaid API. Whitespace-only text that is still non-empty is allowed: it may yield zero capitalized tokens and empty words and unique_words arrays, which is a valid success shape when the passage has no uppercase-leading tokens. On success the response includes words as the ordered list of capitalized tokens with duplicates preserved; count as that array length; unique_words as first-seen distinct capitalized tokens; unique_count as that length; total_tokens as the full token count before filtering; original echoing the exact input for UI tables; and method always extract_capitalized so downstream code can branch without sniffing shapes. Use words when you care about frequency of mention; use unique_words when you only need a set of candidate names or titles. Keep payloads to ordinary document sizes suitable for a Worker isolate rather than multi-megabyte dumps; this product is a text utility, not a bulk warehouse.

API usage, pricing, workflows, and practical limits

Call the free in-browser extract capitalized words tool when you need a quick proper-noun shortlist from a news lead, meeting note, novel chapter, or marketing brief without writing a regex in every language. Do not expect language detection, entity typing, coreference, or gazetteer matching—those are separate problems with separate SEO terms. Authors shipping SDKs can document text as the only required field, show a success example with names and places, and show an empty-string error example so integrators see both sides of the contract. Use the prepaid KIT API when a CMS, content pipeline, tutoring app, research notebook, or mobile client needs the same contract under balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. A typical workflow pastes a paragraph, lists capitalized words, then reviews unique_words for people and places before a manual fact-check. Pair this endpoint with unique-word extractors or case converters when the next step is vocabulary banks or style fixes, but keep extract capitalized words as its own landing so the proper-noun-by-capital-letter intent is not mixed with LLM entity extraction or title-case conversion.

Proper-noun shortlists for editors

Editors paste a draft and get every capitalized token in order, then review unique_words for people, places, and titles before fact-checking.

CI fixtures for capitalization pipelines

Build scripts pin capitalized-word golden outputs so tokenizer and Unicode Lu regressions fail continuous integration immediately.

How do I extract capitalized words from text?

Send JSON with text set to a non-empty string. The response words array lists each capitalized token in order of appearance; unique_words lists first-seen forms only.

Are duplicate names listed more than once?

Yes in words, so you can see frequency. unique_words keeps each distinct surface form only the first time it appears.

What happens if text is empty?

The request fails with invalid_input. Empty input is not allowed; validation failures are not charged on the prepaid API.

What does extract capitalized words cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →