Version 8.2 (2127)


  • In order to simplify Lists within custom cleaners, we are looking to remove Section Markers and instead supporting a single list within a custom cleaner. If you are using List section markers to create multiple lists, please contact support(at) so we can better understand your solution and look at ways to better address your needs. If you don’t know what List section markers are, then you are likely not affected by this change.


  • Added Insert Text category to add specific column indicators in Batch Find and Replace action.
  • New in-app help file. New topics added, including several custom cleaner tutorials.
  • New in-app help viewer.
  • Added Copy icon to toolbar.
  • New expanded help file. New tutorials added. See Help > TextSoap Help for updated docs.
  • Clean clipboard contents using TextSoap Menu. Hold down option key and select TextSoap Menu icon in menubar to clean clipboard contents.
  • Leave contents on the clipboard. Hold down Shift key when using TextSoap Menu to copy text from the current app, apply the specified cleaner and then leave it on the clipboard.


  • Fixed extraneous clipboard contents logging when launching.
  • Fixed issue that prevented Run Automator from functioning properly.
  • Fixed issue that kept text editor font preferences from working correctly.
  • Fixed issues related to drawing disabled actions.
  • Fixed filtering issues for actions in custom cleaner.
  • Fixed issue that could cause an exception when dragging in new actions into custom cleaner workspace.

Version 8.1 (2116)


  • QuickClean Menu - QuickClean lets you use cmd-1 thru cmd-9 to quickly access your favorite cleaners. Select a group and cmd-1 thru cmd-9 will be mapped to the first nine cleaners within that group. Change the group and instantly change the cleaners mapped to each shortcut. See which mappings, select Text > QuickClean menu. Create custom group for complete control over cmd-1 thru cmd-9 shortcuts within TextSoap.

  • Search History keeps a history of your manual searches.

    • Access your history in interactive finds.
    • Access items in find/replace actions within custom cleaners.
  • Insert Special Text Characters option. Insert tabs, returns, regex metacharacters, etc.

    • Now has popup menu for various categories.
    • Added properties categories for ICU \p{Property} and POSIX [:Property:] formats.
    • Negate or Use Long Names ({Letter} vs \p{L}) when specifying properties.
    • Optionally capture given sequence,
    • Specify count (1, 0+, 1+, N, N+, N-M) for given sequence.
  • Toolbar icons added to clipboard Workspace and documents. Customize cleaners/groups action moved to the top.

  • Highlight Current Line option now available for text editor.

  • New Cleaners

    • Fixup macOS name -- converts 'Mac OS X', 'OS X' to 'macOS'
    • Reverse Line Order
    • Remove All Spaces
    • Remove All Whitespace


  • Preferences have been reworked.

    • New Text Editor preferences controls default settings for clipboard workspace and new text documents.
    • Added preference option to set showing current line on new text editors.
    • Appearance pane controls color for invisibles and current line, and action color style as well as toolbar display options.
    • New default document type is now in General preferences.
  • TextSoap Menu Shortcut Actions improvements

    • Replaced popup menu with a popover.
    • Added a filter option for cleaners to apply.
  • Custom Cleaner Editor:

    • Text Fields in actions now auto-size based on the text entered.
    • The delete (X) icon was removed from each action. To remove an action, select it and select Edit > Delete in menu, or press Delete key.
    • User Note actions no longer have an enable button (there is no action performed for notes).
    • You can now enter returns inside a User Note action.
    • Find/Replace actions now have a color associated with them (purple).
    • Macro List definition is now a variant of Cyan.
    • New icons for custom cleaner toolbar.


  • 'Capitialize Common Tech Names' now correctly fixes up multi-word tech names like 'OS X El Capitan', 'iPhone 6s Plus' and 'MacBook Pro'.
  • Current text field changes were not committed when clicking preview in custom cleaner.

