BBEdit 7.1.3, by Bare Bones Software
Posted: 22-May-2004

4 1/2 out of 5 Mice

Vendor: Bare Bones Software Type: COMMERCIAL

Reviewer: Steve Lazarus Class: PRODUCTIVITY

BBEdit is a full featured text and programmer's editor, aimed to support virtually anything a user may wish to do with a text file. It is fully compatible with OS 9 and OS X. (The Unix underpinnings of OS X provides additional capabilities.) Editing may be performed on either local files or remote files via FTP. An extensive list of programming languages is supported. HTML editing and syntax validation is a strength of BBEdit. On OS X, version control is supported via an interface to CVS (Concurrent Versions System). Search and replace operations may use simple character matching or, optionally, grep style regular expressions. (Regular expressions provide sophisticated character matching capabilities.)Search and replace operations may be performed across multiple files (including nested directories.) Directories may be browsed on remote or local systems. Files and entire directory structures may be compared.



A 30 day evaluation copy may be downloaded from


  • Mac OS 9.1 or higher, at least 9.2.2 recommended, OR
  • Mac OS X 10.2 or higher, at least 10.2.6 recommended (Full 10.3 compatibility).

Reviewed on

  • Macintosh G4 Dual 1.2 MHz
  • Mac OS X 10.3.3 (Panther)
  • 1024MB RAM

BBEdit is installed by simply dragging the application from the installation CD or disk image to your hard disk. The application is a 'fat bundle' that runs under either OS 9 or OS X. (Version 1.5 or later of CarbonLib is required for OS 9.) A serial number is requested the first time the application is launched. The serial number may be entered or demo mode selected.

In Use
BBEdit presents a basically familiar Mac document window with a set of icons across the top of the window. There are no hot tips for these icons, but clicking on them presents a drop down menu of options they control. A more or less expected set of menu options appear across the top of the screen. An Applescript icon represents scripts installed with BBEdit. A "#!" menu item, unusual for the Mac but recognizable to Unix scripters, is used to connect to Unix commands. The scrollbar contains a drag bar that allows the window to be split in two, allowing different portions of the document to be viewed in the same window. Extensive assistance is available via the Help menu, including access to the manual, the Macintosh help viewer, specific references for grep and search, checking for updates, and several areas of the Barebones web site. Contextual menus provide convenient access to frequent editing commands (especially when a 3 button mouse can be used rather than the control-click combination). Dynamic menus, based on pressing of the control, option, or shift keys, control changes such as "save" to "save all". A number of palettes provide access to features such as HTML markup commands, scripts, and window selection. A "snappy" palettes feature eases arrangement by causing them to snap to each other or the edge of the screen when dragged. Extensive preference settings are available for user customization. Menu key shortcuts are totally user customizable, allowing individual user's to gain speedy access to the commands they use frequently.

Barebones advertises its software under the registered trademark of "It doesn't suck". The truth is, BBEdit is far more than that. Due to the overwhelming number of features, I find it difficult to describe its capabilities in a succinct review. In an attempt to do so, I will list 25 things I've found myself doing with BBEdit in the hope of providing a feel for its capabilities.

  1. Compose and spell check this review.
  2. View a log file on a remote computer via an ftp connection.
  3. Perform a find and replace across all of the files for a web site I produce to modify an email address in a footer contained on each page.
  4. Develop a perl script. The script is displayed with syntax coloring. The "#!" menu runs the script from within BBEdit. Errors are displayed in an error window. Double clicking on the error goes to the location of the error in the script.
  5. Copy and paste from my mail reader to use the "Change Case" feature to properly capitalize the beginning of every sentence to prepare text for a newsletter.
  6. Remove unwanted line breaks in pasted text that were inserted by the mail sender.
  7. In a context opposite to #6, force hard wrapping at a designated column.
  8. Use the "Rewrap Quoted Text" option to clean up text from emails containing multiple ">" characters and apparently random wrapping due to multiple forwarding, to provide readable text with single ">" characters and consistent wrapping.
  9. Use "Zap Gremlins" to remove all unprintable characters from a file.
  10. Compare two directory trees, identifying difference in directory contents and differences in common files.
  11. Eliminate duplicate lines in a file of email addresses. Regular expressions helped to define the match criteria.
  12. Sort file of email addresses using regular expressions to sort on the email address field.
  13. Copy all the email addresses containing a particular domain name (e.g., to the clipboard.
  14. Perform a hex dump on a file.
  15. Compare two files side by side, with "synchro scrolling" turned on so that they scroll in unison
  16. Define a "file group" to allow opening and editing a related set of files.
  17. Use the regular expression capability to replace all email addresses in a file with the appropriate HTML syntax. For example, this converts to <a href ">"</a>.
  18. Turn on the display of invisible characters to see, for example, line breaks in the file. Similarly, "show spaces" displays a symbol represent the space character. The combinations of these two options allow tab and space characters to be visualized.
  19. Turn on "Balance While typing" so that matching parenthesis and brackets are displayed during program editing.
  20. Display line numbers for a file. Actually insert the line numbers into the file for reviewing. Remove the line numbers from the file when done.
  21. Open a file browser to view local disks.
  22. Open an FTP browser to view a remote system.
  23. Convert text file formats. Options are Unix, Macintosh, and (gasp!) DOS.
  24. Call up BBEdit from the terminal command line to edit a file.
  25. Take advantage of BBEdit's multiple undo capabilities to allow experimenting and recovery from what could otherwise be disastrous editing mistakes.

This list paints a broad brush across what BBEdit can do. In doing so, I did not even touch on one of its major strengths - HTML editing. It has comprehensive HTML editing, checking, and viewing capabilities. I have successfully used it as a standalone HTML editor and as an adjunct to visual HTML editors such as GoLive or Dreamweaver. Finally, BBEdit is scriptable, allowing the user to further extend its power.

BBEdit is the do-it-all mega tool of text editors, and it meets its goal of supporting almost anything that one might wish to do with a text file. It provides tremendous manipulation capabilities to even a casual user. The sophisticated user may use regular expressions to increase its power. For programmers, it provides significant assistance by features such as syntax coloring, formatting assistance, function popups and scripting assistance. For web developers, it is quite possible to maintain a sophisticated web site with BBEdit. Its built-in FTP provides access to remote sites, and many FTP tools provide integrated support for BBEdit. Anyone wishing a tool that goes beyond simple text file viewing and editing as provided by the likes of SimpleText or TextEdit should take a look at BBEdit. There are so many features, in fact, that the causal user may be a bit overwhelmed. If BBEdit's capabilities and price are a bit much, its less expensive (but still powerful) sibling, TextWrangler, should be considered.

BBEdit covers an incredible breadth. Finding fault with BBEdit really involve nitpicking around the edges. Its impossible for a program that does so much to be perfect in everything. However, BareBones keeps trying to get there by posting frequent product updates that contain both bug fixes and enhancements. This is a true powerhouse text editing tool, and I highly recommend it.


  • Full regular expression support
  • Scriptable
  • Powerful HTML editing
  • Support for many programming languages
  • Support for Unix script development
  • Local and remote file browsing and editing
  • Good help and documentation
  • Extensive customization
  • Frequent vendor enhancements


  • Its power may overwhelm the casual user
  • Its ability to format program files is limited to auto indenting

Overall Rating

4 1/2 out of 5 Mice