HTTP Echo Server

Send a request and get a JSON response echoed.

Beeceptor's HTTP echo server reflects the content of your HTTP request, making it easy to debug, validate request structures, and run live demos. Perfect for testing and fine-tuning your API calls!

GETPOSTPUTDELETE

https://echo.free.beeceptor.com
https://echo.free.beeceptor.com

Use any request path or HTTP method.
The response reflects what your client actually sent.

Try a GET request
Send your first 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.CORS is supported on this mock server, and OPTIONs calls will pass.

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.

Usage Examples

GET Request

Perform a simple GET request. The server parses query parameters and returns them in the response.

curl "https://echo.free.beeceptor.com/sample-request?author=beeceptor"
Echo Server Response
200 OK
{
  "method": "GET",
  "path": "/sample-request?q=beeceptor",
  "ip": "203.0.113.195",
  "headers": {
    "host": "echo.free.beeceptor.com",
    "user-agent": "curl/7.88.1",
    "accept": "*/*"
  },
  "parsedQueryParams": {
    "author": "beeceptor"
  }
}
POST with JSON

Send a JSON payload. The server validates the content type and parses the JSON body.

curl -X POST -H "Content-Type: application/json" -d '{"name": "John Doe", "age": 30}' "https://echo.free.beeceptor.com/sample-request"
Echo Server Response
200 OK
{
  "method": "POST",
  "path": "/sample-request",
  "headers": {
    "content-type": "application/json",
    ...
  },
  "parsedBody": {
    "name": "John Doe",
    "age": 30
  }
}
Multipart File Upload

Upload files and form fields. The server extracts boundaries and details about the uploaded content.

curl --location 'https://echo.free.beeceptor.com/' \ --form 'action="form-submit"' \ --form 'file=@"sample_file.jpg"'
Echo Server Response
200 OK
{
  "method": "POST",
  "headers": {
      "content-type": "multipart/form-data; boundary=..."
  },
  "parsedBody": {
    "files": [
      {
          "name": "file",
          "fileName": "sample_file.jpg",
          "contentType": "image/jpeg"
      }
    ]
  }
}
Diagnostics & Warnings

The Echo server validates requests and reports issues like malformed JSON or missing headers.

curl -X POST -H "Content-Type: application/json" -d '{"broken-json":' "https://echo.free.beeceptor.com/sample-request"
Echo Server Response
200 OK
{
  "method": "POST",
  "warnings": [
    "Error in parsing JSON body. [Unexpected end of JSON input]"
  ],
  "rawBody": "{\"broken-json\":"
}
Missing Content-Type

POST requests usually require a Content-Type header. By default, curl sends application/x-www-form-urlencoded. We explicitly remove it to demonstrate the warning.

curl -X POST -H "Content-Type:" -d '{"data": 123}' "https://echo.free.beeceptor.com/"
Echo Server Response
200 OK
{
  "method": "POST",
  "warnings": [
    "Missing Content-Type header for the POST request."
  ],
  "rawBody": "{\"data\": 123}"
}
Duplicate Headers

Detects accidental duplicate headers which can cause ambiguity.

curl -H "X-Foo: bar" -H "X-Foo: baz" "https://echo.free.beeceptor.com/"
Echo Server Response
200 OK
{
  "headers": {
    "x-foo": "baz",
    ...
  },
  "warnings": [
    "Duplicate headers found: x-foo"
  ]
}
Windows PowerShell

Native PowerShell command to invoke a web request.

Invoke-WebRequest -Uri "https://echo.free.beeceptor.com/sample-request?author=beeceptor"
Echo Server Response
200 OK
StatusCode        : 200
StatusDescription : OK
Content           : {
                      "method": "GET",
                      "protocol": "https",
                      "host": "echo.free.beeceptor.com",
                      ...
                    }
RawContent        : HTTP/1.1 200 OK
                    Alt-Svc: h3=":443"; ma=2592000
                    Vary: Accept-Encoding
                    Content-Type: application/json

Why Use An Echo Server?

Payload Testing

Test and debug HTTP payloads from your code to make sure data is handled correctly.

Learning Tool

Gain hands-on experience with HTTP requests and responses to better understand web interactions.

Webhook Verification

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

HTTP Headers

Spot missing or extra headers to ensure smooth HTTP communication between your code and external services.

Debug Like a Pro

Gain insights and warnings about your HTTP requests. Missing headers? Parsing issues? The echo server helps you catch and fix them fast.

IP Address

Instantly find your IP address — no hassle, no fuss.

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