Leading professional HTML and text editor for Mac

BBEdit for Mac

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.


BBEdit 12.5

  -  13.3 MB  -  Trial

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system. Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of BBEdit 12.5.

For those interested in downloading the most recent release of BBEdit for Mac or reading our review, simply click here.

All old versions distributed on our website are completely virus-free and available for download at no cost.

We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • BBEdit 12.5 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

What's new in this version:

- There is a new command on the "Go" menu: "Commands...". This brings up a modal panel which lists everything that you can do from a menu in BBEdit: menu commands, clippings, scripts, stationery, text filters, as well as open text documents and recent files.
- Type in the search box to narrow down the list; when you do this, results are ranked by how closely each entry matches what you entered.
- You can use wildcards (not Grep, but conventional file name wildcards like "*", "?", and so forth) if you like.
- Use the up- and down-arrow keys to move between matches; Return or Enter will run the highlighted command. This works whether keyboard focus is in the search box or on the list.
- You can dismiss the panel without doing anything by pressing Escape or Command-period.
- The right-hand column will display the currently assigned keyboard equivalent, if there is one. Double-clicking on the equivalent, or in the space where it would be, will allow you to change the key equivalent: press the keys that you would like to use for that command.
- You can now generate lipsum, using the "Lorem Ipsum" command on the Insert submenu of the Edit menu.
- Lipsum generation is available in clippings.
- Lipsum generation is available as an HTML document placeholder, using the same #lipsum...# syntax as for clippings.
- Added support for Grep patterns to Canonize. This can be turned on using the check box in the "Canonize" dialog box; or by using a mode line in a Canonize data file.
- Added support for mode lines in Canonize data files. The mode line must be a comment line and occur on the first or second line of the file.
- Multi-File Search results windows now get a "reload" button, which you can use to repeat the search using the same settings.
- There's a new command available on the Search menu and in the contextual menu in text views: "Search for [selected text] in [location]". This will start a multi-file search for the selected text (or the word surrounding the insertion point, if applicable), in the locations most recently used in the Multi-File Search Window.
- There's now a "Word" command on the Select submenu of the Edit menu. Choose it to select the word(s) containing the insertion point or selection range. There is no default keyboard equivalent for this; you can assign one using the "Menus & Shortcuts" preferences.
- Added a collection of commands to the Miscellaneous group in the Menus & Shortcuts preferences: "Edit View Scrolling". Each of these is for scrolling an edit view in the appropriate direction, and is a convenient hook for assigning a keyboard equivalent for easy keyboard scrolling (e.g. control-up/down-arrow, or control-left/right-arrow).
- Added a "Clear History" command to the search/replace history menu in the Find and Multi-File Search windows.
- The setting to enable single-click line selection (by clicking in the line number bar or gutter) is now available in the Editing preferences.
- Added a "Title Case" option for Change Case. This will make the first letter of each word in the selected range uppercase, except for certain words that would not be appropriate. The implementation uses NSString+IATitleCase, copyright ©2016 Information Architects, Inc. and used under the terms of the MIT License.
- The Multi-File Search window provides the ability to filter files and folders separately. In this way, you can include only those folders that you explicitly wish to search.
- The "Find Differences" command now provides an option for separate folder filtering. This follows the same rules as described in the change for Multi-File Search.
- Added folder filtering controls to the "Options" panel for text factory windows. (Folder filtering follows the same rules as Multi-File Search and multi-file Find Differences.)
- The options for Find Differences are now tabbed, to reduce clutter in the dialog box. As a result, you can now make the Find Differences dialog narrower (horizontally) than before.
- The Find window gets a new button: "First". Clicking this button will always find the first match in the document, irrespective of where the insertion point or selection range may be.
- There is a new command on the Search menu: "Find First". This command will always find the first match in the document for the current search string or pattern, using the options previously set in the Find window, irrespective of where the insertion point or selection range may be.
- BBEdit enables this command while keyboard focus is in the Live Search box; and using it in that situation will highlight the first match in the document for the current Live Search string/pattern.
- There is a new command on the Search menu: "First Occurrence of Selected Text". If a selection exists and the global preference to "Display instances of selected text" is turned on (in the Editing preferences), then this command will display the first highlighted range of the selected text that occurs in the document.
- There's a new command on the View menu: "Merge Windows". When a non-project editing window is active, this command will collect the open documents from all other non-project editing windows that are open behind it, and will then close those other windows. The end result is that all open documents are (...wait for it...) merged into the active window.
- If this command is disabled, it's because the active window is a document-based project (bbprojectd) or an instaproject (created by dropping a folder on the application), or there are no other qualifying document windows open.
- The "Collapse Folds Below Level" submenu commands can have keyboard equivalents assigned to them, if desired, using the "Menus & Shortcuts" preferences.
- "Show Working Copy Status" results windows now include a Reload button, which will refresh the results.
- There is a GUI editor for color schemes. If you drop a .bbcolors or .bbColorScheme file on the application, a color scheme document window will open for that scheme. You can make changes to the colors, similar to the fashion in which the "Text Colors" preferences does it.
- In addition to the color swatches and applicable settings, a scheme editor window has two buttons: "Apply" and "Install".
- The "Apply" button will change the active color scheme to use the colors specified in the window. This is good for trying out a color scheme before installing it, or when testing out changes to a scheme. BBEdit does not save the changes made by the "Apply" button to your preferences.
- The "Install" button is useful for installing a downloaded color scheme, and will copy it to the "Color Schemes" folder in your active BBEdit application support folder.
- The "Bookmarks" pane in the Setup window now gets "go to" arrows for each bookmark; clicking on the arrow will open that location in an FTP/SFTP browser.
- BBEdit is now built using the macOS hardened runtime, for increased security protections when running on macOS 10.14.
- The list items in the "Folders" tab of the Setup window are drop targets; you can drag files on to them and the file(s) will get moved to the appropriate directory. You can hold the Option key down to copy instead.
- Added a lightweight language module for sandbox profile (SBPL) files; it folds matched pairs of parens and will color comments, strings, and some keywords.
- Edit => Columns => New Document with Columns will make a new untitled document with the text of the selected columns (given a recognizable column-delimited file).
- Added a "Remove Blank Lines" pattern to the factory default list of patterns, as an example.
- A simple Swift language module is now included with the application.
- A "sidebar width" scripting property is available for project/editing windows, which returns the width of the sidebar as a fraction of the window's overall width.
- Plug-in language modules may now specify custom badge information for use in the function menu. Details on how this works are available in the updated language module developer notes.
- Added a port of the "Xcode Dark" color scheme to the built-in list. Thanks to Andrew Carter for his contribution.
- Print settings (via the Print panel) are now remembered per document, and applied as needed. They are saved in the document state.
- The Open File by Name window now highlights each matching file name, based on its relationship to the search string.

