API Payload Builder

Runs in browser Web

Build request payloads field by field (strings, numbers, booleans, nested objects, arrays), validate JSON, and export as JSON, form-urlencoded or multipart descriptions.

Privacy: This tool runs entirely in your browser. Your input never leaves your device.
Loading tool…

What are the parts of an HTTP request?

An HTTP request is a method (GET, POST, PUT, PATCH, DELETE …) and a target URL — path plus query parameters — followed by headers and, for methods that carry data, a body whose format the Content-Type header names. RFC 9110 defines the methods and their semantics: GET and HEAD are safe, PUT and DELETE are idempotent, POST is neither, which is what decides whether a request may be retried. A cURL command line is the same request written out, and is the lingua franca for reproducing an API call in a bug report.

Read the guide: What is API Testing? How to Test a REST API

How to use API Payload Builder

  1. Add fields with their paths and values (or paste a base JSON first).
  2. Choose automatic typing or strings-only, and the output format.
  3. Copy the body and the Content-Type header into your request.

API Payload Builder features

  • Field editor with dotted paths (customer.address.city) and array indices (items[0].sku, tags[])
  • Automatic value typing: numbers, booleans, null, JSON arrays and objects — or force strings
  • Deep merge onto an optional base JSON document
  • Output as pretty or minified JSON, application/x-www-form-urlencoded or multipart/form-data with the matching Content-Type
  • Structure tree and payload statistics (size, fields, depth, arrays, nulls)
  • Guards against precision loss for very large integers

API Payload Builder example

Build an order payload

Input:

customer.name = Layla Hassan · items[0].sku = KB-100 · items[0].qty = 2 · notify = true · coupon = null

Output:

{
  "customer": { "name": "Layla Hassan" },
  "items": [{ "sku": "KB-100", "qty": 2 }],
  "notify": true,
  "coupon": null
}
Content-Type: application/json

Frequently asked questions about API Payload Builder

How do I create nested objects and arrays?

Use dotted paths for objects (customer.address.city) and indices or [] for arrays (items[0].sku, tags[]). The tool builds the structure for you and shows it as a tree.

How are value types decided?

In automatic mode, 42 becomes a number, true/false booleans, null a JSON null, and anything starting with [ or { that parses is embedded as JSON. Wrap a value in double quotes to force a string, or switch to "Everything as strings".

What is the "Base JSON" field for?

Paste an existing payload (from docs or a previous request) and the fields you add are deep-merged on top of it, so you only edit what changes.

What do the form and multipart outputs look like?

application/x-www-form-urlencoded flattens nested values with bracket notation; multipart/form-data produces the boundary-delimited body with one part per field (nested values as JSON parts). Both outputs come with the matching Content-Type header.

References