Convert JSON Lines Product Feed to PostgreSQL

Parse Google Shopping, Meta, and supplier JSON Lines feeds into clean, structured data with organized pricing, stock levels, and product identifiers.

Drop your JSON_LINES (.jsonl) file here (or click to browse).
(50 MB or less file)
0%
Uploading...
Loading...
Sign-up to upload larger files
How it works

From Raw XML Feed to Structured Data

See how nested XML tags, product attributes, and catalog fields are automatically parsed into ready-to-use output.

Before

The feed as Merchant Center reads it

One <item> per product, with every attribute in Google's g: namespace. Easy for Google to read, hard for people to review.

JSON Lines fernwood-google-feed.jsonl 452 items
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0"> <channel> <title>Fernwood Outdoor</title> <link>https://fernwood.example</link> <description>Camping gear from Fernwood Outdoor</description> <item> <g:id>FW-TENT-2P-GRN</g:id> <g:title>Ridgeline 2-Person Tent, Green</g:title> <g:price>249.00 USD</g:price> <g:availability>in_stock</g:availability> <g:gtin>00850012345008</g:gtin> <g:shipping> <g:country>US</g:country> <g:price>0.00 USD</g:price> </g:shipping> </item> <item>…</item> <!-- 450 more items --> </channel> </rss>
Feed changes

Track Changes Across Feed Pulls

Save feed snapshots as datasets and join them on a common ID to compare price, stock, and field updates side by side.

Last week

fernwood-google-2026-09-21.jsonl

Pulled 2026-09-21 · 448 items

This week

fernwood-google-2026-09-28.jsonl

Pulled 2026-09-28 · 452 items

joined on id

PostgreSQL fernwood-sep-21-vs-sep-28.sql 448 rows
id item_title Price Sep 21 Price Sep 28 Stock Sep 21 Stock Sep 28
FW-TENT-2P-GRNRidgeline 2-Person Tent, Green249.00 USD249.00 USDin_stockin_stock
FW-TENT-2P-SNDRidgeline 2-Person Tent, Sand249.00 USD249.00 USDin_stockout_of_stock
FW-BAG-20FSummit 20°F Down Sleeping Bag179.00 USD189.00 USDin_stockin_stock
FW-STOVE-TITitanium Canister Stove64.50 USD64.50 USDout_of_stockpreorder
FW-PAD-R4Trailhead Sleeping Pad, R 4.2129.00 USD129.00 USDin_stockin_stock
FW-LAMP-400Headlamp, 400 lm42.00 USD39.95 USDin_stockin_stock
1

Load this week's feed

Paste the feed URL on the From a URL tab above.

2

Save last week's

Convert last week's pull the same way and save it as a dataset.

3

Join on id

Join the two in Join Data on id as an Excel sheet, then compare the price and stock columns.

Automate it

Convert product feeds from your own code

The API runs the same conversion. Send the feed from a scheduled job and get the PostgreSQL file back.

Explore the API
convert-product-feed.sh
curl -X POST "https://dataconverter.io/api/v1/convert/json-lines-to-postgresql" \  -H "Authorization: Bearer YOUR_TOKEN_HERE" \  -F "file=@fernwood-google-feed.jsonl" \  --output fernwood-google-feed.sql✓ 200 OK · fernwood-google-feed.sql · 452 products
Who it's for

Built for anyone who works with product feeds

Whoever has to check, share, or act on a feed, give them a sheet instead of raw XML.

E-commerce managers

Check the whole catalog in one sheet instead of clicking through the store admin.

Shopping ads specialists

Review the titles, prices, and identifiers behind your Shopping campaigns.

Feed managers & agencies

Open every client's feed the same way with a saved template.

Dropshippers & resellers

Turn a supplier's XML catalog into a sheet of SKUs, costs, and stock.

Merchandisers

Sort by category and brand to plan ranges and spot gaps.

Developers

Call the conversion API to turn feeds into spreadsheets in a scheduled job.

Set up once, reuse for every feed pull

Save your XML settings and data preparation steps as a template. Apply them to next week's feed without setting them up again.

Frequently asked questions

Which feeds does it read?

Google Merchant Center feeds in RSS 2.0 or Atom, the format Meta and Pinterest catalogs also accept, and supplier, dropship, or affiliate catalogs in their own XML.

What happens to the g: prefix and nested tags?

The prefix is dropped, so g:price becomes a price column. A tag that shares its name with a channel tag gets its parent's name in front, so g:title becomes item_title. Nested tags such as <g:shipping> become columns of their own on the product's row, and g:shipping/g:price becomes shipping_price.

Will GTINs keep their leading zeros?

Yes. Numbers that start with a zero are kept as text, so a GTIN like 00850012345008 isn't shortened.

Can I convert a feed straight from its URL?

Yes. Paste the feed URL on the From a URL tab instead of downloading the file first.