CotEditor is a light-weight, neat, yet powerful text editor designed for editing plain-text files such as web pages (HTML, CSS), program source codes (Python, Ruby, Perl, etc.), structured texts (Markdown, Textile, TeX, etc.), or any other kind of plain-text.

Just For Mac

The application is exactly made for macOS. CotEditor looks and behaves just as macOS applications should. It means, you already know how to use it even on the first launch. There are no complex configuration files that require geek knowledge so that you can access all your settings including syntax definitions and themes from a standard preferences window.

Quick, Easy, and Powerful

CotEditor launches so quick that you can write your text immediately when you want to. It's perfect for you to write a draft version of your document or a scratch code. The simply organized user interface doesn't disturb your task. However, at the same time, CotEditor is neither a software only for beginners nor a typical minimal “zen-style” editor. It is fully customizable. There are, of course, syntax highlighting feature for various languages, find and replace with the regular expression, auto-indentation, command-line tool, and lots of other deep functions. You can also easily write your own macro in your favorite languages.

Key Features

• Syntax highlighting including more than 50 preset languages
• Powerful find and replace with the regular expression
• Auto-backup with/without overwriting actual document files
• Line numbers view
• Live character/word/line count
• Handling file encoding and line endings with care
• Auto-generated outline menu for fast navigation
• Multi-cursor editing
• Character inspector that shows the zoomed glyph and Unicode information
• Vertical text layout mode
• Various Unicode normalizations
• Semi-transparent window
• Command-line tool
• Scriptable with your favorite language
• JCK-languages friendly

What’s New

Version 3.9.0

New Features
- Rewrite the invisible character drawing feature to draw alternative symbols more properly under various environments.
- Add an option to draw indent guides.
- Display Unicode's general category in the character inspector.

- Adjust the text baseline to draw characters vertically center in lines.
- Optimize the performance of “Replace All” with a large number of matches.
- Improve the performance when pasting a huge text.
- Remove the text encoding option for opened documents; instead, the encoding is always detected automatically when opening an existing file.
- Update the Unicode block table to the latest Unicode 13.0.0.
- Duplicate lines more intelligently.
- Improve the encodings list edit view.
- Adjust the width of toolbar items.
- Remove “vertical orientation” from the selections of the Writing Direction toolbar button.
- Make borders of line number views and opacity sample tips more distinct in the high-contrast mode.
- Adjust the visible area after unwrapping lines in RTL text mode.
- Remove the default value of the snippet keybindings, that inserts the HTML “br” tag with ⇧↩.

- Fix an issue where the application crashed when a hanging indent depth becomes larger than the editor area.
- Fix an issue where the application hung up by extending the selection with shortcut ⌥⇧→ when the character to select is a national flag emoji.
- Fix an issue where the item “Automatic” (ex. Auto-Detect) was missing in the encoding selections in the open panel.
- Fix an issue with multiple cursors where extra characters were deleted when performing forward delete with selection.
- Fix an issue with multiple cursors where just a single UTF-16 character was deleted instead of the whole character when the character to delete consists of multiple UTF-16 characters.
- Fix an issue where the outline menu could select the wrong item while typing.
- Fix an issue where the line numbers could be shifted when printing vertical text orientation documents.
- Fix an issue where line endings could remain when deleting duplicate lines with multiple selections.
- Fix an issue in the character inspector where the inspector was not shown when the target character is hidden due to scroll.
- Fix an issue in the line number view where the line number of the current line was not bolded under a specific condition.
- Fix an issue in scripting with AppleScript/JXA where the application crashed by performing `string in ...` command.
- Fix an issue in scripting with AppleScript/JXA where the contents of a document can rarely be overwritten with the contents of another document window under very specific conditions.
- Fix an issue with scripting with AppleScript/JXA where the `line range` command selected a wrong range when the line endings of the document are CRLF.
- Fix an issue with scripting with AppleScript/JXA where selecting a single line by specifying a single integer argument to `line range` did not work.
- Fix an issue in the editor where lines were initially wrapped at the wrong position when the text orientation is vertical.
- Fix an issue where the theme color was not applied to the color of typed text in split view.
- Fix an issue in the RTL text mode where the page guide disappeared when lines are unwrapped.
- Fix an issue where the current line highlight did not update properly after changing some settings.
- Fix an issue in the find panel's input fields where a regular expression pattern for Unicode code point was not highlighted properly when the hex contains uppercase letters.
- Fix an issue in the find panel's input fields where invisible control characters were drawn in the normal text color under specific conditions.
- Fix an issue where the print font name in the Print pane was drawn in black even in the dark mode.
- Fix an issue in the editor where the previous drawing could remain in a blank space after changing a display setting of the editor.
- Fix the help button in the advanced find options view.

