Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


WebSerial is a Serial Monitor for ESP8266 & ESP32 Microcontrollers that can be accessed remotely via a web browser. Webpage is stored in program memory of the microcontroller.


Upgrade to Pro

Checkout the Pro version of the WebSerial library which comes with enhanced & snappy UI, along with 'clear' & 'lock scroll' buttons on the monitor interface. Best of all, it's only 10KB in size compared to 50KB of regular WebSerial.

Available Here:




  • Works on Websockets
  • Realtime logging
  • Any number of Serial Monitors can be opened on the browser
  • Uses Async Webserver for better performance


For ESP8266:
  • ESP8266 Arduino Core - (latest)
  • ESPAsyncTCP - v1.2.2
  • ESPAsyncWebServer - v1.2.3
For ESP32:
  • ESP32 Arduino Core - (latest)
  • AsyncTCP - v1.1.1
  • ESPAsyncWebServer - v1.2.3

How to Install

Directly Through Arduino IDE

Go to Sketch > Include Library > Library Manager > Search for "WebSerial" > Install

Manual Install

For Windows: Download the Repository and extract the .zip in Documents>Arduino>Libraries>{Place "WebSerial" folder Here}

For Linux: Download the Repository and extract the .zip in Sketchbook>Libraries>{Place "WebSerial" folder Here}

Include other library

Manually through IDE

Download the Repository, Go to Sketch>Include Library>Add .zip Library> Select the Downloaded .zip File.


WebSerial is very similar to the default Serial Monitor Library of Arduino.

Please see Demo examples for better understanding on how to setup WebSerial for your Project: Click Here

WebSerial has 2 main functions:

  • print
  • println

print - simply prints the data sent over WebSerial without any newline character.

println - prints the data sent over WebSerial with a newline character.

Both functions support the following datatypes: String, const char, char, int, uint8_t, uint16_t, uint32_t, double, float.

To Access Webserial: Go to <IP Address>/webserial in your browser ( where <IP Address> is the IP of your ESP).


Every Contribution to this repository is highly appriciated! Don't fear to create pull requests which enhance or fix the library as ultimatly you are going to help everybody.

If you want to donate to the author then you can buy me a coffee, It really helps me keep these libraries updated:


WebSerial is licensed under General Public License v3 ( GPLv3 ).