Note that this is the website for CodeMirror 5. Version 6 is the current version.

CodeMirror is a versatile text editor implemented in JavaScript for the browser. It is specialized for editing code, and comes with a number of language modes and addons that implement more advanced editing functionality.

A rich programming API and a CSS theming system are available for customizing CodeMirror to fit your application, and extending it with new functionality.

## This is CodeMirror

<!-- Create a simple CodeMirror instance --> <link rel="stylesheet" href="lib/codemirror.css"> <script src="lib/codemirror.js"></script> <script> var editor = CodeMirror.fromTextArea(myTextarea, { lineNumbers: true }); </script>
Get the current version: 5.65.20.
You can see the code,
read the release notes,
or study the user manual.

## Features

- Support for over 100 languages out of the box
- A powerful, composable language mode system
- Autocompletion (XML)
- Code folding
- Configurable keybindings
- Vim, Emacs, and Sublime Text bindings
- Search and replace interface
- Bracket and tag matching
- Support for split views
- Linter integration
- Mixing font sizes and styles
- Various themes
- Able to resize to fit content
- Inline and block widgets
- Programmable gutters
- Making ranges of text styled, read-only, or atomic
- Bi-directional text support
- Many other methods and addons...

## Community

CodeMirror is an open-source project shared under an MIT license.

Development and bug tracking happens on github (alternate git repository). Please read these pointers before submitting a bug. Use pull requests to submit patches. All contributions must be released under the same MIT license that CodeMirror uses.

Discussion around the project is done on a discussion forum. Announcements related to the project, such as new versions, are posted in the forum's "announce" category. If needed, you can contact the maintainer directly. We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.

## Browser support

The desktop versions of the following browsers, in standards mode (HTML5 `<!doctype html>` recommended) are supported:

Firefox | version 4 and up
Chrome | any version
Safari | version 5.2 and up
Internet Explorer/Edge | version 8 and up
Opera | version 9 and up

Support for modern mobile browsers is experimental. Recent versions of the iOS browser and Chrome on Android should work pretty well.