Ratings and Reviews

gileslewis3 ,

Really fast for editing small files

This is the fastest editor I have seen for working with small text files. I love the clean, simple interface; and especially the speed with which it launches. However, I am giving it 4 stars instead of 5 for two reasons:
(1) I think the "Enable Auto Save with Versions” feature is a bit dangerous. I did a Find to search for text, but instead of hitting “Find All”, I hit “Replace All” by mistake. I could not figure out how to undo my change, so I closed the main window thinking that I had not saved my file. But the file was auto-saved with the unintentional change. I now know that I could have closed the Find window, at which point “Undo Replace All” would have appeared as an option under the Edit menu. However, I think that “Enable Auto Save with Versions” is not a good feature for novices. The default setting should be false.
(2) I would really like to see a “Whole Word” checkbox in Find window.

Developer Response ,

Thank you for the kind review. In response to your second request, I've added "Match only whole Word" option to find panel (in "Advanced find options" via the gear button in the find panel) on CotEditor 3.6.1. Regarding the first comment, we will not change the default setting of Auto Save because it is nowadays the standard behavior of macOS applications. Please just turn it off if you want to avoid.

W. Chang ,

My favorite text editor

This is an app that works. It has nicely organized preferences and menu and things are straight forward. I give it only 4 stars because of a few glitches.

1) It handles small files very fast but cannot deal with large files as efficient. It takes at least twice the time TextMate does to open a file that is larger than 20MB.

2) It hangs frequently when pasting large block of text.

3) Its URL detection is very handy, bu doesn't always work. URLs in pasted text may or may not be recognized. After typing in a URL, hiting ENTER doesn't make it clickable, you have to hit SPACE. Also, when you change the middle of the URL the link is gone and going to the end to press space is the only way to bring it back.

4) Mouse click to follow the link is not the best design. Single click is use to place the cursor. Most other editor uses double click and it makes much more sence.

5) Although there are >50 preset languages. It lacks support for some "unpopular" but common language, like Pascal, batch, registry. It seems that there is no easy way to add your own language.

BTW, as a user that use both Mac and Win, I found the way Mac text editors handle drag and drop of files straight. In Windows a dropped file will be opened, and in Mac its filename will be inserted in the current file. I find the later useless (unless one is working with shell scripts). Is it possible to make the Windows way an option?

kibi! ,

Perfect General-Purpose Text Editor

This app is perfect for when you need something more fully-featured than TextEdit, but don't need a complicated project manager like Atom or similar. The major selling points for me are Unicode support (the ‘Inspect Character’ and ‘Input in Unicode Hex’ commands are extremely helpful, and greatly reduce the need for character escapes in your documents) and the fact that it plays well with proportional fonts (many text editors have bugs when you use a font that isn't monospace—not so with CotEditor!).

If I had to list drawbacks, the syntax highlighting is not as fully-featured as you might find in something like Atom. But I've been using CotEditor for several months and never found it missing a feature that I needed for my work, and it is refreshing the extent to which things that one might need to download a plugin for in Atom or Brackets just come built right in.


16.7 MB

macOS 10.13 or later, 64-bit processor


English, French, German, Italian, Japanese, Portuguese, Simplified Chinese

Age Rating


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.