BBEdit - A powerful text and code editor for Mac computers

A clean, powerful web authoring workflow for Mac computers. BBEdit can open and save files directly to your server — securely, encrypted in transit via SSH key, no password required.

BBEdit has been around since the 1990s. Don't let that put you off. For web developers in particular it offers a powerful, focused authoring workflow that has only improved with age. BBEdit is unapologetically aimed at professional HTML and text editing, serving writers and software developers alike. It is fast, uncluttered, and deeply capable. Expected features like syntax highlighting across multiple languages are present as standard, alongside Git integration, SFTP open and save, scripting, markup tools, and AI assistance. BBEdit fully supports Apple silicon Macs and, with version 16, now requires macOS 14 Sonoma or later. I set up an SSH connection to my server using a config file, and BBEdit opens and saves files to that server securely, encrypted in transit via SSH key — no password prompt, no friction.

TL;DR — BBEdit is a mature, proprietary text and code editor for macOS. Version 16 is downloadable from the App Store or directly from Bare Bones Software. It builds on the strong foundations of version 15 — Minimap palette, Cheat Sheets, ChatGPT integration — and adds expanded macOS Shortcuts support and built-in W3C HTML5 syntax checking via the W3C HTML checker service. I came back to BBEdit after years away, largely because of its excellent Apple silicon support, and I have not looked back. It is genuinely good.

Download BBEdit

BBEdit on the App Store   Bare Bones Software Store

BBEdit 16 Features

Freemium model

BBEdit is a mature proprietary product with a generous evaluation model. Its full feature set is available free for the first 30 days of use — this applies to new users and existing users evaluating version 16 alike. After the 30-day period, BBEdit continues to run in Free Mode, which includes its powerful core editing capabilities but not its web authoring tools or other exclusive features. Those exclusive features can be re-enabled at any time with a purchased licence. Existing customers of BBEdit 15 or older can upgrade at a discount, and some customers are eligible for a free upgrade depending on their original purchase date. BBEdit's comprehensive help manual is thorough and well written — it answered every question I had.

Main window and Minimap palette

BBEdit's interface is uncluttered and distraction-free. A little time spent in preferences setting up syntax colours pays dividends immediately — the editor becomes fast and comfortable to work in. The Minimap palette gives a bird's-eye view of your document, making navigation in longer files effortless. Once configured, BBEdit gets out of your way and lets you work. It is exactly as described: a professional text and code editor for macOS, and considerably more refined than any earlier version I used.

BBEdit - Main Editor window
BBEdit — Main Editor window
BBEdit - Minimap palette
BBEdit — Minimap palette

File management

BBEdit handles file management with the same quiet competence it brings to everything else. Open a folder and you have a project. You can view directory listings and edit files on any mounted file system — local or remote — as well as Zip archives. BBEdit opens, edits, and saves files on remote servers via SFTP; handles gzip (.gz) and bzip2 (.bz2) files; lets you open a single document in multiple windows with changes reflected instantly across all of them; supports multiple documents per window; provides unlimited Undo/Redo; and handles DOS, Unix, Mac, and Unicode line endings and encodings without complaint.

Cheat Sheets

Cheat Sheets provide quick-access references for frequently used text or syntax elements. You can create your own, which makes them genuinely useful rather than just decorative. It is one of those features that sounds minor until you are actually using it daily.

BBEdit - Markdown Cheat Sheet
BBEdit — Markdown Cheat Sheet
BBEdit - clippings placeholders Cheat Sheet
BBEdit — Clippings placeholders Cheat Sheet

W3C HTML5 syntax checking

BBEdit 16 introduces support for the W3C HTML checker service, which is enabled by default. This means you get genuine HTML5 syntax validation — not a best-guess approximation — without leaving the editor or opening a browser tab. For anyone writing or maintaining HTML by hand, this is a significant quality-of-life improvement. Errors and warnings surface inline, making it easy to catch issues before they reach a live server. It is the kind of feature that quietly raises the floor of your output.

macOS Shortcuts integration

BBEdit 16 expands its macOS Shortcuts support with a broader set of actions, making it straightforward to build automation workflows that incorporate BBEdit alongside other apps. If you already use Shortcuts for repetitive tasks on your Mac, BBEdit now slots into those workflows more naturally than before. Combined with BBEdit's existing AppleScript and shell script support, the automation possibilities are substantial.

BBEdit AI with ChatGPT and beyond

