Xi Mac

The xi-editor mac frontend.
Alternatives To Xi Mac
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ace25,9321082 days ago1March 26, 2016159otherJavaScript
Ace (Ajax.org Cloud9 Editor)
10 days ago114mitLua
A lightweight text editor written in Lua
React Quill5,6237776298 months ago49August 03, 2022293mitJavaScript
A Quill component for React.
Xi Mac2,992
2 years ago52apache-2.0Swift
The xi-editor mac frontend.
5 days ago8otherHTML
An extensible Markdown Editor, Viewer and Weblog Publisher for Windows
5 years ago224gpl-3.0JavaScript
Haroopad - The Next Document processor based on Markdown
a month ago2mitLua
Soho vibes for Neovim
a month ago24mitC#
Blogifier is an open-source publishing platform Written in ASP.NET and Blazor WebAssembly. With Blogifier make a personal blog or a website.
React Codemirror1,1121015714 hours ago184September 01, 2023108mitTypeScript
CodeMirror 6 component for React. @codemirror https://uiwjs.github.io/react-codemirror/
Crayon Syntax Highlighter1,091
8 months ago214gpl-3.0PHP
Syntax Highlighter supporting multiple languages, themes, fonts, highlighting from a URL, local file or post text.
Alternatives To Xi Mac
Select To Compare

Alternative Project Comparisons

Build Status codecov

Xi Editor
Xi Editor

(pronounced "Zigh")

A modern editor with a backend written in Rust.

Note: This project is still in an early state. Prebuilt binaries will be made available once we start creating versioned releases.

The xi-editor project is an attempt to build a high quality text editor, using modern software engineering techniques. This reference frontend is built for macOS, using Cocoa for the user interface, but there are work in progress frontends for other platforms as well. Consult the list in the xi-editor core README for details.

Goals include:

  • Incredibly high performance. All editing operations should commit and paint in under 16ms. The editor should never make you wait for anything.

  • Beauty. The editor should fit well on a modern desktop, and not look like a throwback from the 80s or 90s. Text drawing should be done with the best technology available (Core Text on Mac, DirectWrite on Windows, etc.), and support Unicode fully.

  • Reliability. Crashing, hanging, or losing work should never happen.

  • Developer friendliness. It should be easy to customize xi editor, whether by adding plug-ins or hacking on the core.

Screenshot (will need to be updated as syntax coloring and UI polish is added):

xi screenshot

Getting started


  • Xcode 10.2
  • Rust. We test against the latest stable version, and recommend installing through rustup.


Note: the front-end and back-end are split into two separate repositories. This is the front-end, and the back-end (or core) is now in xi-editor. It is contained in a submodule that is checked out during the clone command.

Clone the repository:

> git clone --recurse-submodules https://github.com/xi-editor/xi-mac
> cd xi-mac

Build and Open:

> xcodebuild
> open build/Release/XiEditor.app


> open XiEditor.xcodeproj

and then hitting the Run button.

Move to Applications Folder:

> cp -r Build/Release/XiEditor.app /Applications


The most common cause of a failed build is an outdated version of rustc. If you've installed with rustup, make sure Rust is up to date by running rustup update stable.


User settings are currently stored in files; the general preferences are located at ~/Library/Application Support/XiEditor/preferences.xiconfig. This file can be opened from File > Preferences ( + ,).

The default font for XiEditor is Inconsolata, which is bundled with the app.


A few theme files are bundled with the application. A theme can be selected from the Debug > Theme menu. There is not yet a mechanism for including custom themes.


XiEditor includes a CLI for opening files directly from the command line.


Through XiEditor:

  1. Install XiEditor
  2. Open XiEditor
  3. XiEditor > Install Command Line Tool


USAGE: xi [<files> ...] [--wait]

  <files>                 Relative or absolute path to the file(s) to open. If none, opens empty editor.

  --wait                  Wait for the editor to close before finishing process.
  -h, --help              Show help information.

Git Editor

Add the following to your .gitconfig to use XiEditor as your git editor:

  editor = xi --wait


The xi-editor project was started by Raph Levien but has since received contributions from a number of other people. See the AUTHORS file for details.


This project is licensed under the Apache 2 license. The bundled fonts are under a different license, the Open Font License. See the fonts directory for the fonts and associated license.


We gladly accept contributions via GitHub pull requests. Please see CONTRIBUTING.md for more details.

If you are interested in contributing but not sure where to start, there is an active Zulip channel at #xi-editor on https://xi.zulipchat.com. There is also a #xi channel on irc.mozilla.org. Finally, there is a subreddit at /r/xi_editor.

Popular Theme Projects
Popular Editor Projects
Popular User Interface Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.