# Install titlecase with Homebrew

Script to convert text to title case. Version 1.015 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:titlecase
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install titlecase
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:titlecase
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/titlecase>
- **Version:** 1.015
- **Source summary:** Script to convert text to title case
- **Homepage:** <http://plasmasturm.org/code/titlecase/>
- **Repository:** <https://github.com/ap/titlecase>
- **Upstream docs:** <http://plasmasturm.org/code/titlecase>
- **License:** MIT
- **Source archive:** <https://github.com/ap/titlecase/archive/refs/tags/v1.015.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- titlecase (cli)
- titlecase (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.015
- Local data: ok
- Upstream repository: https://github.com/ap/titlecase
- Upstream latest detected: v1.015 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

titlecase is a small Perl command-line script and library-style function for converting text to title case. Its history is tied to John Gruber's Daring Fireball title-casing script and Aristotle Pagaltzis's refactoring/test-suite version.

### Project history

John Gruber published his original Perl title-case script on Daring Fireball in May 2008, explaining that he used it to standardize Linked List headlines and that it handled small words, internal capitalization, domains, edge cases such as AT&T and Q&A, and first/last word capitalization.

In August 2008 Gruber credited Aristotle Pagaltzis with refactoring the Perl script in a more straightforward way, fixing edge cases, and turning David Gouch's test cases into a proper test suite. The plasmasturm project page describes titlecase as that refactoring and points to the program, test suite, and Git repository.

### Adoption history

titlecase's adoption is intentionally small. It is a one-command text-processing utility for editors, scripts, publication workflows, and package users who want the Gruber-style title-casing behavior without embedding a larger formatting library.

The input metadata lists Homebrew as its package-manager surface. That matches its package-nerd profile: tiny Perl script, stdin/stdout behavior, reproducible test cases, and a narrow job that is convenient to install globally.

### How it is used

The plasmasturm documentation says the program under test should read any number of titles from standard input, one title per line, and write corrected titles to standard output in the same form. The script also exposes a titlecase function internally and includes a -f option to force lowercasing before title-casing.

The test suite is a Perl script that can be passed a command line for invoking any program that performs title casing, making the project useful not only as a tool but also as a compatibility reference for other implementations.

### Why package nerds care

titlecase matters in the package-nerd niche because it is the kind of single-file text utility that earns a package slot through reliability and provenance rather than breadth. Its value is traceable behavior: a known editorial algorithm, a test corpus, and a simple stdin/stdout interface.

### Timeline

- 2008-05-20: John Gruber published the original Daring Fireball Title Case Perl script.
- 2008-07-28: The ap/titlecase GitHub repository was created.
- 2008-08-13: Gruber credited Aristotle Pagaltzis's refactoring and test suite as better than the original script.
- 2009-11-04: The plasmasturm titlecase page published the refactored project page.
- 2018-02-26: The plasmasturm page shows an update date.

### Related projects

- John Gruber's original Daring Fireball Title Case script is the direct ancestor.
- David Gouch's JavaScript title-case implementation and tests are part of the documented test-suite lineage.
- Other ports mentioned by Gruber include JavaScript, Python, Ruby, PHP, Objective-C, and Nu implementations.

### Sources

- <http://plasmasturm.org/code/titlecase>
- <https://api.github.com/repos/ap/titlecase>
- <https://daringfireball.net/2008/05/title_case>
- <https://daringfireball.net/2008/08/title_case_update>
- <https://github.com/ap/titlecase>
- <https://raw.githubusercontent.com/ap/titlecase/master/test.pl>
- <https://raw.githubusercontent.com/ap/titlecase/master/titlecase>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** titlecase
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [align](https://www.automicvault.com/pkg/brew/align/) - Shares av.db curated category or tags: cli, developer-tools, formatting, text-processing.
- [decasify](https://www.automicvault.com/pkg/brew/decasify/) - Shares av.db curated category or tags: cli, developer-tools, text-processing, title-case.
- [bsdconv](https://www.automicvault.com/pkg/brew/bsdconv/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [cconv](https://www.automicvault.com/pkg/brew/cconv/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [cmigemo](https://www.automicvault.com/pkg/brew/cmigemo/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [desed](https://www.automicvault.com/pkg/brew/desed/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [enca](https://www.automicvault.com/pkg/brew/enca/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [enscript](https://www.automicvault.com/pkg/brew/enscript/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [titlecase](https://www.automicvault.com/pkg/npm/titlecase/) - Same normalized package name appears in another local ecosystem. Shared terms: case, title, title-case, titlecase.
- [titlecase](https://www.automicvault.com/pkg/npm/titlecase/) - Same normalized package name in another local ecosystem.
- [titlecase](https://www.automicvault.com/pkg/cargo/titlecase/) - Same normalized package name exists in another local package ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/titlecase.yml](https://github.com/automic-vault/db/blob/main/combined/titlecase.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
