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…

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.