Change the case of the selected text in any Windows app, even through Remote Desktop: a shortcut, a popup, and the text is pasted back without formatting.
English · Français
Early development. Version 0.2.
- Select some text, press Ctrl + Alt + C: a popup shows the result of each case; choose one (a key, the arrows or the mouse) and the selection is replaced, as plain text. The four basic cases by default, the others to tick in the settings.
- Or Ctrl+C+C (hold Ctrl, press C twice), as with DeepL: the popup opens on what you have just copied.
- Direct shortcuts: Ctrl + Alt + U, L, T, S convert at once (UPPERCASE, lowercase, Title Case, Sentence case); one for each case if you like.
- Works in the Remote Desktop window too (nothing to install on the remote PC).
- In File Explorer: right-click a file or folder → Change the case of the name (Show more options).
- The clipboard holds again what you had copied.
- UPPERCASE · lowercase · Title Case · Sentence case
- camelCase · PascalCase · CONSTANT_CASE · param-case · snake_case · dot.case
- tOGGLE cASE · aLtErNaTiNg · no accents · no case
- Clean-ups: extra spaces, line breaks, plain text as it is.
- "CANON EOS R6 MARK II" becomes "Canon EOS R6 Mark II": a list of words kept as written (EOS, iPhone, mm…), yours to edit.
- Words with digits (R6, 24-70mm), Roman numerals (Mark II), words in mixed case (iPhone) and acronyms in a normal sentence are kept.
- The small words of a title stay in lowercase (de, la, of, the…).
- A Smart switch in the popup (key 0): off, every letter changes.
- Windows 11 look (Fluent, Mica), light or dark theme.
- English and French.
- Starts with Windows, waits in the notification area, a pause in one click.
- Updates in one click from the app (GitHub Releases).
- Developer mode (About): a log, and the popup stays open for a screenshot.
From the Microsoft Store: Change Text Case, signed by Microsoft, updated by the Store. It has no menu in File Explorer (a Store app cannot add one this way).
Or from GitHub:
- Download
TextCase-Setup-x.y.z.exefrom the Releases page. - Run it. As the installer is not signed, Windows SmartScreen may show “Windows protected your PC”: click More info → Run anyway.
- Accept the administrator prompt (UAC).
The installer copies the app to C:\Program Files\TextCase, adds it to the Start menu, and offers to install the
Microsoft .NET 10 Desktop Runtime if it is missing. At its first start the app turns on Start with Windows.
To uninstall: Settings → Apps → Installed apps → TextCase.
Requirements: Windows 11 (Windows 10 2004 or later may work), x64. For Remote Desktop, copy and paste between the two PCs must work (the clipboard is shared by default).
| Tool | Purpose | Install |
|---|---|---|
| Git | Get the code | winget install Git.Git |
| .NET 10 SDK | Build the app (C# / WPF) and run the tests | winget install Microsoft.DotNet.SDK.10 |
| Inno Setup 6 | Build the installer | winget install JRSoftware.InnoSetup |
| Windows SDK | makeappx and makepri, to pack the Store version |
winget install Microsoft.WindowsSDK.10.0.26100 |
.\scripts\build.ps1The script runs the tests, then writes dist\app\ (framework-dependent, ReadyToRun) and
dist\TextCase-Setup-<version>.exe. Options: -SkipTests, -NoInstaller.
.\scripts�uild-store.ps1The Microsoft Store version: dist\store\TextCase_<version>.0_x64.msix, the same app with .NET inside, not signed
(the Store signs it). In it, the start with Windows is a startup task, the Store installs the updates, and File
Explorer has no TextCase menu (what a package writes to the registry stays in its own copy).
dotnet test tests\TextCase.Tests # unit tests
dotnet run --project src\TextCase # run the app (--background opens no window)TEXTCASE_LANG=en|fr and TEXTCASE_THEME=Light|Dark force a language or a theme. TextCase runs once per session:
quit it from its notification icon before starting another build.
src/
TextCase.Core/ Logic without UI: the conversions and their rules, shortcuts, Ctrl+C twice, GitHub releases
TextCase/ WPF app: keyboard hook, copy and paste, clipboard, the popup, the settings window, updates
installer/ Inno Setup script
store/ Manifest, logos and listing of the Microsoft Store package
scripts/ build.ps1, build-store.ps1, make-icons.ps1
tests/ Unit tests (xUnit)
App texts: src/TextCase/Properties/Strings.resx (English) and Strings.fr.resx (French); the tests check that both
have the same keys and placeholders. Installer messages: installer/TextCase.iss.
scripts\make-icons.ps1 draws the icon (.ico, the 256 px PNG of the app, docs/icon-256.png,
docs/icons/TextCase.svg, the logos of store/Assets). The generated files are committed: run it again only to change the design.
- Update
<Version>inDirectory.Build.props. - Commit, then create and push a tag:
git tag v0.1.0, thengit push origin v0.1.0. - The GitHub Actions workflow builds, tests and publishes the installer in a Release.
- The Store version:
.\scripts�uild-store.ps1, then a new submission in Partner Center with the new.msix.
The text you convert never leaves your computer: TextCase reads it from the clipboard, converts it in memory and
pastes it back. To see its shortcuts it watches the keyboard, and keeps nothing of it. Only in developer mode
(About), a log of the shortcuts and of each change (times and lengths, never the text) is kept in
%LOCALAPPDATA%\TextCase\swap.log. The only network access is the update check on GitHub (api.github.com),
which can be turned off in Updates; the Microsoft Store version has none (the Store updates it).
MIT.
Developed by QuentinPerou, with Claude Code (Anthropic). Inspired by the Chrome extension Change Case.
