How to Read and Debug Webhook Payloads with Free JSON Tools
A step-by-step way to make sense of a raw webhook payload: format it, pull out the fields you need, compare it with a working event and convert Unix timestamps.
Contents
A webhook is a message another service sends to your server when something happens, such as a payment succeeding or a text message being delivered. The message body is usually JSON, and when something goes wrong it often arrives in your logs as one long, unreadable line. This guide gives you a repeatable five-step method to read it, find the field you care about, and work out what changed between a working event and a broken one.
Before you start: what you need
You need one raw payload from your logs or from the sender's dashboard, and ideally a second payload from an event that worked. Remove any secrets, customer names, email addresses and card details before you paste anything into any online tool. Payloads often carry personal data, so work on a redacted copy.
Step 1: Make the payload readable
Paste the raw text into the JSON formatter. It adds indentation and line breaks so you can see which objects are nested inside which. If the formatter reports an error, the payload is not valid JSON, which is itself useful: it usually means your logging layer truncated the text, added a prefix, or escaped quotes twice. Fix that before you debug anything else. If the text is almost valid, the JSON repair tool can help you see what is missing.
Step 2: Find the fields that matter
Real payloads can have dozens of fields and several levels of nesting. Decide which three or four you actually need, such as the event type, an identifier for the object, a status and a time. Then use the JSONPath tester to write a path that extracts each one. A path like $.data.object.id reads as "start at the root, go into data, then object, then take id". Testing the path on a real payload before you put it in code saves a deploy. The JSON key extractor is useful when you only want a list of every key present.
Step 3: Compare a failing event with a working one
Many webhook bugs are differences you cannot see by eye: a field that is null instead of missing, a number that arrives as text, or an extra object that only appears for one payment method. Paste the working payload on one side and the failing payload on the other in the JSON diff tool. It highlights keys that were added, removed or changed. Start with the differences in the fields you chose in step 2, because those are the ones your code reads.
Step 4: Convert timestamps
Timestamps are a common source of confusion. Many APIs send time as a Unix timestamp, which counts seconds since 1 January 1970 in UTC, and some count milliseconds instead. A ten-digit number is usually seconds and a thirteen-digit number is usually milliseconds. Paste the value into the timestamp converter to see the date in a readable form. If an event seems to have arrived in the year 1970 or in the far future, you have almost certainly mixed up seconds and milliseconds.
Step 5: Write down what you learned
Keep a small record for each incident: the event type, the field that differed, and the fix. A plain JSON file is enough. If you run AI agents that call external tools, the same habit applies, and there is a longer walk-through in how to keep a readable audit log of AI agent tool calls with JSON.
Common mistakes to avoid
- Debugging from a screenshot. Always copy the raw text, because whitespace and escaped characters matter.
- Trusting a payload without verifying it came from the sender. Follow the sender's documentation on signature checking before you act on any webhook.
- Handling the same event twice. Senders can deliver an event more than once, so store the event identifier and ignore repeats.
- Ignoring volume. Webhook traffic can grow faster than expected, and so can the bill. Our guide to counting your real monthly automation runs shows how to estimate usage from an exported log.
Where this fits in a backend stack
Webhooks connect the services that make up a typical backend. Payment platforms such as Stripe and messaging platforms such as Twilio both notify your server this way, and both are described on their ProductListo profiles with pricing as of November 2026. For a comparison of the main infrastructure categories by job, see ProductListo's guide to the best cloud and infrastructure tools in 2026 and its Cloud & Infra buyer's guide. Makers of developer infrastructure tools can submit a tool to the ProductListo directory or read the write for us page to ask about sponsored placements.
Quick checklist
- Redact personal data and secrets.
- Format the payload and confirm it is valid JSON.
- Extract the three or four fields your code depends on.
- Diff a failing event against a working one.
- Convert timestamps and check seconds versus milliseconds.
- Record the cause and the fix.
Frequently asked questions
What is a webhook payload?
How do I know if a timestamp is in seconds or milliseconds?
Is it safe to paste a webhook payload into an online tool?
Why does my webhook handler receive the same event twice?
The UrwaTools Editorial Team delivers clear, practical, and trustworthy content designed to help users solve problems efficiently. Our articles focus on accurac...