It enables applications to provide fully featured terminals to their users and create great development experiences.
- Text-based application support: Use xterm.js to work with applications like
- Curses-based application support: Use xterm.js to work with applications like
- Mouse events support: Xterm.js captures mouse events like click and scroll and passes them to the terminal’s back-end controlling process
- CJK (Chinese, Japanese, Korean) character support: Xterm.js renders CJK characters seamlessly
- IME support: Insert international (including CJK) characters using IME input with your keyboard
- Self-contained library: Xterm.js works on its own. It does not require any external libraries like jQuery or React to work
- Modular, event-based API: Lets you build addons and themes with ease
First you need to install the module, we ship exclusively through npm so you need that installed and then add xterm.js as a dependency by running:
To start using xterm.js on your browser, add the
xterm.css to the head of your html page. Then create a
<div id="terminal"></div> onto which xterm can attach itself.
<link rel="stylesheet" href="node_modules/xterm/dist/xterm.css" />
var term = new Terminal();
term.write('Hello from \x1B[1;3;31mxterm.js\x1B[0m $ ')
Finally instantiate the
Terminal object and then call the
open function with the DOM object of the
Xterm.js is used in several world-class applications to provide great terminal experiences.
- SourceLair: In-browser IDE that provides its users with fully-featured Linux terminals based on xterm.js
- Microsoft Visual Studio Code: Modern, versatile and powerful open source code editor that provides an integrated terminal based on xterm.js
- ttyd: A command-line tool for sharing terminal over the web, with fully-featured terminal emulation based on xterm.js
- Katacoda: Katacoda is an Interactive Learning Platform for software developers, covering the latest Cloud Native technologies.
- Eclipse Che: Developer workspace server, cloud IDE, and Eclipse next-generation IDE.
- Codenvy: Cloud workspaces for development teams.
- CoderPad: Online interviewing platform for programmers. Run code in many programming languages, with results displayed by
- WebSSH2: A web based SSH2 client using
xterm.js, socket.io, and ssh2.
- Spyder Terminal: A full fledged system terminal embedded on Spyder IDE.
- Cloud Commander: Orthodox web file manager with console and editor.
- Codevolve: Online platform for interactive coding and web development courses. Live container-backed terminal uses
- RStudio: RStudio is an integrated development environment (IDE) for R.
- Terminal for Atom: A simple terminal for the Atom text editor.
- Eclipse Orion: A modern, open source software development environment that runs in the cloud. Code, deploy and run in the cloud.
- Gravitational Teleport: Gravitational Teleport is a modern SSH server for remotely accessing clusters of Linux servers via SSH or HTTPS.
- Selenoid UI: Simple UI for the scallable golang implementation of Selenium Hub named Selenoid. We use XTerm for streaming logs over websockets from docker containers.
- Portainer: Simple management UI for Docker.
- SSHy: HTML5 Based SSHv2 Web Client with E2E encryption utilising
xterm.js, SJCL & websockets.
- JupyterLab: An extensible
computational environment for Jupyter, supporting interactive data science and scientific computing across all programming languages.
- Theia: Theia is a cloud & desktop IDE framework implemented in TypeScript.
- Opshell Ops Helper tool to make life easier working with AWS instances across multiple organizations.
- Proxmox VE: Proxmox VE is a complete open-source platform for enterprise virtualization. It uses xterm.js for container terminals and the host shell.
- Script Runner: Run scripts (or a shell) in Atom.
- Whack Whack Terminal: Terminal emulator for Visual Studio 2017.
- VTerm: Extensible terminal emulator based on Electron and React.
- electerm: electerm is a terminal/ssh/sftp client(mac, win, linux) based on electron/node-pty/xterm.
- Kubebox: Terminal console for Kubernetes clusters.
- Azure Cloud Shell: Azure Cloud Shell is a Microsoft-managed admin machine built on Azure, for Azure.
- atom-xterm: Atom plugin for providing terminals inside your Atom workspace.
- rtty: A reverse proxy WebTTY. It is composed of the client and the server.
- Pisth: An SFTP and SSH client for iOS
- abstruse: Abstruse CI is a continuous integration platform based on Node.JS and Docker.
- Microsoft SQL Operations Studio: A data management tool that enables working with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux
- FreeMAN: A free, cross-platform file manager for power users
- Fluent Terminal: A terminal emulator based on UWP and web technologies.
- Hyper: A terminal built on web technologies
- Diag: A better way to troubleshoot problems faster. Capture, share and reapply troubleshooting knowledge so you can focus on solving problems that matter.
- GoTTY: A simple command line tool that shares your terminal as a web application based on xterm.js.