- We have reorganized the "Appearance" preferences pane, moving the "Match appearance" check box to the top and making room for an annotation below it. The "Show icons" setting for sidebars has been squeezed out and moved to the Expert Preferences help (the setting is still honored).
- We have changed the order of menu items in the file filter UI: legacy HFS properties are now at the end of the menu (and some day may go away entirely, so be prepared). In addition, since folders may be used for either files or folders, the word "File" has been removed from the nomenclature except where a term applies specifically to files only (such as "File contents").
- The "Open" button for results windows (Multi-File Search, SCM operations, and others) has been deemed surplus to requirements and we have removed it from these windows. (You can still open items from a results window many different ways: return or Enter while the list has focus; or double-click on an item.)
- The Text Options popover (under the gear in the navigation bar) will show an indication when settings in the document you're editing are affected by a .editorconfig file, because changes to affected settings are lost when closing the document.
- We have retired the built-in Perforce support. You can certainly continue to use BBEdit to edit files under p4 control, and it will continue to function as a P4EDITOR and P4DIFF helper (set those configuration variables to "bbedit -w" and "bbdiff -w", respectively).
- The Multi-File Search window now shows enhanced summary information; it will provide a full summary of all of the items being searched. There's a scroll bar in case you need it.
- Added some vertical space to the "Enter License" panel so that there's more room for helpful text.
- Rearranged the "View" menu slightly, so that it's a little shorter overall. The "Text Display" submenu is now at the top, followed by a "Window Appearance" submenu which contains the previously inlined commands for turning on and off various elements of the window display.
- When running a Unix script or executable from the Scripts menu, the selection range of the active text document is available by reading from stdin. If there is no selection, the entire contents of the active text document are provided.
- The "Exclude matches" option for multi-file searches is in the window itself, rather than being hidden behind the Options sheet.
- In the Multi-File Search window, when "Exclude matches" is turned on, the summary now includes an annotation, so that you'll be reminded why your searches "don't find anything".
- Cleaned up the "Folders" pane in the Setup window. The arrows are now gone, and each folder icon is a clickable button that does what the arrow used to (and more reliably).
- Removed the Keyboard preference setting to control Option-Yen behavior. The entry of ¥ on Japanese keyboards is switchable for the applicable input method in the Keyboard system preferences.
- When running on macOS Mojave (10.14) or later, the Appearance preferences contain an option: "Match application appearance to selected editor color scheme". When enabled, this will do what it says: when the application color scheme is dark, BBEdit's windows and UI elements will use the Dark Mode appearance; otherwise the standard appearance will be in effect. This operates irrespective of the system-wide appearance setting.
- BBEdit will override this setting when you have selected the “Dark” appearance in the General system preferences. This is done so that BBEdit's primary interface can match the system appearance (dialog boxes, palettes, and so forth) will all use Dark Mode when it is turned on system-wide.
- If there is some reason that you would prefer that BBEdit's presentation always match the selected editor color scheme irrespective of whether Dark Mode is on, you can change this: defaults write com.barebones.bbedit UseSystemAppearanceWhenInDarkMode -bool NO. We recommend restarting BBEdit after you change this setting.
- On macOS 10.13 and earlier, this option remains "Match window appearance to selected editor color scheme", and although editor windows will be darkened appropriately, some windows are excluded due to limitations in the older OS versions.
- The "Save Scheme" button in the "Text Colors" preferences has been changed to "New...", and will create a new color scheme document using the current settings.
- The "New Disk Browser" command prompts for the directory to browse, rather than always opening in the user's home directory (which would not be possible once macOS sandboxing rules go into effect).
- Changed the default order of items in the Setup window's toolbar. The toolbar is also configurable, so you can rearrange items as desired (or remove them, although that is probably not a good idea).
- We have removed support for size-based control of font smoothing; the OS has not supported size-based smoothing controls for a very long time, and the mismatches between our controls and the OS font implementation have been causing problems. The Expert Preferences help has been updated accordingly.
- Changed the "files visible" AppleScript property of project/editing windows to "sidebar visible" to match the UI nomenclature.
- Since a Swift language module is built in, BBEdit advertises its ability to edit Swift source files to the OS. What the OS does with that information is completely up to it.
- On Touch Bar systems, the touch bars for the supported windows are now customizable, so you can rearrange or remove items as desired. (Use the "Customize Touch Bar" item on the View menu.)
- If a file has a com.apple.TextEncoding extended attribute, BBEdit now assumes that it is a text file for purposes of file filtering (for various use cases). This test gets applied after filename extension mapping and other file metadata tests have failed, but before examining the file's content.
- Pushed some pixels to improve the appearance of the "clippings" badge used for completions (and other circular badges that may appear in the function menu or elsewhere).
- The bbdiff, bbresults, bbedit, and bbfind tools are now built with the hardened runtime and appropriate entitlements for enhanced security on macOS Mojave.
- While drag-scrolling (that is, making a selection with the mouse and dragging it beyond the view boundaries, or using drag-and-drop for the same purpose), BBEdit will throttle the vertical scrolling speed. If you would prefer that it not limit the scrolling speed in this situation: defaults write com.barebones.bbedit ThrottleVerticalScrollingSpeed -bool NO.
- BBEdit is now using an updated version of the PCRE regular expression engine which includes significant architectural rework. There are no changes to the pattern syntax; but the new version addresses various performance bottlenecks and limitations that were present in older versions. Among other things, it should now be possible to do Grep searches in files that are larger than 2GB.
- If multiple items in a folder-backed menu (Scripts, Text filters, etc) have the same base name, their names will appear with the filename extension, to help resolve confusion which might confuse if (for example, purely hypothetical of course) you have "Markdown.pl" and "Markdown.textfactory" in your Text Filters folder.
- Made changes so that the default height of text factory, color scheme, and FTP windows is less than the height of the display and the width is appropriate to the window's intended use.
- The "Find Differences" now limits the maximum number of open text documents that are presented in the "Recent" menu next to each file entry area. The overflow is now provided on a submenu below the top few items.
- BBEdit will (quietly) check for an update the first time it is used, or if it detects that it's running on a different version of macOS than the last time it was started.
- Since page setup adjustments are now included in the Print panel, we have removed the "Page Setup" command from the File menu.
- When you opt out of reopening documents that were opened via the built-in FTP/SFTP support (either by changing the preference in Application preferences; or by clicking "Skip" when prompted at startup), BBEdit will opt out of reopening FTP/SFTP browser windows as well.
- The command-line tools installer will attempt to install the tools without requesting administrator credentials; only if this fails will it prompt you for administrator permissions. That way, if /usr/local/bin/ exists and is writable by you, no privilege escalation is required.

