How to Find Which Application Is Using a Port on a Windows
When you are troubleshooting a Node.js app, React frontend, backend API, Docker container, or any local development service on Windows, one common problem is discovering that a required port is already in use. If your application needs port 3002 and Windows says the port is occupied, the next step is to identify exactly which process is using it.
This guide explains how to find the application using port 3002 on a Windows laptop and how to stop it if needed.
Why this matters
Many applications and development tools use ports to listen for incoming connections. Port 3002 is commonly used by web applications, test services, development servers, and custom internal tools. If another application is already bound to that port, your service may fail to start and display errors such as:
- Port already in use
- Address already in use
- EADDRINUSE
- Failed to bind to port 3002
To fix this, you need to identify the process currently listening on that port.
Method 1: Use Command Prompt to identify the process
The easiest way is to use the built-in netstat command.
Open Command Prompt and run:
netstat -ano | findstr :3002
This command checks active network connections and listening ports, then filters the output for port 3002.
You may see output like this:
TCP 0.0.0.0:3002 0.0.0.0:0 LISTENING 12345
The last number in the line is the PID (Process ID). In this example, the PID is 12345.
Now use that PID to find the application name:
tasklist /FI "PID eq 12345"
This will return the process associated with that PID, such as:
Image Name PID Session Name Session# Mem Usage
node.exe 12345 Console 1 45,000 K
In this example, node.exe is the application using port 3002.
Method 2: Use PowerShell in one step
If you prefer PowerShell, you can identify the application with a single command:
Get-Process -Id (Get-NetTCPConnection -LocalPort 3002).OwningProcess
This command finds the process ID that owns port 3002 and then returns the matching process details.
For additional connection details, run:
Get-NetTCPConnection -LocalPort 3002 | Format-List
This can show useful information such as:
- Local address
- Local port
- Remote address
- Remote port
- State
- Owning process
What if no result is returned?
If the command returns nothing, it usually means one of the following:
- No application is currently listening on port 3002
- The port is being used only briefly and the process has already stopped
- The connection is not in a listening state at the moment
In such cases, try starting the application again and run the command immediately after the error appears.
How to stop the application using port 3002
If you confirm that the process using port 3002 is not needed, you can stop it.
Using Command Prompt:
taskkill /PID 12345 /F
Using PowerShell:
Stop-Process -Id 12345 -Force
Be careful when stopping a process. Make sure it is not a critical system service or an application you still need.
Common applications that may use port 3002
On a Windows laptop, port 3002 is often used by:
- Node.js applications
- React or Next.js development servers
- Backend APIs
- Docker containers
- Internal test tools
- Proxy or monitoring utilities
If you see processes like node.exe, java.exe, docker-desktop.exe, or python.exe, they may belong to applications you recently started for development or testing.
Best practice for troubleshooting port conflicts
When dealing with port conflicts on Windows, follow this sequence:
- Check which process is using the port
- Identify the application name using the PID
- Decide whether to stop the process or change your application’s port
- Restart your application and verify the port is available
This simple approach saves time and helps avoid unnecessary restarts or guesswork.
Conclusion
Finding which application is using port 3002 on a Windows laptop is straightforward with built-in tools like netstat, tasklist, and PowerShell’s Get-NetTCPConnection. Once you know the PID and application name, you can decide whether to stop the process or reconfigure your application to use a different port.
For developers, system administrators, and support engineers, knowing how to quickly identify port usage is an essential troubleshooting skill that can save valuable time.
Quick reference commands
netstat -ano | findstr :3002
tasklist /FI "PID eq 12345"
taskkill /PID 12345 /F
Get-Process -Id (Get-NetTCPConnection -LocalPort 3002).OwningProcess
Get-NetTCPConnection -LocalPort 3002 | Format-List
Stop-Process -Id 12345 -Force

