Hosting and deploy
What is localhost:3000, and why won't it load?
localhost:3000 is a development server on your own computer. Which tools use port 3000, and how to fix refused connections and port in use errors.
localhost:3000 is your own computer, reached on port 3000, where many development servers run by default, including Next.js, Create React App, Express examples and Rails. If it does not load, the dev server is not running, crashed, or started on a different port. If the port is busy, stop the other process or start the server on another port.
Published · Last updated
What localhost:3000 means
localhost is a name that always points to your own machine, at IP address 127.0.0.1, or ::1 in IPv6. The number after the colon is the port, which lets many programs listen on the same machine. Port 3000 has no special meaning. It is simply the default many JavaScript and Ruby tools picked. Only you can open it, from the same computer.
Which tools use port 3000
- Next.js: next dev starts on 3000.
- Create React App, now deprecated, started on 3000.
- Many Express and Node examples use 3000.
- Ruby on Rails starts on 3000. Vite uses 5173 and many Java servers use 8080, so check which one your project uses.
Why it will not load
- The dev server is not running, or stopped when you closed the terminal.
- It crashed on startup. Read the terminal output for the error.
- It started on another port because 3000 was busy. Most tools print the actual address when they start.
- You opened https://localhost:3000 for a server that only speaks http.
- It runs inside Docker or a virtual machine and is not published to your host.
Port 3000 already in use
The error EADDRINUSE means another process holds the port, often a dev server you forgot. Find and stop it:
# macOS and Linux lsof -i :3000 kill <PID> # Windows netstat -ano | findstr :3000 taskkill /PID <PID> /F
Or start on another port, for example next dev -p 3001.
Opening it from your phone
Other devices cannot use localhost, because localhost on a phone is the phone. Use your computer's local network IP address, such as 192.168.1.20:3000, and start the server so it listens on all interfaces. Some tools need a flag for that, such as --host or -H 0.0.0.0.
Never put localhost URLs in production code or environment variables. A deployed site calling http://localhost:3000 works only on your laptop.
What a scan can and cannot tell you
WebAuditOS cannot reach localhost. It scans public URLs only. Once deployed, it reports failed resource requests and console errors, which is how production code still calling localhost shows up, and compares served HTML with rendered content for client-side apps.
If your deployed site shows failed requests to localhost, an environment variable or hard-coded URL from development reached production.
Short answers
Can other people open my localhost:3000? No. Deploy the site or use a tunnel to share it.
Why does localhost:3000 refuse to connect? Nothing is listening there. Start the dev server and check its port.
How do I change the port? Most tools accept a flag such as -p 3001 or a PORT environment variable.
Is localhost the same as 127.0.0.1? Yes, for IPv4. ::1 is the IPv6 equivalent.
In the product
The checks this maps to
Every check named here runs on every scan, on every plan - what a plan changes is how many pages are crawled, how long the history is kept and what you can do with the result. These are the ids the findings carry, so you can match a line in a report to the explanation above.
- tech.console-errors - No JavaScript errors in the console
- seo.js-rendered-content - Content is present in the served HTML
- tech.failed-requests - No failed subresource requests
Read next
Hosting and deploy
What is localhost:5173, and why won't it load?
localhost:5173 is the default address of the Vite dev server. Why it refuses to connect, how to open it from another device, and what changes in production.
HTTP errors
What does ERR_CONNECTION_REFUSED mean, and how do you fix it?
ERR_CONNECTION_REFUSED means nothing accepted the connection on that port. Causes on localhost, in containers and in production, and how to check each.
Hosting and deploy
What is localhost:8080?
localhost:8080 is a local server on port 8080, the common alternative HTTP port. Which tools use it, how to find what holds the port, and why it will not load.