HTTP Echo Server

Send a request and get a JSON response echoed.


Beeceptor's HTTP echo server is a web server designed to provide a JSON response that mirrors the content of the data sent in an HTTP request. This functionality proves particularly useful for HTTP request debugging, validating request formation, and conducting demonstrations.

Simply copy the URL below and send an HTTP request to it. You have the flexibility to use any request path or method, and the server will promptly respond by echoing the content back to you. Checkout the examples below.

https://echo.free.beeceptor.com
Try a GET request
and discover the HTTP headers being transmitted
by your web browser. More examples below.

Hosted & Free

No downloads, or running any docker. This is a Beeceptor provided free tool for the community or anyone to use.

Comprehensive

Responds with parsed request body for multipart and form-ulrencoded content types. Supports GET, POST, PUT, PATCH, and DELETE.

Debug Faster

Get instant feedback by receiving echoed content of the request. This makes it easy to verify that the data sent in the request matches what you intended.

HTTP GET Request - Bash/Terminal (Linux)

curl "https://echo.free.beeceptor.com/sample-request?author=beeceptor"

Echo Server's Response - Bash/Terminal (Linux)

{
  "method": "GET",
  "path": "/sample-request?q=beeceptor",
  "ip": "68.53.23.246",
  "headers": {
    "host": "echo.free.beeceptor.com",
    "user-agent": "curl/7.88.1",
    "accept": "*/*",
    "accept-encoding": "gzip"
  },
  "parsedQueryParams": {
    "author": "beeceptor"
  }
}
HTTP GET Request - Powershell (Windows)

Invoke-WebRequest -Uri "https://echo.free.beeceptor.com/sample-request?author=beeceptor"

Echo Server's Response - Powershell (Windows)

StatusCode        : 200
StatusDescription : OK
Content           : {
                      "method": "GET",
                      "protocol": "https",
                      "host": "echo.free.beeceptor.com",
                      "path": "/sample-request?author=beeceptor",
                      "ip": "106.213.85.70",
                      "headers": {
                        "Host": "echo.free.beeceptor....
RawContent        : HTTP/1.1 200 OK
                    Alt-Svc: h3=":443"; ma=2592000
                    Vary: Accept-Encoding
                    Transfer-Encoding: chunked
                    Content-Type: application/json
                    Date: Wed, 01 May 2024 12:24:47 GMT

                    {
                      "method": "GET",
                      "proto...
Forms             : {}
Headers           : {[Alt-Svc, h3=":443"; ma=2592000], [Vary, Accept-Encoding], [Transfer-Encoding, chunked], [Content-Type, application/json]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 400
HTTP POST Request - JSON Payload

curl -X POST -H "Content-Type: application/json" -d '{"name": "John Doe", "age": 30, "city": "New York"}' "http://echo.free.beeceptor.com/sample-request?author=beeceptor"

Echo Server's Response

{
  "method": "POST",
  "path": "/sample-request?author=beeceptor",
  "ip": "68.53.23.246",
  "headers": {
    "host": "echo.free.beeceptor.com",
    "user-agent": "curl/7.88.1",
    "content-length": "51",
    "accept": "*/*",
    "content-type": "application/json",
    "accept-encoding": "gzip"
  },
  "parsedQueryParams": {
    "author": "beeceptor"
  },
  "parsedBody": {
    "name": "John Doe",
    "age": 30,
    "city": "New York"
  }
}
HTTP POST Request - Multipart

curl --location 'https://echo.free.beeceptor.com/' --form 'action="form-submit"' --form 'file=@"sample_file.jpg"'

Echo Server's Response

{
    "method": "POST",
    "path": "/",
    "ip": "136.185.41.120",
    "headers": {
        "host": "echo.free.beeceptor.com",
        "user-agent": "curl/7.88.1",
        "content-length": "55561",
        "accept": "*/*",
        "accept-encoding": "gzip, deflate, br",
        "content-type": "multipart/form-data; boundary=--------------------------362521674601421993043015"
    },
    "parsedQueryParams": { },
    "parsedBody": {
        "textFields": {
            "action": "form-submit"
        },
        "files": [
            {
                "name": "file",
                "fileName": "sample_file.jpg",
                "contentType": "image/jpeg"
            }
        ]
    }
}

Why Use An Echo Server?

Payload Testing

Debug and test HTTP payloads triggered by your code to ensure accurate data handling.

Learning Tool

Understand how HTTP requests and responses operate for a deeper grasp of web interactions.

Webhook Verification

Validate outgoing HTTP requests to ensure your application builds payloads correctly and connects to the internet seamlessly.

HTTP Headers

Identify missing or additional HTTP headers to ensure accurate communication between your code and framework.

IP Address

Discover your IP address quickly and effortlessly.
Maximum HTTP Request payload size: 1MB
Rate limits may apply in case of excessive usage from a single source/IP address.