BBEdit integrates AI assistance directly into the editor, so you can have conversations and get suggestions without switching to a browser or pasting between applications. You will need an API key from OpenAI to use the ChatGPT integration. The settings panel is straightforward once you have that key in hand, and the transparency controls — which let you see and adjust the instructions being sent — are a welcome touch. As AI models continue to evolve rapidly, having this integration baked into the editor rather than bolted on as an afterthought is the right approach.

BBEdit - AI Chat Worksheet Settings
BBEdit — AI Chat Worksheet Settings
BBEdit - AI Chat Instructions and Transparency
BBEdit — AI Chat Instructions and Transparency

Preview

BBEdit serves web developers well here too. There is extensive built-in preview, including support for the WebKit Inspector for runtime inspection of pages. You can also open any or all of your installed browsers directly from BBEdit to test your work in a single action. It is a genuine timesaver, particularly when you are checking responsive layouts across multiple browsers.

BBEdit - Preview
BBEdit — Preview
BBEdit - Preview in all running browsers
BBEdit — Preview in all running browsers

Web development

The web development features in BBEdit are numerous enough that listing them exhaustively would be its own article. As you build experience with the tool, they become second nature. Dragging a file into a document to create a link, closing the current tag with a keystroke, syntax colouring, document navigation, and syntax checking all contribute to a workflow that is faster and less error-prone than working without them. With W3C HTML5 checking now built in as of version 16, the web development story is stronger than ever. This is still only scratching the surface.

Source code version control

BBEdit integrates Git and Subversion access directly. Git can be complex to manage from the command line, but having the ability to add, edit, sync, commit, resolve conflicts, and compare revisions inside the editor removes a lot of that friction. In practice it is transparent — the version control is there when you need it and out of the way when you do not.

BBEdit - Git Commit
BBEdit — Git Commit
BBEdit - Git Status
BBEdit — Git Status

BBEdit is a Universal application

BBEdit is a Universal binary, meaning it runs natively on both Apple silicon and Intel Macs. All currently shipping Mac computers use Apple silicon, and BBEdit performs accordingly — fast, responsive, and with no translation overhead. Version 16 requires macOS 14 Sonoma or later, so if you are running a current Mac you are covered.

Get Info for BBEdit showing it is a Universal app containing an Apple silicon binary
Get Info for BBEdit confirming it is a Universal app with a native Apple silicon binary.
BBEdit About dialog box screenshot
The BBEdit About dialog. Scroll through the credits and you may find yourself listed — a long-standing Easter egg.
BBEdit Preferences screenshot
BBEdit Preferences showing the extensive text colour customisation options. There are many other settings beyond what is shown here.

Advanced web authoring over SFTP

One of BBEdit's most practically useful features is its SFTP-based web authoring. I need to edit and save pages on a remote server at a web hosting provider, and BBEdit handles this natively. Choose Open from… / Save to… and check the SFTP box. A file opened via SFTP appears in the Open Recent submenu with an sftp: URL, and a folder location can be bookmarked for easy repeat access. You can make this even better — and more secure — by removing passwords from the equation entirely using SSH key authentication.

You will need a key

Open a terminal and set up SSH preferences for your Mac so that you can authorise your Mac to access your web host. If you have already configured SSH keys, skip ahead to copying the key to your server.

% cd ~/
% mkdir .ssh
% chmod go-rwx .ssh
% cd .ssh
% ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

Generating public/private rsa key pair.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The key's randomart image is:
+---[RSA 1024]----+
|     Omitted     |
+----[SHA256]-----+
%

Copy the public key to your server and authorise it

You will need to copy the key to your server and authorise it. In cPanel, this is under SSH Access → Import Key. The key you want is the public key, typically named id_rsa.pub.

cPanel showing where to paste the public key from your Mac
cPanel showing where to paste the public key from your Mac. You only need the public key. Give it a memorable name if you manage more than one server.

Use cPanel to authorise the key once it has been imported, and that part is done.

Tell BBEdit how to use your key with an SSH client config file

One more step at the command line. Create a user-specific SSH config file containing the details BBEdit needs to connect to your server. This config applies only to your user account, not the whole system. If the file already exists, append your new server entry rather than overwriting it. SSH config files have been part of the SSH standard for decades and are often overlooked, but they make a real difference to day-to-day usability.

% cd ~/.ssh
% cat config
Host nickname
     HostName name.of.your.site.com
     User username
     IdentityFile ~/.ssh/id_rsa