Flash ESP32 and ESP8266 firmware from your browser

ESP Web Tool (ESPWebTool) writes .bin firmware straight to your ESP board over Web Serial. There is nothing to install: no USB drivers, no Arduino IDE, no Python or esptool.py setup. Open the page, plug in your board, pick your firmware and hit Program. It runs entirely in your browser, so your firmware files are never uploaded to a server.

Supported chips

ESP8266, ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2 and ESP32-P4. The chip is detected automatically when you connect.

How to flash an ESP board

  1. Click Connect and allow serial access.
  2. Plug in your ESP over USB and select its port.
  3. Add your .bin file and set its flash address.
  4. Click Program to write the firmware, then watch the serial output.

A single merged firmware image goes to address 0x0. Separate ESP-IDF build outputs use 0x1000 for the ESP32 bootloader and 0x0 on newer chips, with the partition table at 0x8000 and the app at 0x10000. You can also erase the whole flash before programming, or back up the existing firmware first.

Browser requirements

Flashing uses the Web Serial API, which needs a desktop version of Chrome, Edge or Opera. Safari, Firefox and mobile browsers on iOS and Android cannot access serial ports, so they are not supported.

Open source

ESP Web Tool is free and MIT licensed. The source code is on GitHub, flashing is handled by esptool-js from Espressif, and there is a help guide if a board refuses to connect.