String Manipulation

Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE, CLion, Rider

Vendor: original author: Olivier Smedile, current maintainer: Vojtech Krasa



Source code:

Bugtracker page

Provides actions for text manipulation:

  • Toggle style (camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE,, words lowercase, Words Capitalized, PascalCase)
  • To SCREAMING_SNAKE_CASE (or to camelCase)
  • To snake_case (or to camelCase)
  • To (or to camelCase)
  • To hyphen-case (or to camelCase)
  • To hyphen-case (or to snake_case)
  • To camelCase (or to words)
  • To PascalCase (or to camelCase)
  • Capitalize selected text
-when nothing is selected, then either nothing or whole line or a particular element is selected - report an issue if you find something to improve, each file type needs its own implementation to work flawlessly.


  • Un/Escape selected Java text
  • Un/Escape selected JavaScript text
  • Un/Escape selected HTML text
  • Un/Escape selected XML text
  • Un/Escape selected SQL text
  • Un/Escape selected PHP text
  • Convert diacritics(accents) to ASCII
  • Convert non ASCII to escaped Unicode
  • Convert escaped Unicode to String


  • Encode selected text to MD5 Hex16
  • De/Encode selected text as URL
  • De/Encode selected text to Base64


  • Increment/decrement all numbers found.
  • Duplicate line and increment/decrement all numbers found.
  • Increment to produce unique sequence of numbers

Sort with natural order:

  • Reversing order of lines
  • Sort case-sensitive A-z
  • Sort case-sensitive z-A
  • Sort case-insensitive A-Z
  • Sort case-insensitive Z-A
  • Sort line length asc., desc.


  • Format selected text to columns/table by a chosen separator/delimiter
  • Align text to left/center/right


  • Grep selected text, All lines not matching input text wil be removed. (Does not work in column mode)
  • Trim selected text
  • Trim all spaces in selected text
  • Remove all spaces in selected text
  • Remove duplicate lines
  • Remove empty lines


  • Swap characters at caret

Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M". You can setup your own shortcuts for better usability.

Downloads: 209610
Participated in rating: 13
Version Compatible builds Date 135.445 + 16.05.2016 Download 100 — 135.444 11.05.2015 Download
1.3 72.7361 + 29.09.2008 Download
27 updates are hidden show all updates
Screenshot #15076
Screenshot #15845
Screenshot #15074
Screenshot #15484

Recent change notes

Version 4.6
  • IntelliJ 2016.2 EAP compatibility
Version 4.5
  • new action: Increment to produce unique sequence of numbers ("s0,s0,s0" => "s1,s2,s3")
Version 4.4
  • fixed AssertionError: Wrong line separators
Version 4.3
  • added action: Align to left/center/right
  • added action: Convert diacritics(accents) to ASCII
  • added action: Sorting with natural ordering
Version 4.2
  • added PascalCase support
Version 4.1
  • fixed converting with numbers (now: v2Counter -> V2_COUNTER, _2_v2_Counter_3 -> 2_V2_COUNTER_3)
Version 4.0
  • smarter selecting for case converting actions - when nothing is selected, then either a whole line or a particular element is selected - report an issue if you find something to improve, each file type needs its own implementation to work flawlessly.
  • fixed whole bunch of edge cases for case converting actions
  • new action: Increment/decrement all numbers found
  • too many actions, introduced new subgroups
Version 3.3
  • new action: Remove duplicate lines
  • new action: Format selected text to columns/table by a chosen separator/delimiter
Version 3.2
  • Renamed and added more case converting actions
Version 3.1
  • Improved converting to camelCase and CONSTANT_CASE
Version 3.0
  • Popup(Alt+M) disabled when refactoring popups are visible
Version 2.9
  • To camel case fixed for a lower case word.
Version 2.8
  • Added properties style action
Version 2.7
  • Improved constant and camel case actions
  • Added hyphen case action
  • Added action for switching between all styles (camelCase, hyphen, underscore, words)

Version 2.6
  • Line break fix

  • Multiple Selections support

Version 2.4
  • Fixed bug: if end-of-line was selected as last character, then it was removed
  • Disabled default shortcut for swap characters
  • New actions for PHP escaping

Version 2.3
  • Fixed: Convert escaped Unicode to String

Version 2.2
  • Increment/Decrement improvements
  • Popup menu works during indexing

Version 2.1.1
  • Swap Characters - bugfix

Version 2.1
  • Alt+A - Exchange two selected characters, or ones surrounding the cursor if no selection

Version 2.0 - Resurrection of the plugin
  • Column selection fix
  • Enabled for all IDEs
  • Fixed Escaped Unicode to String action
  • New action: Capitalize
  • New action: Capitalize Fully
  • New action: Decode Url
  • Added shortcut Alt+M for popup opening
  • Improved actions shortcuts in the popup

Version 1.3
  • Fixed a bug in duplicate and increment actions when line contains '.' and 'e'
  • Fixed exception when clicking cancel on grep dialog
  • Grep action now warns when no text is selected

Version 1.2 New features:
  • Convert non ASCII to escaped Unicode
  • Convert escaped Unicode to String
  • Remove empty lines
  • Duplicate and decrement numbers in a text
  • Now works since IDEA 7.0 (build 7361)
  • To camel case, now put the first letter on lowercase.

Version 1.1 Added following actions:
  • Encode to MD5 Hex16
  • Encode URL
  • De/Encode to Base64
  • Escape SQL
  • Escape XML
  • To Camel case
  • To Constant case
Duplicate and increment now handles float number which ends with "."


2016-04-12 16:36:18
2015-11-06 14:30:29
Absolutely perfect.
2015-09-10 22:11:53
2015-04-27 15:23:58
What a great time saver, thank you! - Tom
2015-02-26 18:45:38
Good job
2015-02-13 01:07:42
Great plugin, very useful. Good job!
2014-11-12 17:54:51
2014-11-12 17:46:25
Could u add convert plain email address to
2014-06-18 15:21:50
I kind of want something like this implemented: ´´´ public static String wordsToHyphenCase(String s) { StringBuilder buf = new StringBuilder(); char lastChar = 'a'; for (char c : s.toCharArray()) { if (Character.isWhitespace(lastChar) && (!Character.isWhitespace(c) && '-' != c) && buf.length() > 0 && buf.charAt(buf.length() - 1) != '-') { buf.append("-"); } if (!Character.isWhitespace(c)) { buf.append(Character.toLowerCase(c)); } lastChar = c; } if (Character.isWhitespace(lastChar)) { buf.append("-"); } return buf.toString(); } ´´´
2014-06-18 13:18:33
Is there any plan to add conversion to hyphenization/dashify/dash-and-lowecase-notation? (in PHPStorm) It would be real handy when working with keys and language-conversions. There could be a choice to use dash or underscore. I would love this and it seems to fit this plugin perfectly.
2013-08-22 01:45:03
Check this plugin: you can write your own groovy script for text replacing.
2012-04-02 19:54:55
Excellent timesaver. This is a must-have plugin!
2010-11-23 17:15:42
2010-11-10 08:20:20
A super useful feature would be a column mode insert list of Integers, Hex, 0xHex, Alpha.
2009-10-06 13:26:13
Great plugin, very useful. Good job!