# Koi vs. Nova

<div class="row justify-content-center">
<div class="col-12 px-5">
<div class="row justify-content-center">

<div class="col-12 col-lg-6 my-5">
    <p class="feature-header">
        Koi
    </p>
    <p>
        Koi is focused on low-latency editing, large files, local AI, and direct Python scripting.
    </p>
    <p class="m-0">
        <a href="https://github.com/hackermanai/koi/releases/latest" class="link">Download for Mac →</a>
    </p>
</div>

<div class="col-12 col-lg-6 my-5">
    <p class="feature-header">
        Nova
    </p>
    <p class="m-0">
        Nova is focused on project-based development, extensions, language servers, build tasks, debugging, and integrated development tooling.
    </p>
</div>

</div>
</div>
</div>

|                       | <span class="accent">Koi</span>           | Nova                                  |
|:----------------------|:------------------------------------------|:--------------------------------------|
| Cross-platform        | Mac-only.                                 | Mac-only.                             |
| Telemetry or tracking | **None.**                                 | Yes                                   |
| Local AI              | Yes                                       | No                                    |
| [Typing latency](/benchmarks/#typing-test-gccc) | **Very fast: 16.6 ms.** | *Unable to complete test.*    |
| Large file editing    | **Usable through 20M lines.**             | *Unable to complete test.*            |
| Extensibility         | Python scripting.                         | Extension Library.                    |
| Open source           | Proprietary software.                     | Proprietary software.                 |
| One-time purchase     | One-time purchase with lifetime updates.  | No                                    |

## Performance

> **TL;DR**
> <br><br>
> [Koi](https://koieditor.com/) measured about **16.6 ms** typing latency on the 753,821-line C file.
> <br><br>
> Nova was unable to open the larger typing latency test file, but measured 23.5 ms on the smaller file.

Koi has substantially lower measured typing latency than Nova.
On a [753,821-line C file](https://github.com/hackermanai/keypress/blob/main/test_files/gcc.c):

|                           | <span class="accent">Koi</span> | Nova |
|:--------------------------|:--------------|:----------|
| Typing latency, p95       | **16.6 ms**   | *-*       |
| Dual-pane latency, p95    | **16.4 ms**   | *-*       |

Nova did not open and finish parsing the [753,821-line C file](https://github.com/hackermanai/keypress/blob/main/test_files/gcc.c) within the 30-second benchmark limit.
On a smaller [151,639-line C file](https://github.com/hackermanai/keypress/blob/main/test_files/sqlite3.c):

|                 | <span class="accent">Koi</span> | Nova |
|:--------------------------|:----------|:----------|
| Typing latency, p95       | 17.9 ms   | 23.5 ms   |
| Dual-pane latency, p95    | 17.7 ms   | 24.2 ms   |

These measurements were run separately from the main [Benchmarks](/benchmarks/) using Koi 0.1.0-b210 and Nova 14.1.

## Privacy

Neither editor requires an account for normal editing.

Koi does not make network requests during normal use.
There is no telemetry, automatic update check, or background download of language servers or other tooling.

Nova can send anonymous usage statistics to Panic.
It also supports automatic updates, background downloads, extension updates, and managed language servers.

These features can be disabled or configured individually.

|                     | <span class="accent">Koi</span> | Nova  |
|:--------------------------|:--------------------------|:------|
| Account required          | No accounts.              | No    |
| Telemetry                 | No telemetry.             | Yes   |
| Automatic updates         | None.                     | Yes   |
| Background downloads      | No background downloads.  | Yes   |
| Managed language servers  | No                        | Yes   |
| Privacy policy document   | [Koi's Privacy Policy](/privacy-policy/) | [Panic's Privacy Policy](https://panic.com/privacy/) |

## Language support

Both editors include broad language support out of the box.

Koi currently ships with 30+ built-in lexers.
They are handwritten, maintained as part of Koi, and included with the application.

Nova includes built-in syntax support for C, C++, C#, Python, PHP, JavaScript, TypeScript, Ruby, Lua, HTML, CSS, SQL, and other common languages.
Additional languages can be added through Nova extensions.

|                               | <span class="accent">Koi</span> | Nova |
|:------------------------------|:----------------------|:----------|
| Built-in languages            | 30+                   | 20+       |
| Built-in syntax system        | Handwritten lexers    | Parsers   |
| Community language extensions | No                    | Yes       |
| LSP client                    | No                    | Yes       |

Nova can also install and manage language servers.
These can provide completions, diagnostics, formatting, code actions, documentation, and navigation.

Koi does not use language servers.
It provides lightweight completion from the current document and optional local AI completion instead.

See [Lexer design in Koi](/blog/lexer-design-in-koi/) for why Koi uses handwritten lexers.

## Extensibility

Koi exposes its editor directly to Python.
A custom command can be as simple as:
    
<pre class="editor-mockup language-python"><code>
@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")
</code></pre>

Save the script and run it.
There is no extension package or compilation step.

Nova has a dedicated extension API and Extension Library.
Extensions can add commands, syntax definitions, language servers, completion providers, sidebars, tasks, themes, validators, and integrations with external tools.

Koi uses scripting for small changes to the editor itself.

Nova uses extensions and language servers for a broader range of development tooling.

## Local AI

Koi includes local AI as part of the editor.

Code completion can run continuously against a small Ollama model, with no account or API key.
Inline editing and document-based AI use the same local model infrastructure.

Nova does not currently include equivalent built-in AI features.
AI functionality can be added through extensions or external development tools, but it is not part of Nova's core editor.

## Pricing

Both editors use one-time purchases rather than requiring a subscription.

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.

Nova can be evaluated free for 30 days.
A license is a one-time purchase and includes one year of major updates.
After that year, the installed version continues working indefinitely.
Receiving newer major versions requires renewing the license.

|                           | <span class="accent">Koi</span> | Nova    |
|:--------------------------|:----------------------|:------------------|
| Free editor               | Free for non-commercial use. | 30-day trial |
| Lifetime license          | Yes                   | No                |
| Subscription required     | No                    | No                |
| Paid updates              | No                    | Yes               |
| Open source               | No                    | No                |
| Pricing page              | [Koi's Pricing](/#pricing) | [Nova's Store](https://nova.app/buy/) |




