Skip to content

ejcenteno/Text-Case-Converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔡 Text Case Converter

A lightweight, offline-capable Chrome extension that converts any text into 13 casing formats simultaneously.

Manifest Version Permissions Version


Features

  • 13 output formats — camelCase, PascalCase, snake_case, SCREAMING_SNAKE, kebab-case, COBOL-CASE, dot.case, path/case, Title Case, Sentence case, lowercase, UPPERCASE, tOGGLE cASE
  • Smart tokenizer — correctly splits camelCase, PascalCase, acronyms (e.g. XMLParser), and any separator-delimited string
  • One-click copy per format with visual confirmation
  • Dark / light mode toggle, persisted across sessions
  • Respects OS theme on first launch
  • Escape to clear keyboard shortcut
  • 100% offline — no network requests, no external dependencies

Screenshots

image image

Installation

From Source (Developer Mode)

  1. Clone or download this repository
  2. Open Chrome and navigate to chrome://extensions
  3. Enable Developer mode (toggle in the top-right corner)
  4. Click Load unpacked
  5. Select the text-case-converter/ folder
  6. The extension icon will appear in your toolbar

From the Chrome Web Store

Coming soon.


Usage

  1. Click the extension icon to open the popup
  2. Type or paste any text into the input field
  3. All 13 case formats update instantly
  4. Click Copy on any card to copy that format to your clipboard
  5. Press Escape to clear the input

Supported Input Formats

The tokenizer intelligently handles any of these input styles:

Input Words detected
hello world hello, world
hello-world hello, world
hello_world hello, world
helloWorld hello, world
HelloWorld hello, world
XMLParser xml, parser
hello.world/foo hello, world, foo
HELLO WORLD hello, world

File Structure

text-case-converter/
├── manifest.json       # MV3 extension manifest (no permissions required)
├── popup.html          # Extension popup markup
├── popup.js            # All conversion logic, rendering, and theme handling
├── popup.css           # Styles with CSS custom properties for dark/light theming
├── icons/
│   ├── icon16.png
│   ├── icon32.png
│   ├── icon48.png
│   └── icon128.png
└── README.md

Permissions

Permission Required Reason
storage ✅ Yes Persists the dark/light theme preference across sessions via chrome.storage.local

No host permissions, no activeTab, no scripting. The extension never reads or modifies any web page.


Development

No build step required. Edit the files directly and reload the extension at chrome://extensions using the ↺ reload button.

Adding a new case format

  1. Open popup.js
  2. Add a new entry to the CONVERSIONS array:
{
  id: 'myformat',        // unique string, used as data-id on the card
  label: 'myFormat',     // display label shown in the UI
  fn: words => words./* your transform here */
}

That's it — the card will appear automatically in the grid.


Contributing

Pull requests are welcome! Please keep changes minimal and avoid adding dependencies.


Support the Developer

If this extension saved you time, consider buying me a coffee ☕

Platform Link
☕ Buy Me a Coffee https://buymeacoffee.com/ejcenteno
💖 GitHub Sponsors https://github.com/sponsors/ejcenteno
🍵 Ko-fi https://ko-fi.com/ejcenteno
💸 PayPal https://paypal.me/ejcenteno

License

MIT — free to use, modify, and distribute.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors