What is HTTP error 400 and how do you fix it?

Tips and tricks to diagnose and debug a 400 Bad Request error

"400 Bad Request" on a computer screen

By and large, client-server interactions happen smoothly and incessantly. However, a 400 Bad Request error is an indication a request hasn’t been met successfully. A 400 Bad Request error could also mean the request you sent to a remote server, often something straightforward, like a request to load a website, got corrupted. 

And because servers respond to requests in a specific and often fixed format, malformed requests can result in error messages. In select few instances, the server itself may cause the error, adding to the confusion. HTTP errors may also appear different, depending on the browser you’re using. 

Firefox and Safari show a blank page with no status code. On the other hand, Chrome displays an error code along with a generic “This page isn’t working” message. 

Below is a list of the most common error messages reported by users while facing a 400 Bad Request error: 

  • Bad Request - Invalid URL
  • Bad Request: Error 400
  • HTTP Error 400 - Bad Request
  • HTTP Error 400. The request hostname is invalid
  • Bad Request. Your browser sent a request that this server could not understand

To ensure reliable hosting services, website owners may also choose to customize their HTTP Error 400 page. For example, web servers running Microsoft Internet Information Services (IIS) show a more specific variant of the error such as  “400.1: Invalid Destination Header”, “400.2: Invalid Depth Header”, “400.3: Invalid If Header,” and more.

Although not immediately apparent, a variety of scenarios can lead to a 400 Bad Request error. Discover the most common causes of the error and how to fix it below.

HTTP Error 400 Causes

There’s a wide range of issues that can cause a 400 Bad Request error. We’ll cover five common issues here. 

1. Bad URL Syntax

A 400 Bad Request error is usually a client-side error. A good case in point is a URL string syntax error. Incorrectly typed URLs, or URLs that contain backslashes and other invalid characters can garble a request. 

For example, the following URL will send you to a valid page.


Access the same URL with an extra “%” in it, and your browser will throw a 400 Bad Request error. 


2. Invalid Cookies 

Cookies store information about the websites you visit and may also store authentication data to speed up log in. If you can’t log into a website you previously visited, it means the cookie containing your log in data is no longer valid. This results in a 400 Bad Request error.

3. Incorrect file size

You may be trying to upload a file that’s too large to a website. The server will fail to fulfill your request and respond with a 400 error message in such a case. 

Keep in mind, the hosting provider sets the maximum upload size limit at the server level. For example, the maximum file size limit for WordPress ranges from 4MB to 128MB.

4. Unsynchronized DNS Cache

Browsers read domain names as IP addresses, which are stored locally in the Domain Name System (DNS) cache to improve the browsing experience. A 400 Bad Request error can occur when the DNS data stored locally is out of sync with a website’s registered DNS information during a future interaction.

5. Server error

Servers can cause errors too. To check if there's an issue with the server, try loading a website from a different browser and device. If the website fails to open in Edge, Chrome, Firefox, or IE, it's likely a server-side problem. 

How to Fix a 400 Bad Request?

It’s hard not to be unfazed by an HTTP error that tells you little about the problem. That said, fixing a 400 Bad Request error takes just a few steps. We’ve put together a few useful tips below to help you find your way out.

1. Recheck the URL

Since a malformed URL is the most common cause of the 400 Bad Request error, make sure there are no typing or syntax errors in your URL. Alternatively, for long URLs, consider using an online URL encoder, which automatically detects non-ASCII characters or invalid characters in a URL, saving you time and effort.

2. Check your internet connection

If you keep seeing a 400 Bad Request on nearly every website you visit, check your internet connection or consult your internet service provider to rule out a poor connection.

3. Clear browser cookies 

A website may fail to comply with your request due to old or corrupt cookies. As a quick fix, consider clearing your browser cache and cookies. Repeat this exercise from time to time to avoid running into a 400 Bad Request error.

4. Clear DNS Cache

This works similar to clearing browser cookies and cache, except that it’s locally stored in your computer and may contain outdated information that doesn’t sync with the current webpage. You can clear old DNS information and records from your system within the Command Prompt in Windows and Mac.

5. Compress the file

If you run into an HTTP Error 400 right after uploading a file, try uploading a smaller file. If that works, you may conclude that the initial file exceeded the server limit. The best workaround for uploading a large file is to compress it. Most websites permit zip files that fall under the maximum upload size.

6. Deactivate browser extensions

While this isn’t a common solution for a 400 Bad Request error, some browser extensions may interfere with cookies. Temporarily disabling them might resolve the problem.

7. Restart your system

If all other methods fail, restart your computer system and attached peripherals, such as routers. If this doesn’t resolve the problem, the error is likely a server-end issue, and the website administrator should fix it soon. 

You can also contact the host to report the problem. Chances are, they’re already aware of the problem or outage and are working on it.

Wrapping up

Like most other HTTP errors, an HTTP 400 error can be perplexing. However, the cause is often simple. Old browser files and cookies, wrongly inserted URLs, and incorrect file size are common contributors to this error. It also helps to know that all client-side HTTP error status codes start with 4. Server-side HTTP status codes also exist and begin with 5 instead of 4.

Featured Resources

BCDR buyer's guide for MSPs

How to choose a business continuity and disaster recovery solution

Download now

The definitive guide to IT security

Protecting your MSP and your customers

Download now

Cost of a data breach report 2020

Find out what factors help mitigate breach costs

Download now

The complete guide to changing your phone system provider

Optimise your phone system for better business results

Download now


Broadband industry sues New York over $15 price cap

Broadband industry sues New York over $15 price cap

4 May 2021
AT&T pledges $2 billion to help bridge the digital divide
digital divide

AT&T pledges $2 billion to help bridge the digital divide

14 Apr 2021
Singtel stuffs a 5G network in a suitcase-sized box

Singtel stuffs a 5G network in a suitcase-sized box

13 Apr 2021
Verizon recalls millions of hotspot devices due to fire hazard
wifi & hotspots

Verizon recalls millions of hotspot devices due to fire hazard

9 Apr 2021

Most Popular

KPMG offers staff 'four-day fortnight' in hybrid work plans
flexible working

KPMG offers staff 'four-day fortnight' in hybrid work plans

6 May 2021
16 ways to speed up your laptop

16 ways to speed up your laptop

29 Apr 2021
How to move Windows 10 from your old hard drive to SSD
operating systems

How to move Windows 10 from your old hard drive to SSD

30 Apr 2021