Razorpay Data FormatterOffline payload → standard schema converter
Your Razorpay and customer data is processed locally on this device.
Nothing is uploaded or transmitted anywhere — parsing, formatting, exporting and settings
all run in your browser only, even after the page has loaded.
Field mapping settings
Define which source field names count as each standard field. Aliases are matched after
normalizing case, spaces, underscores and punctuation, so Customer Name,
customer_name and customerName are already equivalent — add an
alias here only when a workflow uses a genuinely different word.
Help & documentation
What this does
Razorpay sends the same customer details under different field names depending on
whether a payment came through a Payment Page, a Payment Link, or the raw API — this
tool accepts any of those shapes (full webhook JSON, a bare payment entity, several
payloads pasted together, or the label/value text you copy out of Pabbly, Zapier, Make
or a webhook log) and converts every record into one predictable schema you can safely
wire into any automation.
Customer name priority rules
1. An explicit combined name field: notes.customer_name,
customer_name, full_name, notes.name, etc.
2.first_name + last_name combined with a space.
3. Other aliases: billing_name, payer_name,
buyer_name, client_name, student_name, participant_name.
4. As a last resort, a name is inferred from the local part of the
email address and flagged with a warning — it never overwrites an explicit name.
Phone & email normalization
Phone numbers have spaces, hyphens and brackets stripped; a bare 10-digit Indian mobile
number gets +91 prepended; numbers that already carry a country code or a
leading + are preserved as-is. Anything that still doesn't look like a valid
number is left untouched and reported in validation_errors instead of being
silently mangled. Emails are trimmed and lower-cased, and checked against a basic
[email protected] pattern.
Duplicate detection
Records are compared in this order, using the first signal that is present on both
records: 1) Payment ID match, 2) Order ID + amount match,
3) Acquirer RRN match, 4) customer email + amount + created-at
match. A shared phone number or email alone never marks two different payment IDs as
duplicates. Use the toggle above the records table to hide, show or permanently remove
duplicates, and the export buttons to download unique records only.
Adding a new alias
Open Settings, find the standard field, type the new source field name
(as it appears in the payload — dots like notes.whatsapp are fine) into the
box and click Add. Mappings save to this browser's local storage
automatically and survive page reloads; use Export mapping /
Import mapping to move your settings to another device.
Running this fully offline
Everything above the network layer (parsing, mapping, validation, export) runs in this
page's JavaScript with no server calls and no external requests — once the page has
loaded you can disconnect from the internet and keep using it. To carry it around as a
standalone file, save the page (Ctrl/Cmd+S, "Webpage, Single File") from your browser; to
wrap it as a Windows desktop app, drop the saved page into a minimal
Electron or
Tauri shell that just
loads the local file — no server code is required either way.
1. Paste or upload Razorpay data
Paste a full webhook JSON, a bare payment entity, several payloads back to
back, or flattened label/value text copied from a log or automation platform.