Patch secrets and values in an already-built .bin or .bin.espbinpatch, repair ESP-IDF checksums,
then install over USB with ESP Web Tools.
Runs entirely in the browser — the firmware is not uploaded anywhere.
Extensions .bin and .bin.espbinpatch are interchangeable.
The extension suffix is only used to clarify that the image needs some replacements before being ussable.
Use a merged factory image for a first-time install, or an app-only / OTA
image to keep Wi-Fi and other saved settings. This tool will try to assist you and only present valid options after selecting a file.
auto tries UTF-8 text vs decoded Base64 (Home Assistant API key). For that key, Old may be the 32-byte placeholder or its Base64; New is the Home Assistant Base64 value. utf-8 is literal text (SSID). hex and base64 decode first. Replacement must be the same length or shorter.
Chip family must match the board you will flash. Detected from the image header; override if needed.
The chip stores two kinds of things: the program (this file) and saved settings (Wi-Fi password, Home Assistant key, and similar). Those settings live in a separate area. You can update the program without touching that area. Erase everything is required at least once — the first time you flash a blank or new board — so the bootloader is installed. After that, use keep-settings for updates.
Almost always 10000. Change this only if you know your board uses a different layout.
Chrome or Edge, over HTTPS (or localhost). Connect the board via USB, then install the patched image.
When Lock placeholders is on, recipients see Old as read-only; mode, pad, and add/remove are hidden. Chip family stays visible and read-only.
Warning: the backup link includes your replacements (Wi-Fi names, API keys, passwords). Treat it like a secret — do not post it in a public README, issue, or chat unless those values are meant to be public.