Guide

How to Check If a Website Is Down

A page that will not load is either the site, your network, or a typo. Work through these checks in order and you will know which one in a couple of minutes.

Updated

Try it now: Website Status Checker. It runs in your browser, with no signup.

Step 1: separate a typo from an outage

Check the address first. A wrong subdomain, a missing letter or http:// on a site that only serves https:// looks exactly like an outage. Paste the address into the Website Status Checker, which tests it from your own browser and network and shows whether the server answered.

Step 2: is it down for everyone or only for you?

A single check only tells you what your connection can reach. To compare, try another network, such as mobile data, or ask a colleague in another location to load the page. If it works elsewhere, the problem is local: your DNS cache, a VPN, a proxy, a firewall or your ISP.

  • Turn off the VPN or proxy and reload.
  • Try a different DNS resolver such as 1.1.1.1 or 8.8.8.8.
  • Flush the local DNS cache (ipconfig /flushdns on Windows, sudo dscacheutil -flushcache on macOS).
  • Open the page in a private window to rule out extensions and cached redirects.

Step 3: read the HTTP status code

If the server answers, the status code says what kind of problem it is.

  • 200 OK: the page loaded. A blank page after this is a front-end problem, not an outage.
  • 301, 302, 307, 308: the address redirects. Follow the redirect target.
  • 401 Unauthorized and 403 Forbidden: the server is up but refuses you, often because of missing credentials or a blocked IP.
  • 404 Not Found: the server is up but that path does not exist.
  • 429 Too Many Requests: you are being rate limited.
  • 500 Internal Server Error: the server is up but the application failed.
  • 502 Bad Gateway and 504 Gateway Timeout: a proxy or load balancer could not get a good answer from the application behind it.
  • 503 Service Unavailable: the server is overloaded or in maintenance.

Step 4: test from the command line

curl shows the status code and timing and separates DNS, connection and TLS failures.

# Status code and total time
curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" https://example.com

# Headers only, with connection details
curl -I -v https://example.com

# DNS only
dig +short example.com

Checking from code

A HEAD request is enough to read the status. In Python the standard library raises an exception for 4xx and 5xx answers, so catch it.

import urllib.request, urllib.error

def status(url):
    req = urllib.request.Request(url, method="HEAD")
    try:
        with urllib.request.urlopen(req, timeout=10) as r:
            return r.status
    except urllib.error.HTTPError as e:
        return e.code          # the server answered with 4xx or 5xx
    except Exception as e:
        return str(e)          # DNS, TLS or timeout problem

What a browser-based checker can and cannot tell you

A checker that runs in your browser can only report what your own connection can reach. Many sites do not let other pages read their response, so the tool may confirm that the server answered without showing the exact status code. It is a quick first check, not a worldwide uptime monitor. For continuous monitoring from several regions, use a dedicated uptime service.

Frequently asked questions

Why does a site load for others but not for me?

The cause is usually local: a stale DNS cache, a VPN or proxy, a blocked route at your ISP, or a firewall rule. Test from another network to confirm.

What does a 503 error mean?

The server is reachable but cannot handle the request right now, usually because of overload or maintenance. It is normally temporary.

What is the difference between a 502 and a 504?

Both come from a gateway or proxy. A 502 means it received an invalid answer from the application behind it; a 504 means that application did not answer in time.

Tools used in this guide

onlinedevelopertool.com is a collection of 54 free, browser-based utilities for the small jobs that interrupt real work: formatting a JSON response, decoding a token, converting a timestamp, generating a UUID or checking a hash. Each tool has its own page with a short explanation, a worked example and answers to common questions, so you can use it and learn what it does at the same time.

There is no account to create and nothing to install. Tools run in your browser, so the text you paste is processed on your own device. The one exception is the Website Status Checker, which sends a request from your browser to the address you enter.

Three steps: paste your input, click the tool, copy the result, all inside your browser
Popular developer utilities: JWT decoder, UUID generator, Base64 decoder, SHA-256 hash, regex tester and timestamp converter

What you can do here

  • JSON Tools

    Format, validate, beautify and minify JSON, generate C#, TypeScript, Java, Python, Go, PHP and Kotlin models from it, or convert between JSON, YAML and CSV.

  • Encoders & Decoders

    URL, Base64 and HTML encoding and decoding, plus a JWT decoder for reading token claims.

  • Generators & Hashes

    Generate UUIDs and JWTs, validate UUIDs, and create MD5, SHA-256 and SHA-512 hashes.

  • Web Tools

    Timestamps, color codes, query strings and cron expressions - the small things web work keeps throwing at you.

  • Text & Data

    Format XML and YAML, count text, change case, make slugs, test regex, diff two texts and convert number bases.

  • Website Checking

    Check whether a website or URL is reachable from your browser.

Quick developer reference

  • JSON

    Keys and strings must use double quotes, and trailing commas and comments are not allowed. Those are the three most common reasons a payload fails to parse.

    Validate JSON
  • JWT

    A JSON Web Token is three Base64URL parts joined by dots: header, payload and signature. Decoding shows the claims but does not prove the token is genuine; only signature verification does.

    Decode a JWT
  • Base64

    Base64 is an encoding, not encryption. Anyone can reverse it, and it makes data roughly one third larger, so never use it to hide secrets.

    Decode Base64
  • UUID

    A version 4 UUID is made of random bits and written as 8-4-4-4-12 hexadecimal characters. Collisions are astronomically unlikely, which is why they work well as identifiers.

    Generate a UUID
  • Timestamps

    A Unix timestamp counts time since 1 January 1970 UTC. Ten digits usually means seconds and thirteen digits usually means milliseconds.

    Convert a timestamp
  • Hashes

    MD5 is fine for quick checksums but is not safe for security. Prefer SHA-256 or SHA-512, and remember that hashing is one-way and is not encryption.

    Create a SHA-256 hash

Missing a tool you need? Visit the contact page and tell us what you reach for most often. You can also browse every tool or read the About page to see how the site is built and what it does with your data.