🚫 Office Closed (Holiday) 📅 We will reopen on Monday 🙏 Thanks for your patience 🚫 Office Closed (Holiday) 📅 We will reopen on Monday 🙏 Thanks for your patience
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Insight

ESP32 Board Manager URL Not Working: How to Fix It (2026)

You copied the ESP32 URL into Additional Board Manager URLs exactly like every tutorial says, clicked OK, opened Boards Manager, searched for ESP32, and nothing showed up. Or maybe it worked last month and has simply stopped working today. Either way, it is one of the most common frustrations in ESP32 development, and it is very rarely caused by something you did wrong in the steps themselves.

This guide walks through why the ESP32 board manager URL stops working, what the currently correct URL actually is, and every fix worth trying, in the order most likely to solve it fastest.

Why the ESP32 Board Manager URL Stops Working

Before troubleshooting individual fixes, it helps to understand what is actually happening behind the scenes when you add that URL.

The Additional Board Manager URLs field does not install anything by itself. It simply tells Arduino IDE where to download a small JSON index file that lists every available board package, including which version of the ESP32 core to fetch. When people say the ESP32 board manager URL is not working, they are almost always describing one of these underlying problems:

  • The URL itself has changed or moved, and the old one now returns a 404 error
  • Arduino IDE downloaded the index once and is showing a stale, cached copy
  • The IDE has not actually downloaded the index yet, and simply needs a restart to trigger it
  • A network restriction, proxy, or firewall is silently blocking the download
  • You are looking in the wrong preferences panel for your Arduino IDE version

Each of these looks identical from the outside, an empty or missing ESP32 entry in Boards Manager, but the fix is different for each one.

The Currently Correct ESP32 Board Manager URL

If you copied the URL from an older tutorial, video, or forum post, there is a good chance that is your entire problem.

Espressif has changed the hosting location for this file more than once. The oldest widely shared version, https://dl.espressif.com/dl/package_esp32_index.json, has been retired and now returns a 404 error for many users, which is confirmed by numerous open GitHub issues reporting exactly this. A newer version hosted on raw.githubusercontent.com works for some people but has also been reported as slow or unreliable at times, since GitHub’s raw content servers are not designed for high traffic JSON delivery at scale.

[Image: screenshot of the Arduino IDE Preferences window with Additional Board Manager URLs field visible]

The current, actively maintained stable URL is:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

If you need the development branch instead of the stable release, use:

https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

Replace whatever URL is currently in your Additional Board Manager URLs field with the stable link above. If you already have an ESP8266 or other board URL in that same field, separate multiple URLs with a comma, not a semicolon or a new line.

Common Symptom: ESP32 Not Showing in Boards Manager After Adding the URL

This is the single most reported version of the problem, and it usually comes down to timing rather than a broken URL.

According to an open issue on the official Arduino IDE GitHub repository, when a new package index URL is added to preferences, the IDE does not always download that index immediately. The expected package list simply does not appear the first time you open Boards Manager, even though the URL itself is entered correctly. The fix documented in that same issue thread is straightforward: close Arduino IDE completely and reopen it. On restart, the IDE downloads the new index in the background, and the ESP32 package then appears in Boards Manager search results as expected.

If restarting does not resolve it, move on to checking for a stale cached copy, covered next.

Fix 1: Clear the Cached Package Index File

Arduino IDE stores a local copy of every package index it downloads, and if that local copy is corrupted, outdated, or was saved from a URL that is no longer reachable, restarting alone will not fix it since the IDE keeps reusing the broken cached file.

The cached files live in a folder often called the Arduino15 data directory, and its location depends on your operating system:

Operating System Typical Location
Windows C:\Users\YourUsername\AppData\Local\Arduino15
macOS ~/Library/Arduino15
Linux ~/.arduino15

Inside that folder, look for a file named package_esp32_index.json. Close Arduino IDE first, delete that file, then relaunch the IDE and open Boards Manager again. This forces a fresh download using whatever URL is currently saved in your preferences, rather than reusing a broken older copy.

Fix 2: Confirm You Are Editing the Right Preferences Panel

If you recently upgraded from the older Arduino IDE 1.8.x to the newer Arduino IDE 2.x, this is worth double checking, since the two versions look different enough that people sometimes edit the wrong field or miss it entirely.

In both versions, the setting lives under File then Preferences, and the field is still labeled Additional Board Manager URLs. In IDE 2.x specifically, this same panel can also be reached through the gear or settings icon in the lower left corner of the window. A small but common mistake is pasting the URL into the search bar of Boards Manager itself rather than into the Preferences field, which will never work no matter how correct the URL is.

If you use both IDE versions on the same machine, note that each version keeps its own separate preferences file, so adding the URL in one does not automatically carry over to the other.

Fix 3: Check for a Proxy, Firewall, or Network Restriction

On a personal home network this is rarely the cause, but on a work laptop, school computer, or any machine behind corporate network security, it is one of the more common and hardest to diagnose reasons the download silently fails.

Arduino IDE needs outbound access to espressif.github.io to fetch the index file, and to the download servers referenced inside that file to actually install the ESP32 core afterward. If your network uses a proxy server, Arduino IDE has its own proxy settings, separate from your operating system’s settings, found in File then Preferences on older versions or in the Network section of Settings on IDE 2.x. If you are unsure whether this is the issue, try opening the URL directly in a regular web browser on the same machine. If the browser also fails to load the JSON file or times out, the problem is network level, not Arduino IDE specific, and is worth raising with whoever manages that network.

