Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Change Case

dbrockmandbrockman23k downloads

Change the case (UPPER CASE, camelCase, snake_case, etc) of the current selection.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates160

Plugin to let you change the case of the selected text.

This is a plugin for Obsidian (https://obsidian.md). Search for "Change Case" in the community plugins.

This plugin adds the commands:

Change Case: lower case
Change Case: UPPER CASE
Change Case: camelCase
Change Case: Capital Case
Change Case: CONSTANT_CASE
Change Case: dot.case
Change Case: kebab-case
Change Case: no case
Change Case: PascalCase
Change Case: Pascal_Snake_Case
Change Case: path/case
Change Case: Sentence case
Change Case: snake_case
Change Case: Train-Case

Change Case: Select from list

The Select from list command will show a selection modal with the other commands.

Multiple selections

These commands can be used with multiple selections. All changes are committed to the editor in a single transaction. That means that when you undo, all changes will be undone. Any change to the length of the strings will be handled correctly and will not interfere with the next selection.

Handling of non-Latin alphabets

Changes to lower and upper case are done according to locale-specific case mappings, using toLocaleLowerCase and toLocaleUpperCase.

The locale is picked up from the Obsidian settings and navigator.language is used as a fallback.

The Unicode category for each letter is used to determine if the letter is a lowercase letter that has an uppercase variant, or an uppercase letter that has a lowercase variant.

When letters are made up of multiple Unicode characters (grapheme clusters), this plugin will try to group them into single characters if possible. For example, à encoded as U+0061 U+0300 will be encoded as the Unicode character U+00E0. Apart from that, it will not attempt to keep grapheme clusters intact, so some modifiers and marks such as accents and umlauts might get stripped from the text.

Handling of Markdown formatting

There is no special handling of Markdown markup characters or other formatting such as parentheses.

If you select text with formatting and use the camelCase command, for example, the formatting will be stripped:

- ### example - **formatted** (text)
+ exampleFormattedText

The exception is the lower case and UPPER CASE commands because they simply call toLocaleLowerCase and toLocaleUpperCase so all formatting remains intact.

HealthGood
ReviewCaution
About
Change the case of selected text with commands for lower, UPPER, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Sentence case, Train-Case, dot.case, path/case and more. Apply changes to multiple selections in a single undoable transaction and pick actions from a selection modal with locale-aware casing.
EditingFormattingCommands
Details
Current version
2.0.139
Last updated
2 years ago
Created
3 years ago
Updates
160 releases
Downloads
23k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
dbrockmandbrockman
GitHubdbrockman
  1. Community
  2. Plugins
  3. Editing
  4. Change Case

Related plugins

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Heading Shifter

Easily Shift and Change Markdown headings.

Paste URL into selection

Paste URL "into" selected text.

Keyshots

Add classic hotkey/shortcuts commands from popular IDEs like Visual Studio Code or JetBrains Family.

List Callouts

Create simple callouts in lists.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Quick Switcher++

Enhanced Quick Switcher, search open panels, and symbols.

Sort and Permute lines

Sort and Permute lines in whole file or selection.