Koi vs. BBEdit
Performance ⋅ Text processing ⋅ Automation ⋅ Local AI ⋅ Privacy ⋅ Pricing

Koi
Koi is focused on low-latency editing, large files, local AI, and direct Python scripting.
BBEdit
BBEdit is focused on text processing, file manipulation, automation, and deep macOS integration.
| Koi | BBEdit | |
|---|---|---|
| Cross-platform | Mac-only. | Mac-only. |
| Telemetry or tracking | None. | Yes |
| Local AI | Yes | Yes |
| Typing latency | Very fast: 16.6 ms. | Slow: 301.6 ms. |
| Large file editing | Usable through 20M lines. | Degraded at 1M–5M lines, failed 10M. |
| Extensibility | Python scripting. | AppleScript. |
| Open source | Proprietary software. | Proprietary software. |
| One-time purchase | One-time purchase with lifetime updates. | No |
Performance
TL;DR
Koi measured about 18.12x faster than BBEdit in typing latency.
At 5 million lines, Koi used 698 MB of memory and remained responsive. BBEdit used 1.24 GB and did not pass the 10-million-line test.
Koi has substantially lower measured typing latency than BBEdit. On a 753,821-line C file:
| Koi | BBEdit | |
|---|---|---|
| Typing latency, p95 | 16.6 ms | 301.6 ms |
| Dual-pane latency, p95 | 16.4 ms | 304.1 ms |
The difference becomes larger with multi-million-line files.
| Koi | BBEdit | |
|---|---|---|
| 1M lines | 207.6 MB | 1.83 GB |
| 5M lines | 698.3 MB | 1.24 GB |
| 10M lines | 1.10 GB | - |
| 20M lines | 2.32 GB | - |
Koi continued syntax highlighting and editing through the 20-million-line test. BBEdit became heavily degraded at 5 million lines and did not become usable within the benchmark limit at the 10-million-lines test.
See Benchmarks for the test methodology, memory usage, raw measurements, and results from other editors.
Text processing
Koi and BBEdit take different approaches to text manipulation.
BBEdit includes a large set of dedicated text-processing tools, including multi-file search and replace, Text Factories, Pattern Playground, column operations, and built-in HTML tools.
Koi relies more heavily on multi-cursor editing. Matches can be selected individually or all at once and edited directly, without a separate transformation command.
| Koi | BBEdit | |
|---|---|---|
| Multi-cursor editing | Yes | No |
| Select next/all matches | Yes | No |
| Regex search | Yes | Yes |
| Multi-file search | Yes | Yes |
| Multi-file search and replace | No | Yes |
| Text transformation commands | Via scripting | Yes |
| Batch transformations | Via scripting | Yes |
| Built-in HTML tools | Limited | Yes |
For reusable or specialized transformations, Koi uses Python scripts rather than adding dedicated commands to the editor.
BBEdit's Text Factories take the opposite approach. Multiple transformations can be combined and applied across documents, files, and folders without writing a script.
Koi also handles common editing cases directly. For example, HTML auto-complete understands tags rather than treating them as plain text.
Automation
Both editors are highly scriptable.
Koi exposes its editor directly to Python. A command can be added to the user's scripts file:
@command("Word count")
def word_count():
import re
text = selected_text()
count = len(re.findall(r"\b[\w'-]+\b", text))
message(f"Word count: {count:,} words")
Save the script and run it.
This is also how Koi approaches specialized text transformations. Rather than maintaining a large collection of transformation commands, they can be implemented as scripts when needed.
BBEdit is built around macOS and Unix automation. It supports AppleScript, Unix scripts and filters, Shortcuts, Automator, script attachment points, and Text Factories.
Python can be used for BBEdit Unix scripts, but BBEdit does not expose its editor API through Python.
Local AI
Both editors support local AI through Ollama. The main difference is where AI appears in the editing workflow.
| Koi | BBEdit | |
|---|---|---|
| Built-in AI features | Yes | Yes |
| AI completion while typing | Yes | No |
| Inline AI editing | Yes | No |
| Document-based AI | Yes | Yes |
| Cloud AI providers | No | Yes |
Koi uses local models for continuous code completion and inline editing.
Koi can also use any document as an AI conversation.
The document becomes the context and lines prefixed with > are prompts, so conversations can live directly alongside normal text or code.
BBEdit uses dedicated AI Chat Worksheets. Each worksheet maintains its conversation history and can use ChatGPT, Claude, Ollama, or additional compatible services.
Privacy
Koi does not make network requests during normal use. There is no telemetry, no account, no automatic update check, and no background download of language servers or other tooling.
BBEdit's direct-download versions make network requests to check for updates. These requests include a hashed hardware identifier. Licensed installations also include a hash of the license code.
Bare Bones states that these identifiers are not personally identifiable and that information gathered from version checking is used to guide product development.
BBEdit can also connect directly to external AI services. AI worksheet conversations are sent directly to the selected API endpoint and, according to Bare Bones, are not received or retained by Bare Bones Software.
| Koi | BBEdit | |
|---|---|---|
| Account required | No accounts. | No |
| Telemetry | No telemetry. | Unable to verify. |
| Network requests during normal use | None. | Yes |
| Privacy policy document | Koi's Privacy Policy | BBEdit's Privacy Policy |
Pricing
Koi is free for non-commercial use. A personal license is a one-time purchase and includes future updates for the lifetime of the product.
BBEdit has a permanent Free Mode with a reduced feature set. A direct BBEdit license covers the purchased major version. New major versions can require a paid upgrade.
BBEdit is also available through the Mac App Store with a subscription.
| Koi | BBEdit | |
|---|---|---|
| Free editor | Free for non-commercial use. | Free mode with limited features. |
| Lifetime license | Yes | No |
| Subscription option | No | Yes |
| Open source | No | No |
| Pricing page | Koi's Pricing | BBEdit's Online Store |
Benchmarks