Fix 4: Manually Verify the JSON File Is Reachable

Before assuming the problem is on your end, it is worth confirming the file itself is actually online and reachable from your location.

Paste the current stable URL directly into your web browser’s address bar. A working result should show a block of readable JSON text describing package versions and download links, not a blank page, a 404 error, or a browser download prompt for a broken file. If the file loads fine in a browser but Arduino IDE still cannot fetch it, that strongly points back toward the proxy or firewall issue covered above, rather than the URL itself being wrong.

Fix 5: Reinstall the ESP32 Core Package Cleanly

Sometimes the index loads correctly, the ESP32 package shows up in Boards Manager, but installation itself fails partway through or leaves the core in a broken state, which can look identical to a URL problem from the Tools menu.

In Boards Manager, search for esp32, and if a version is already listed as installed, click Remove first rather than trying to install over it. Once removed, restart Arduino IDE, reopen Boards Manager, and install the ESP32 package fresh. This clears out any partially downloaded toolchain files that a simple update might otherwise skip over.

Driver Issues That Look Like URL Problems But Are Not

A meaningful number of people troubleshoot the board manager URL for a while before realizing their actual problem was never the URL at all, it was that their board never showed up as a COM port or serial device in the first place.

If the ESP32 package installed successfully and appears correctly under Tools then Board, but you cannot select a port under Tools then Port, the issue is almost always a missing USB to UART bridge driver rather than anything related to Boards Manager. Most ESP32 development boards use either a Silicon Labs CP210x chip or a WCH CH340 chip to handle USB communication, and Windows in particular does not always install the correct driver automatically. Installing the matching driver from the chip manufacturer, then unplugging and reconnecting the board, resolves this in most cases.

It is worth separating these two problems cleanly in your own troubleshooting, since fixing one does nothing for the other.

Full Troubleshooting Checklist

Work through these in order. Most people find their answer within the first three.

  • Replace any old ESP32 URL with the current stable link: https://espressif.github.io/arduino-esp32/package_esp32_index.json
  • Fully close and reopen Arduino IDE after adding or changing the URL
  • Delete the cached package_esp32_index.json file from your Arduino15 folder, then restart
  • Confirm you edited Additional Board Manager URLs under File then Preferences, not the Boards Manager search box
  • Check Arduino IDE’s own proxy settings if you are on a work, school, or otherwise restricted network
  • Open the URL directly in a browser to confirm the file itself is reachable
  • Remove and cleanly reinstall the ESP32 package if it appears but will not finish installing
  • Rule out a missing CP210x or CH340 driver separately if your real symptom is a missing COM port, not a missing package

Using arduino-cli as a Reliable Alternative

If the graphical Boards Manager continues to give you trouble, Arduino’s own command line tool, arduino-cli, uses the same underlying package index system but tends to surface clearer error messages when something fails, which can make diagnosing a stubborn issue considerably faster.

After installing arduino-cli, add the ESP32 index with:

If any of these commands fail, the terminal output usually names the exact cause, a network timeout, a permissions error, or a malformed URL, which is often far more specific than what the graphical IDE reports.

Frequently Asked Questions

1. Why does the ESP32 board manager URL keep timing out?

This is most often a network level issue, either a slow connection to GitHub’s hosting or a proxy or firewall silently blocking the request, rather than a problem with the URL itself.

2. Is the old dl.espressif.com URL still valid?

No. That original hosting location has been retired for most users and now commonly returns a 404 error, which is why switching to the current espressif.github.io URL resolves the problem for a large share of people still using the old link.

3. Do I need to restart Arduino IDE every time I change the board manager URL?

Not every time, but after first adding a new URL, a restart is the most reliable way to force the IDE to actually download and apply that index, based on documented behavior in Arduino’s own IDE repository.

4. Why does ESP32 show up in Boards Manager but fail to install?

This usually points to an interrupted or corrupted previous installation attempt. Removing the existing entry and reinstalling cleanly resolves it in most cases.

5. I fixed the URL and installed ESP32, but I still cannot upload code. What now?

At that point the board manager URL is no longer your issue. Check that the correct COM port is selected under Tools then Port, and confirm the CP210x or CH340 driver for your specific board is installed, since this is a separate, unrelated failure point.

6. Does this fix apply to ESP32-S3, C3, and other newer variants too?

Yes. All ESP32 family variants are delivered through the same esp32 package and the same board manager URL, so this fix applies regardless of which specific ESP32 chip you are using.

Conclusion

An ESP32 board manager URL that will not work is almost never a sign that something is fundamentally wrong with your setup. In most cases it is one of a small number of well understood causes: an outdated URL, a cached file that needs clearing, a missed restart, or a network restriction quietly blocking the download. Working through the checklist above in order resolves the vast majority of cases without needing to reinstall Arduino IDE itself.

If you are setting up an ESP32 board for the first time rather than fixing an existing installation, our ESP32 URL for Arduino IDE install guide walks through the full setup from scratch. Once your board is talking to Arduino IDE successfully, our JTAG debugging guide for the ESP32-S3 is a natural next step for deeper development work.


Sources & References

Build with Confidence

Working on Project

Project Completion Rate
84%
Client Satisfaction
94%
Client Happiness & Trust
100%
Facebook
Twitter
LinkedIn

Latest Posts

Leave a Comment

Your email address will not be published. Required fields are marked *