- Made changes to improve compatibility with iCloud Drive when application support and setup data is stored there.
- Overhauled and modernized the code that locates the BBEdit application support and Setup folders and their contents.
- "Compare Against Previous Version" and "Compare Against Disk File" are now available for files being displayed in results windows (when keyboard focus is in the editing view).
- Extensively modernized file system operations in document open/save and other areas.
- Fixed a memory leak in the Text Options sheet.
- Fixed a memory leak in the file filtering subsystem.
- Fixed a bug in which more work than necessary was being done while building the item tree for folders in projects (insta- or otherwise).
- Fixed bug in which instaprojects would not open up with the correct sidebar width, which was particularly noticeable when the width had been customized via "Save Default Project Window".
- Fixed a bug in which Hard Wrap would leave the last line of a paragraph unbroken in cases where it was longer than the wrap width.
- If you use "Edit Markup" in a document whose language is not an HTML variant or XML, and the point at which you invoke Edit Markup is not parseable HTML, the markup builder will pretend that it's within a tag, and will present appropriate options instead of beeping.
- Fixed bug in which the HTML syntax checker would incorrectly report an error on URLs that contained an ampersand ("&") in the query portion of the URL.
- Made a change so that -T in a Perl document's #! line is passed through to the Perl interpreter when doing a "Check Syntax", so that it doesn't trigger a note from perl about the mismatch.
- Fixed bug in which the SFTP client would report a -108 error when trying to perform certain operations after a failed connection attempt.
- Updated the internal FTP implementation library to the latest available version.
- Updated an internal API usage to match current recommended best practices.
- Fixed bug in which file filters specified in a Text Factory window were not applied.
- Made a change to reduce resource utilization when updating ctags data with many documents open.
- Fixed a bug in which certain HTML document malformations would confuse the markup tools into thinking that the selection range was inside of a tag pair when in fact it was not, which in turn would cause the generated markup to be inserted in the wrong place.
- In the Live Search bar, the "Grep" option and saved patterns menu will now respond to the same keyboard equivalents used for activating those items in the Find and Multi-File Search windows.
- When using the "New Text Document" contextual command in a project window sidebar, BBEdit will add a text encoding attribute to the (empty) file if it is otherwise not recognizable as a text file (based on its filename extension).
- Fixed bug in which creating a new text file within a Disk Browser window would not select the file in the sidebar, as it should have. (Note that if a file is already selected and has unsaved changes in the browser window, the selection will not change in any event.)
- Radar 28263496 appears to be fixed as of 10.13, so on the newer OS versions we allow our spelling panel additions ("Skip All Caps") to load.
- Adjusted the scripting dictionary so that using sdef followed by sdp to generate a Cocoa scripting bridge header generates NSURL* parameters for all of the APIs that need them.
- Fixed an unreported bug in which the enabling of the "Insert" toolbar item in the Clippings palette was not correct when the Find or Multi-File Search window had keyboard focus.
- Made a change so that when running on pre-Mojave macOS versions, windows with special needs (FTP browsers and Open File by Name) always use the OS appearance, even when a dark color scheme is selected. This works around various cosmetic issues in macOS 10.12.x and 10.13.x when trying to force a dark window appearance.
- Fixed typo in the Clippings and Placeholders references in the help book in which DATETIME was used twice in succession, rather than DATETIME_GMT.
- Fixed a bug in which closing the Find or Multi-File Search window would activate the wrong window in some circumstances (usually involving full screen or Split View mode).
- The HTML5 syntax checker will no longer generate a warning for elements.
- If you attempt to save a document in a location from which another document is already open, BBEdit will prevent you from doing so, because otherwise this causes all kinds of confusion.
- Fixed bug in which the application allowed you to drop things into the "Currently Open Documents" section (in a project window) that didn't belong there. What happened next was usually shocking.
- Fixed a case in which symlinks in a folder (at the top level) which pointed to the folder itself would be included when expanding the folder recursively in a project sidebar. (Note that symlinks below the top level can still create an infinite loop if they point to the folder or one of its ancestors.)
- Fixed bug in which Perl documents containing indented heredocs

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.