The native Mac code editor that's fast and amazing.

Download Nova 11.9
Screenshot showing features in Nova.

The Editor.

It all starts with our first-class text-editor.

It's new, hyper-fast, and flexible, with all the features you want: smart autocomplete, multiple cursors, a Minimap, editor overscroll, tag pairs and brackets, and way, way more.

Local website project open for editing in Nova with multiple active cursors, autocomplete, and three active sidebars.
Autocomplete with Fuzzy Matching
Multiple Cursors
Git Status

For the curious, Nova has built-in support for CSS, Diff, EJS, ERB, HTML, INI, JavaScript, JSON, JSX, Less, Lua, Markdown, Perl, PHP, Python, Regex, Ruby, Sass, SCSS, Shell Script, SQL, Tree-sitter Query, TSX, TypeScript, XML, and YAML.

It's also very expandable, with a robust API and a built-in extension browser.

(Here's a little editor story for fun. During beta we found some bugs in Apple's text layout engine that we just could not fix. Our solution? Writing our own text layout manager… from scratch. Not only did this fix the bugs, but it also boosted our editor's performance. We're not messing around!)

But even the best text engine in the world means nothing unless you actually enjoy spending your time in the app. So, how does Nova look?

The Workflows.

Nova doesn't just help you code. It helps your code run.

You can easily create build and run tasks for your projects. We didn't have them in Coda, but boy do we have them now. They're custom scripts that can be triggered at any time by toolbar buttons or keyboard shortcuts.

Imagine building content, and with the single click of a button watching as Nova fires up your local server, grabs the appropriate URL, and opens a browser for you, instantly. Just think of the time you'll save.

Nova supports separate Build, Run, and Clean tasks. It can open a report when run. And the scripts can be written in a variety of languages.


Sometimes you need to get into the details.

Nova has built-in debugging support for PHP, Python, Chrome, Node.js, Deno, and our very own Playdate Simulator. It features a new Debug sidebar, a Debugger in the console, breakpoints, and more. It's really great.

Need support for a different language? Check our extensions library, or create your own using Nova's extensions API.

Screenshot displaying Nova's debugging features.

The Tools.

Now, this is important. Editing text is just part of what Nova does.

We've bundled in extremely useful tools to help you get your work done quickly and efficiently. They're all fast and native too, of course.

The New Tab button gives quick access to new Document, File Browser, Local and Remote Terminal tabs

The New Tab button doesn't just open a fresh document. although it does that, too.

Click it to quickly access a feature-packed Transmit file browser, or a super-convenient Prompt terminal, all right inside Nova.

Meanwhile, Nova's sidebar is packed with power. A local file browser. A remote file browser. Find across your project's files. A symbol navigator. Text clips. Git. Task reports. Issues. And file tracking and publishing.

The sidebar can also be split to show multiple tools at once, on the left and/or right side of your editor. And you can drag your favorite tools into the sidebar dock at the top for one-click access.

Git status is integrated across Nova: in the Files sidebar, the editor, and a dedicated Git sidebar

Nova also has Git source control tools built-in. Clone. Click-to-clone. Initialize a repo. Fetch and pull. Stage and unstage. Commit. Push. You know the drill.

Git status is available both in the editor and the sidebar. And a useful "Show Last Change for Line" pop-up explains commits.

Image showing the comparison view for file diffing in Nova.

Slide open the comparison view to diff a file against a Git commit or another file, or even diff two specific commits, and quickly see what's changed.

The Extensions.

Nova has a robust extensions API.

A Nova extension can do lots of things, like add support for new languages, extend the sidebar, draw beautiful new themes and syntax colors, validate different code, and much more.

Even better, extensions are written in JavaScript, so anyone can write them. And Nova includes built-in extension templates for fast development.

Check out some of this week’s popular extensions…

Browse Extensions

The Settings.

People have strong editor opinions.

And we're here to help. Nova has a whole host of settings. We have easily customizable key bindings. We have custom, quickly-switchable workspace layouts. And we have loads of editor tweaks, from matching brackets to overscroll.

(And if there's something you need to work that Nova doesn't have, just let us know! Nova is always changing, always growing.)

The grid of preference panes. The General preferences pane The Git Accounts preferences pane The Behaviors preferences pane The Theme preferences pane The Key preferences pane The Tools preferences pane The Workspace preferences pane The Files preferences pane The Editor preferences pane The Git preferences pane The Terminal preferences pane The Sync preferences pane The Servers preferences pane The Keys preferences pane The Transfers preferences pane
Click around to see Nova's preferences!

And So Much More.