Web Terminal
Web Terminal

Полностью браузерный терминал для работы с последовательными портами (COM-портами). Не требует установки, работает прямо в Chrome или Edge. Весь код одним файлом. Не требует компиляции и сборки, легко править обычным блокнотом — открыл и работаешь. Работает на JavaScript и Web Serial API.

Быстро подключается к порту

Не нужно узнавать номер COM-порта в диспетчере устройств и вводить его вручную. Просто нажмите «Подключить» — браузер сам покажет список всех доступных последовательных портов.

Всплывающее окно при подключении в браузере Chrome
Всплывающее окно при подключении в браузере Chrome

Адаптивная вёрстка

Можно сжать окно браузера в узкую вертикальную панель и разместить с краю монитора — боковая панель с настройками превратится в выезжающее меню, а вывод терминала займёт почти всё пространство. Удобно, когда параллельно идёт работа в среде разработки.

Слева широкая версия, справа сжатая "мобильная"
Слева широкая версия, справа сжатая "мобильная"

Кастомизация

Это простой HTML/CSS/JS-файл, не требующий сборки или компиляции. Можно подогнать его под себя:

  • Изменить настройки по умолчанию (скорость, биты данных, чётность) — просто отредактируйте атрибуты selected в тегах <select>.

  • Переместить, скрыть или перекрасить любую кнопку или блок статистики — все стили лежат в одном <style>.

  • Добавить собственные макросы отправки или изменить поведение чекбоксов — вся логика в единственном <script>, редактируется в блокноте.

https://github.com/GidroByte/web-serial-terminal-ru

P.S. Идея возникла как-то сама, я просто увидел как ловко браузер подключается к COM-порту. Дабы это не прокисло у меня на рабочем столе делюсь со всеми желающими

Комментарии (9)


  1. gerbert_MX
    25.05.2026 19:03

    сработает только не на каждом браузере и не на каждой системе

    пытались по работе собрать универсальный прошивочно-отладочный интерфейс по TTL, в итоге самостоятельный GUI на Go был создан, потому как веб версия чаше не работала чем работала


    1. Yurmach Автор
      25.05.2026 19:03

      Согласен, штука специфичная, но довольно удобная


  1. melodictsk
    25.05.2026 19:03

    Я навайбкодил ранее более продвинутую версию. Использую для отладки устройств по обработке gps сигналов. Когда надо использовать периодически отправку сообщений. Это не последняя версия. В новой ещё можно hex отправлять. https://melodictsk.github.io/web-serial/web-serial.html


  1. NutsUnderline
    25.05.2026 19:03

    вроде бы для esp32 есть такая штука, т.е. она и веб интерфейс реализует и аппаратный интерфейс


    1. Artur_Averin
      25.05.2026 19:03

      Да, удивился на днях, что такое стало возможным)

      Возможно, я из пещеры...


      1. NutsUnderline
        25.05.2026 19:03

        в соседней теме еще более расширенная идея у меня пошла сделать консоль-терминалку на esp32 типа самодельный ноут/консоль https://habr.com/ru/articles/1039186/


      1. AndreyDmitriev
        25.05.2026 19:03

        удивился на днях, что такое стало возможным

        Я тут тоже впечатлился — коллега попросил ему помочь сделать новые часики в старый фольксваген-транспортер, я ему собрал на макетке прототип, и на всё про всё у меня ушёл обеденный перерыв, включая кодирование, там веб сервер на борту, через который можно часики установить со смартофона. Несколько лет назад я б такое тоже сделал, но убил бы несравненно большее количество времени (я работаю со всякими ардуинками редко и эпизодически). В общем и целом я доволен техническим прогрессом.


  1. Affdey
    25.05.2026 19:03

    Здорово! Это удобно, если нельзя ставить никакое ПО. в качестве прослушки порта (в том числе RS-485) будет полезно. В Яндекс-браузере работает.

    А кроме текста и Hex, можете сделать числовой вывод байтов? через пробел

    По какому условию происходит переход на следующую строку? было бы ещё хорошо указывать количество байт в строке или контрольное время.


    1. Yurmach Автор
      25.05.2026 19:03

      Данные падают в буфер в ожидании переноса строки: \n. Таймаут 100 мс, после этого строка выводится как есть.

      Числовой вывод байтов можно прикрутить — это даже интересно будет, но быстро не обещаю.

      С количеством байт тоже не должно возникнуть проблем.

      Контрольное время есть, если я правильно вас понял.