Version 8.0.9 (2097)


  • New: Interactive Find - text is now grayed out and matched text is highlighted in blue. Also added a "Done" button to remove any match highlights from the text when user is finished searching.
  • New: Added Clean with TextSoap 8 MyScrub Service menu item. This will apply the "MyScrub" cleaner, which is specified in Preferences > General.
  • New: Support for opening text files with unknown extensions.
  • New: Scripting commands for the main application. When using textsoap8Agent, it acts a go-between with the main TextSoap app, running the main in "agent mode" (which allows it to run w/o a user interface). These three new scripting commands allow AppleScripts to directly connect to the main app and enable "agent mode".

    These commands will allow an AppleScript to test and control the agent mode state of an app.

    • enableAgentMode -- transform app to use agent mode. Command is ignored if app is already in agent mode.
    • disableAgentMode -- turn off agent mode. Returns app to standard app mode if needed
    • isAgentMode -- indicates whether app is currently in agent mode
  • New: Helper app to inspect OS X Service definitions. Available via OS X Services preference. Click "Launch Inspector".
  • New: Under Preferences > Advanced, there are now two buttons that allow you to launch and quit both textsoap8Agent and TextSoap Menu. For the latter, it is recommended that you use the checkbox in Preferences > TextSoap Menu to install and launch the app.


  • Fixed: Calling AppleScript pickCleaner command on textsoap8Agent could cause a crash.
  • Fixed: TextSoap Menu Palette did not remember its position and size between launches of TextSoap Menu.


  • Changed: OS X Service standard menu item renamed to "Clean with TextSoap 8".
  • Changed: TextSoap's launch behavior has changed. Earlier versions of TextSoap launched as an accessory and transformed itself into a standard app. This created some subtle, but noticeable inconsistencies between a normal app launch and TextSoap. Starting with TextSoap 8.0.9, TextSoap will launch as a standard app and transform itself into an accessory when asked to launch in agent mode (by TextSoap Menu, textsoap8Agent, etc). This provides a more standard user experience launching the app when opening files, clicking on the icon, etc.

    When TextSoap is launched in agent mode (to support TextSoap Menu, textsoap8Agent, etc), it may briefly show up in the dock and then disappear. This is expected. To minimize this display, when TextSoap is launched in agent mode, it will stick around in the background for a while, to avoid a re-launch. If TextSoap is already running as a standard app, TextSoap Menu and textsoap8Agent will leave it alone.

Known Issues

  • Using TextSoap's' OS X Service actions within TextSoap app can cause OS X Services action to time out and not work. In general, I recommend using TextSoap Menu over OS X Services. TextSoap Menu provides more customization options, is richer and more dynamic (allowing access to all cleaners, allows changing groups, etc) and avoids many of the issues with OS X Services.

