whatisgithub

What is ttyd?

tsl0922/ttyd — explained in plain English

Analysis updated 2026-06-24

11,612CAudience · ops devopsComplexity · 2/5Setup · easy

In one sentence

A tool that shares a terminal session through a web browser, run it on any server and anyone with the URL can view or interact with the terminal, with optional password, HTTPS, and file transfer support.

Mindmap

mindmap
  root((repo))
    What it does
      Browser-based terminal
      Remote shell access
      No SSH required
    Features
      Password and HTTPS
      Read-only or writable
      File transfer ZMODEM
      Unicode and image output
    Platforms
      Linux and macOS
      Windows and OpenWrt
      Embedded devices
    Install options
      Homebrew and apt
      WinGet on Windows
      Prebuilt binaries
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Access a remote server shell from a browser when SSH is blocked or unavailable on the network.

USE CASE 2

Share a read-only terminal session so a colleague can watch a live demo without installing anything.

USE CASE 3

Run a web terminal on an embedded device or OpenWrt router that lacks SSH infrastructure.

USE CASE 4

Set up a password-protected HTTPS terminal for a development server accessible from any browser.

What is it built with?

ClibuvWebGLJavaScript

How does it compare?

tsl0922/ttydrui314/chibiccklipper3d/klipper
Stars11,61211,61711,529
LanguageCCC
Setup difficultyeasymoderatehard
Complexity2/54/54/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Precompiled binaries available via Homebrew, apt, and WinGet, no compilation needed for most platforms.

No license information was mentioned in the explanation.

So what is it?

ttyd is a command-line tool that lets you access a terminal session through a web browser. You run a command on your server or computer, and anyone with access to the web address (and optionally a password) can interact with that terminal in their browser, as if they were typing directly on the machine. A common use case is remote access without needing SSH or a VPN: you start ttyd on a server, point it at a shell or any other command, and access it at a URL in a browser. It is also popular on embedded devices and router firmware such as OpenWrt, where full SSH infrastructure is not always available. The tool is built on libuv for networking and uses WebGL for rendering the terminal in the browser, which makes it fast. It supports full-featured terminal behavior including Unicode, Chinese/Japanese/Korean character input, and image output via Sixel (a protocol for displaying images inside a terminal window). File transfers between the browser session and the server are supported through ZMODEM and trzsz protocols. Security options are available: you can require a username and password, enable SSL/TLS encryption so the connection is HTTPS rather than plain HTTP, or restrict access to a single client at a time. By default the terminal is read-only, so remote viewers can watch without being able to type. A writable flag opens up interactive input. ttyd runs on macOS, Linux, FreeBSD, OpenBSD, Windows, and OpenWrt. You can install it through Homebrew on macOS, apt on Debian/Ubuntu, WinGet on Windows, or download a precompiled binary from the project's releases page.

Copy-paste prompts

Prompt 1
I installed ttyd on my Linux server. Show me the command to start a password-protected bash session on port 7681 with HTTPS using a self-signed certificate.
Prompt 2
Help me configure ttyd as a systemd service on Ubuntu so it starts automatically on boot and exposes a read-only terminal.
Prompt 3
I want to use ttyd on an OpenWrt router to get a browser-based shell. Walk me through installing the package and securing it with a username and password.
Prompt 4
Show me how to configure ttyd to allow only one connected client at a time and to close idle sessions after 30 minutes.

Frequently asked questions

What is ttyd?

A tool that shares a terminal session through a web browser, run it on any server and anyone with the URL can view or interact with the terminal, with optional password, HTTPS, and file transfer support.

What language is ttyd written in?

Mainly C. The stack also includes C, libuv, WebGL.

What license does ttyd use?

No license information was mentioned in the explanation.

How hard is ttyd to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is ttyd for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.