Want to be on the bleeding edge? The Beta channel contains new features and bug fixes before they land on the stable channel. It is intended for developers and early adopters. Keep your current Atom configuration when using Atom Beta. New Beta releases are available regularly and installed automatically.
At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it.
Note: You can download the latest stable version of Atom here.
Taking the web native
Atom is a desktop application based on web technologies. Like other desktop apps, it has its own icon in the dock, native menus and dialogs, and full access to the file system.
Node.js support makes it trivial to access the file system, spawn subprocesses, and even start servers directly from within your editor. Need a library? Choose from over 50 thousand in Node's package repository. Need to call into C or C++? That's possible, too.
Atom is composed of over 50 open-source packages that integrate around a minimal core. Our goal is a deeply extensible system that blurs the distinction between "user" and "developer".
Don't like some part of Atom? Replace it with your own package, then upload it to the central repository on atom.io so everyone else can use it too.
Full-featured, right out of the box
No one wants to waste time configuring their editor before they can start using it. Atom comes loaded with the features you've come to expect from a modern text editor. Here are a few of them:
- File system browser
- Fuzzy finder for quickly opening files
- Fast project-wide search and replace
- Multiple cursors and selections
- Multiple panes
- Code folding
- A clean preferences UI
- Import TextMate grammars and themes
- #19770 - Add appropriate punctuation scopes to various characters in HTML.
- #19795 - Add support for Ruby syntax highlighting of symbols inside literal symbol arrays (e.g %i() and %I() when using Tree-sitter parsers).
- #19840 - Add support for Ruby syntax highlighting of alias, alias_method, block_given?, defined?, iterator?, super, and undef when using Tree-sitter parsers.
- #19908 - Add support for jl as a language identifier for the Julia language when using fenced code blocks in Markdown files.