Version 8.0.8 (2085)


  • Fixed: "If Text Matches" action does not correctly process regex options.
  • Fixed: Markdown cleaner was treating some lines with colons as meta-data, creating incorrect results. (#581)
  • Fixed: Choosing color from Color Panel in custom group editor for a group item did not work if that item was not selected. Now, when the color panel is brought up, the group item for that color well will be selected (to receive color changes).
  • Fixed: Scripting definition changes believed to be the causing issues with some integration options. Reverted back to original 8.0.6 definitions.

Version 8.0.7 (2076)


  • Fixed: Clicking "Remind Me Later" for updates did not postpone next check as expected.
  • Fixed: Default automatic check update interval was too low.
  • Fixed: New Doc Word Count preference setting was not being honored for documents.
  • Fixed: Clipboard Workspace would reload (overwriting existing contents) if app was hidden and then re-activated by clicking on icon in dock.
  • Fixed: Clicking "Credits" tab in About window might cause a crash, or not present credits.

Version 8.0.6 (2070)


  • Fixed: Framework was causing regular crashes.

Version 8.0.5 (2067)


  • New: Clipboard Workspace show ruler, show lines numbers, show word count, show invisibles settings are now 'sticky' between launches.
  • New: Text in Clipboard Workspace can now be saved to disk.
  • New: Contents in Clipboard Workspace can now be printed as a text document.


  • Fixed: Updates to custom cleaners & groups did not always properly propogate. Changes should be more robust in propogating into the various parts of the app or helpers.
  • Fixed: Labels and separators weren't stripped out when requesting cleaners within a group via AppleScript (asTokens=NO).
  • Fixed: Cleaner list search finds any matches in the current group and then also any matches in the "Library" group. However, it could create duplicate entries for custom cleaners if they were in the current group (one for the match in the group, one for the match in the library). This is clearly demonstrated with the "Standard" group which automatically includes custom cleaners.
  • Fixed: When creating a batch find & replace action, a group named "-ALL-" was created by default. Group specifying all items is now called "All". Both "-ALL-" and "All Items" will automatically be converted to "All".
  • Fixed: Custom cleaner editor would not expand beyond a certain width on some monitors. Limited access to full screen and/or created void areas.


  • Changed: #SCRUB2 cleaner, a custom remnant from long ago, has been removed. If you used this, you can create a custom cleaner as an alternative.
  • Changed: About TextSoap window updated.

Version 8.0.4 (2060)


  • New: Added Customize button to all editor windows (lower right).
  • New: Clipboard Workspace supports converting between plain and rich text.


  • Fixed: In some situations, the Library group would not show all custom cleaners.
  • Fixed: Avoid potential issue with batch find action layout.
  • Fixed: $l (lowercase-L) was not colorized as a token in regex replacement strings.
  • Fixed: (Regression in 2054) Selecting custom groups in cleaner list leaves Library group active.
  • Fixed: Converting between plain and rich text documents did not adhere to warning preference.
  • Fixed: Capitalize with Title Case (and related actions) would delete some separators (i.e. colons).

Version 8.0.3 (2052)


  • New: Added support to drag cleaner and library files onto TextSoap icon (in dock) to import them. Will bring up the importer window and add the files.
  • New: If clipboard workspace window was closed, clicking on app icon will re-load the clipboard workspace.


  • Fixed: Regular expressions could find a zero length match, which caused extra, and incorrect, replace actions.
  • Fixed: Regular expressions did not always recognize when options (multiline, dot matches) were set.
  • Fixed: New documents do not remember last size set.
  • Fixed: Quitting with open custom cleaner editor could lose changes made.
  • Fixed: Launching TextSoap app via 3rd party launcher after it was used by TextSoap Menu now works correctly.


  • Added: New Advanced preference option added to enable larger toolbar buttons. When enabled (relaunch required), app will use regular size action buttons and revert to the older style ruler (with slightly bigger icons).
  • Changed: Add note to TextSoap Menu preferences to remind users that TextSoap Menu is required to for global keyboard shortcuts to be enabled.
  • Changed: Keyboard shortcut for accessing Custom Cleaners and Groups is now cmd-0.
  • Changed: TextSoap will now restart TextSoap Menu at launch if it was "installed" but the user quit it manually.
  • Changed: Find fields can be grown with new slider on Find & other actions.
  • Changed: Replace fields will automatically grow (2x) if Find field is made larger.
  • Changed: Added resizing sliders to Text Extract, Note, Insert Text actions.
  • Changed: Added an "Edit List Data" button to the batch actions, renamed toolbar button "Lists" to "List Data".

Version 8.0.2 (2045)


  • Fixed: Cleaner list item names sometimes remained truncated after sidebar resize.
  • Fixed: Closing custom cleaner editor could cause crash in some cases if no author was specified.
  • Fixed: Printing dialog causes ambiguous layout error.
  • Fixed: Documents would not print correctly.
  • Fixed: Clipboard Workspace print option was disabled.
  • Fixed: Issues with custom cleaner names within custom groups.
  • Fixed: TextSoap Menu palette would not properly display.
  • Fixed: TextSoap Menu would not dynamically reflect changes in custom cleaners or groups.
  • Fixed: Custom cleaners in search matches were not sorted.
  • Fixed: Custom cleaners did not display correctly on re-launch.
  • Fixed: Custom cleaner editor window position and size are now saved.
  • Fixed: Batch Processor window did not accept individual text files via drag-n-drop.
  • Fixed: A crash when batch processing files & folders.
  • Fixed: Launching TextSoap from TextSoap Menu would not always show app menu.
  • Fixed: TextSoap Menu was not automatically updated if it was launched.


  • Change: Action note icon updated. Now indicates if there is a note attached.
  • Change: User note for action will display as a tooltip for the note icon.
  • Change: When displaying Standard group within TextSoap Menu, if there are a large number of custom cleaners, they are displayed in a sub-menu named "Custom Cleaners".

Version 8.0.1 (2034)


  • New: File > Import... menu item to access cleaner importer.
  • New: File > Export... menu item to access cleaner exporter.
  • New: File > New > Custom Cleaner menu item to create a new custom cleaner.
  • New: File > New > Custom Group menu item to create a new custom group.


  • Fixed: App would not always properly activate on launch (stayed in background, menu issues).
  • Fixed: Clipboard Workspace did not remember its size and position.
  • Fixed: Clipboard Workspace did not honor default font settings for new docs.
  • Fixed: Clipboard Workspace did not honor default zoom preference.
  • Fixed: New Documents were not honoring default zoom preference.
  • Fixed: New Documents were not honoring default font settings for new docs (based on type of document).
  • Fixed: Importing previous cleaners didn't correctly convert Ignore Case option to new Match Case for Find actions. Please re-import your cleaners to correct this issue.
  • Fixed: Corrected typo for "Capitalize with Title Case" cleaner.
  • Fixed: Imported custom groups were not properly saved.
  • Fixed: Custom Text Wrap action was not using the value specified.
  • Fixed: Hyperlinks to Text action wipes out any hyperlink used.
  • Fixed: Extract middle characters action did not use correct start position.
  • Fixed: Multiple uses of "Markdown Text" cleaner could result in stray characters.
  • Fixed: Potential crash under certain conditions with "Markdown Text" cleaner (when appending text).
  • Fixed: Importing a previous database library (TS6 or TS7) would not properly pick up the custom cleaner names, leaving UUIDs instead. To fix, remove your previous custom groups and re-import them.
  • Fixed: Custom cleaners were not always showing up in some cleaner lists (like TextSoap Menu prefs).


  • Changed: If previous database (v6,v7) found, will prompt to import previous cleaners at launch.
  • Changed: Window > "Customize Navigator" renamed to Window > "Custom Cleaners & Groups..." to make functionality more explicit. The name change is also visible in the Groups popup menu in the cleaner list sidebar.

Steps to re-import older TextSoap database

If you need to re-import your older TextSoap 6 or 7 database, here is how you can do it.

  1. File > Import...
  2. Select your textsoap7.textsoapdata file (it's at ~/Library/Application Support/TextSoap/) and click "Review Items"
  3. You see all the cleaners and groups in the file, select them All
  4. Check the "Replace existing without prompts" options (otherwise it will ask to replace every cleaner/group).
  5. Click "Import Selected"

Version 8.0 (2020)


  • New: New content-focused interface. Stripped away a lot of the interface chrome.
  • New: Regular expression syntax coloring and validation to quickly spot common errors.
  • New: Customize Navigator provides simple access to user's' customized data
  • New: Easily import/export multiple cleaners with libraries.
  • New: Many of the customer requested cleaners added.
  • Improved: Rewritten custom cleaner editor.
  • Improved: Custom group editor.
  • Improved: TextSoap Menu options now integreated into preferences.

Text Editor

  • New: Option to show line numbers.
  • New: Option to toggle whether text wraps to window.
  • New: Supports opening/saving these file types:
    • Microsoft Word 97 (.doc) Document
    • Microsoft Word 2003 (.xml) Document
    • Microsoft Word 2007 (.docx) Document
    • OpenDocument Text (.odt) Document
    • Note: Conversion of these file types is limited to same level of functionality supported by TextEdit.
  • New: Commands to move selected line(s) up & down (#513).
  • New: Command to select line/paragraph at cursor (#516).
  • New: Paste Over Command (#484).
  • New: Live preview merges shows interactive matches, including regular expressions.
  • New: Captured group results are now available for each match (when using regular expressions).
  • Improved: Word count handling, esp. in very large documents.
  • Improved: Find/Cleaner palette sidebar is now resizable.

Sidebar (Assistant)

  • Cleaner List
    • Filter applies to current group and also appends any matches from library.
    • Group names are now sorted within each category (built-in, user).
    • Library cleaners are now sorted.
  • Find
    • Live Preview shows you matches as you type (integrated Regex Lab from TextSoap 7).
    • Syntax highlighter for regular expressions and replacement strings.
    • Highlights common errors found in expressions (such as unmatched parentheses, incomplete properties, character classes).
    • Option to display captured values of expression matches.

Customize Navigator

  • New: Navigator provides simple point access to:
  • New: Import/Export of Cleaners & Libraries
    • Libraries
    • New: Save multiple cleaners into a single Library file.
    • New: Import multiple cleaners from a single Library file.
  • Edit custom cleaners
  • Edit custom groups

New Cleaners Added

  • Normalize Dates to MM-DD-YYYY Format cleaner.
  • Normalize Dates to DD-MM-YYYY Format cleaner.
  • Normalize Dates to YYYY-MM-DD Format cleaner.
  • Capitalize Lines : Useful for song lyrics or various lists, takes each line and capitalizes it.
  • Fix Jammed Words : attempts to fix up words that are jammed together. It uses the spell check to look at words marked as misspelled that could be fixed by simply adding a space between them.
  • Reverse All Characters
  • Reverse Word Order
  • Reverse Characters in Each Word
  • Word Count - Notification : uses OS X User Notification to display word count of selected text.
  • Word Count - Remove All Notifications : removes all TextSoap word count notifications.
  • Strip Diacritic Marks : strip off any diacritic marks from text. ü becomes u, é becomes e, etc.
  • Make Unicode Names : convert unicode characters to their unicode name. 😀 becomes \N{GRINNING FACE}.

Misc Changes

  • New Dates Group with date related cleaners.
  • Capitalize Sentences no longer converts sentence to lowercase first. Use Capitalize Sentences (Alt) to continue this behavior.
  • Added additional capitalized tech names.

New and Improved Actions

  • Actions are now color-coded.
  • Find and Replace fields are now syntax colored for special characters and regular expressions.
  • A new Copy Text to Clipboard action
  • Capitalize Common Tech Names updated with additional names.

New Custom Cleaner Editor

  • A complete new user experience.
  • Each cleaner receives its own window to work in.
  • Larger text fields make everything easier to read.
  • Syntax coloring for regular expressions.
  • Actions are now truly hierarchical, allowing conditionals and others to embedded actions.
  • Embedded actions are included when you drag-n-drop top-level action.
  • Named Group action allows for arbitrary embedding of actions.
  • When you disable a Named Group, all the actions embedded within are disabled.
  • Color-coded actions based on category of action.
  • Many titles now show additional information about settings defined the action.
  • Titles can be customized by user.
  • Macros offer a simpler approach to repeated actions (vs. subroutines).
  • Action list can now be categorized into: All, Actions, Cleaners.
  • New batch list editor makes it easier to work with large lists of data.
  • Supports copy/paste using tab-delimited format
  • Supports find and replace within the list
  • List editor supports option to find using only specified columns