Bluefish is a powerful editor for experienced web designers and programmers based on the GTK2 GUI interface. Bluefish supports many programming and markup languages, but focuses on editing dynamic and interactive websites.
Bluefish is not a WYSIWYG text editor. This is deliberate, allowing the programmer to stay in full control. To facilitate the editing process, a large number of features are at your disposal. For inserting markup and code, there are tool bars, dialogs, and predefined/user-customized menus. Syntax highlighting, advanced search/replace functionality, scalability and language function references make Bluefish a powerful tool for development.
Bluefish development started under a different name. A good and free text editor targeted towards web development was not available. Olivier Sessink started the project ProSite. Chris Mazuc also started an HTML editor. On a GTK development mailing list, Olivier Sessink and Chris Mazuc saw each others postings, and decided to team up. Olivier had a basic editor, Chris had many HTML dialogs ready. After merging the code this was for a while known as the Thtml editor.
After a while Neil Millar joined the project to add weblint integration and a color dialog. Because the project became larger and more mature, a logo was wanted. After many discussions about boring logos, Neil Millar came up with a cute blue fish. Because this logo was appreciated by all, the name changed into the final name Bluefish.
After this initial stage, many developers, translators, testers and users joined the project.
Several years have passed since the first Bluefish release. Since that time, the fish has gained a reputation as an excellent editor, with qualities like stability, usability and numerous features. Also, Bluefish is small, fast and efficient, making it usable even on slow machines.
This list will give you an overview of the most important or outstanding features found in Bluefish:
A What You Write Is What You Get interface
Multiple document interface, will easily open 500+ documents (tested 3500 with documents simultaneously).
Customizable syntax highlighting based on Perl compatible regular expressions, with subpattern support. Default patterns are included for:
Anti-aliased text window
Multiple encodings support, can convert between different character sets, supports multibyte characters, Unicode, UTF8, etc.
Nice wizards for startup, tables, frames, and others
Dialogs for many HTML tags, with all their attributes
HTML tool bar and tear-off menus
User-customizable tool bar for quick access to often used functions
Open files based on filename patterns and/or content, from selection or URIs
Fully featured image insert dialog
Thumbnail creation and automatically linking of the thumbnail with the original image
Multi-thumbnail generation for easy creation of photo albums or screen shot pages
Line numbers along the document
Bookmarks for lines across multiple documents, with bookmark browser
A custom menu, specify your own tags or sets of code, and define your own dialogs
Custom search and replace pattern support for the Custom menu
Very powerful search and replace, allowing POSIX and Perl Compatible regular expressions and sub-pattern replacing
Excellent undo/redo functionality
Configurable recent documents and recent directories functionality
Translations in twenty languages
User customizable integration with many programs, including weblint, tidy, make, javac, etc.
XML based function reference. Currently, references are included for Apache, DHTML, DocBook, HTML, PHP, and SQL. A GTK reference is available, and support for Perl and Python will be added. You may also create your own function reference. The XML format is described later in the manual.
XML based reference library for CSS2, HTML, PHP, and Python.
As Bluefish is a part of a larger desktop environment, we have focused on making the GUI consistent with the Gnome HIG. However, we prefer not following it in every detail, as some parts are intended for the end user, while Bluefish is for the programmer.
Quite stable! The Bluefish developers aim to produce code that neither crashes nor leaks memory. Of course, that is not always easy to do. Leaks and crashes are often fixed in CVS as soon as they are discovered and hunted down. In addition to Bluefish's large user base, the developers use Bluefish for their daily work. So, fixing bugs and preventing crashes is always a major priority. However, some nags still exist. One example being the issue of slightly sluggish copy/paste functions.
For an updated list of open bugs, please go to the http://bugzilla.gnome.org/browse.cgi?product=bluefish page on bugzilla gnome.
We appreciate any and all contributions! Please tell us if Bluefish crashes on you :-).
We, the Bluefish development team, welcome all comments, user requests, constructive criticisms, and contributions. Are you curious or seeking information regarding Bluefish? Would you like to contribute by translating Bluefish or its manual? Here are your options:
http://bluefish.openoffice.nl/ - The main website where you will find news, updates, manual and more information.
http://bfwiki.tellefsen.net/ - The Bluefish WiKi is the notebook for the developers, containing a lot of information. This includes, but is not limited to: updated project road maps, status of translations.
For bug reports and features requests, related to bluefish, its web site, and its manual, please fill the appropriate bug type at http://bugzilla.gnome.org/browse.cgi?product=bluefish, the bluefish bugzilla page on bugzilla gnome - for instructions, see Section 2, “Filling a bug report”.
You can subscribe to the users' Bluefish mailing list by sending an email containing “subscribe bluefish-users” to
You can subscribe to the developers' Bluefish mailing list by sending an email containing “subscribe bluefish-dev” to
Do you want to help translate Bluefish? Please let us know by dropping an email to Walter Echarri
<wecharri(at)arnet.com.ar>, our friendly translation maintainer.
If you want to help improve the manual or write new sections, please send an email to the Bluefish manual maintainer, Michèle Garoche
<michele.garoche(at)easyconnect.fr>. Guidelines for this manual can be found in Appendix C, Guidelines for Writing this Manual
If you have a general question, drop an email to