xterm.js - A terminal for the web

  •        79

Xterm.js is a terminal front-end component written in JavaScript that works in the browser. It enables applications to provide fully featured terminals to their users and create great development experiences.




Related Projects

aminal - A modern cross-platform terminal emulator in Go

  •    Go

Aminal is a modern terminal emulator for Mac/Linux/Windows implemented in Golang and utilising OpenGL. The project is experimental at the moment, so you probably won't want to rely on Aminal as your main terminal for a while.

Chalk - Terminal string styling done right

  •    Javascript

Chalk comes with an easy to use composable API where you just chain and nest the styles you want. Chain styles and call the last one as a method with a string argument. Order doesn't matter, and later styles take precedent in case of a conflict. This simply means that chalk.red.yellow.green is equivalent to chalk.green.

term.js - A terminal written in javascript.

  •    Javascript

A full xterm clone written in javascript. Used by tty.js.⚠️ This project is no longer maintained ⚠️. For a maintained fork take a look at sourcelair/xterm.js.

hterm - "HTML Terminal", or hterm, is an xterm-compatible terminal emulator written entirely in JavaScript


"HTML Terminal", or hterm, is an xterm-compatible terminal emulator written entirely in JavaScript. It is intended to be fast enough and correct enough to compete with native terminals such as xterm, gnome-terminal, konsole and Terminal.app.

tty.js - A terminal for your browser, using node/express/socket.io

  •    Javascript

A terminal in your browser using node.js and socket.io. Based on Fabrice Bellard's vt100 for jslinux.For the standalone web terminal, see term.js.

tilda - A Gtk based drop down terminal for Linux and Unix

  •    C

Tilda is a terminal emulator and can be compared with other popular terminal emulators such as gnome-terminal (Gnome), Konsole (KDE), xterm and many others. The specialities of Tilda are that it does not behave like a normal window but instead it can be pulled up and down from the top of the screen with a special hotkey. Additionally Tilda is highly configurable. It is possible to configure the hotkeys for keybindings, change the appearance and many options that affect the behavior of Tilda. The screen shots below show some of the options that Tilda provides. Starting with version 1.4 Tilda's keybindings page switches to a new list based layout that is easier to use.

tty-progressbar - A flexible progress bar drawing in terminal emulators

  •    Ruby

A flexible progress bars drawing in terminal emulators. TTY::ProgressBar provides independent progress bars component for TTY toolkit.

upterm - A terminal emulator for the 21st century.

  •    TypeScript

Upterm (formerly Black Screen) is an IDE in the world of terminals. Strictly speaking, it's both a terminal emulator and an interactive shell based on Electron. Upterm shows the autocompletion box as you type and tries to be smart about what to suggest. Often you can find useful additional information on the right side of the autocompletion, e.g. expanded alias value, command descriptions, value of the previous directory (cd -), etc.

vim-bracketed-paste - Handles bracketed-paste-mode in vim (aka. automatic `:set paste`)

  •    Vim

Otherwise just copy-paste everything from plugin/bracketed-paste.vim into your ~/.vimrc. You need to be using a modern xterm-compatible terminal emulator that supports bracketed paste mode. xterm, urxvt, iTerm2, gnome-terminal (and other terminals using libvte) are known to work.

tcell - Tcell is an alternate terminal package, similar in some ways to termbox, but better in others

  •    Go

Package tcell provides a cell based view for text terminals, like xterm. It was inspired by termbox, but differs from termbox in some important ways. It also adds substantial functionality beyond termbox. First, it includes a full parser and expander for terminfo capability strings, so that it can avoid hard coding escape strings for formatting. It also favors portability, and includes support for all POSIX systems.


  •    C

Mrxvt is a multi-tabbed X terminal emulator based on rxvt. It is portable, lightweight and fast. It supports psuedo-transparency, background image (JPEG/PNG/XPM), tinting, NeXT/Rxvt/Xterm/SGI style scrollbar, multi-languages (CJK), XIM, freetype font...

cli-color - Colors and formatting for the console

  •    Javascript

Colors, formatting and other goodies for the console. This package won't mess with built-ins and provides neat way to predefine formatting patterns, see below. Styles will display correctly if font used in your console supports them.

notty - A new kind of terminal

  •    Rust

notty is a virtual terminal like xterm, gnome-vte, sh, or rxvt. Unlike these programs, notty is not intended to emulate a DEC VT-series physical video terminal, or any other physical device. Instead, notty is an experimental project to bring new features to the command-line which would not have been possible for the physical terminals other terminals emulate. Current command-line tools have stagnated (if you prefer, 'stabilized') around the ECMA-48/ISO 6429/ANSI X3.64 escape code protocol, which is defined on the basis of the capabilities of 1980s video terminal devices. Essentially all terminals in use today are virtual terminals being run on devices which are significantly more capable than these ancient machines, and yet the terminal environment has not kept pace with these developments. The last revision of the ANSI escape code protocol was released in 1991.

mapscii - 🗺 MapSCII is a Braille & ASCII world map renderer for your console - enter => telnet mapscii

  •    CoffeeScript

A node.js based Vector Tile to Braille and ASCII renderer for xterm-compatible terminals. If you're on Windows, use the open source telnet client PuTTY to connect.

Apprentice - A dark, low-contrast, Vim colorscheme.

  •    Vim

Apprentice is a dark, low-contrast colorscheme for Vim based on the awesome Sorcerer by Jeet Sukumaran. It is essentially a streamlined version of the original, with a reduced number of colors entirely taken from the default xterm palette to ensure a similar look in 256colors-ready terminal emulators and GUI Vim.


  •    C

Multi Gnome Terminal is an enhanced version of gnome-terminal, with many powerful new features and extensions, such as: multi tabbing, custom keybindings, font shadowing, xterm emulation, shading and tinting, improved Class handling, and much more.

pxl - Display images in the terminal

  •    Go

pxl is a little hack to display images in the terminal. You will need to have Go installed and configured in your path. Your terminal must have xterm-256color mode enabled.

terminology - The best terminal emulator based on the Enlightenment Foundation Libraries

  •    C

This is an EFL terminal emulator with some extra bells and whistles. Please see http://www.enlightenment.org for information on these.

web-terminal - Web-Terminal is a terminal server that provides remote CLI via standard web browser and HTTP protocol

  •    Javascript

Web-Terminal is a very lightweight terminal server that provides remote CLI via standard web browser and HTTP protocol. It works on all operating systems supported by Node.js, it doesn't depend on native modules. Fast and easy to install. Supports mutiple sessions. NOTE: It is not a TTY emulator. It doesn't support complex TTY interaction like in vi, nano and etc. It's good only for simple command/response cases. For fully featured TTY emulator I would suggest Wetty project.