Skip to content

Turn Excel Into Clean JSON. Nested. Typed. Offline.

Sheet2JSON converts Excel and CSV files to developer-ready JSON on your own PC. Headers like customer.name become nested objects, not another flat dump. Nothing is uploaded.

  • Nested objects and arrays, straight from your headers
  • JSON-LD, NDJSON, JSON, CSV and more: 8 output formats
  • Your files never leave your PC

10 free conversions, everything unlocked. No credit card, no sign-up. Windows 10 & 11.

0
Files uploaded, ever
8
Output formats, incl. JSON-LD
Live preview
Check your JSON as you select
14 days
No-questions refund

Your headers describe the structure. Sheet2JSON builds it.

Every free converter dumps flat rows and leaves the real work to you. Put dots and brackets in your headers, and Sheet2JSON emits the JSON your code actually wants.

Your spreadsheet
idcustomer.namecustomer.citytags[0]tags[1]active
A-101Alpenglow GmbHKölnretaileuTRUE
A-102Cobalt RetailWienb2bFALSE
Sheet2JSON output, nested mode
[
  {
    "id": "A-101",
    "customer": {
      "name": "Alpenglow GmbH",
      "city": "Köln"
    },
    "tags": ["retail", "eu"],
    "active": true
  },
  …
]

Convert on your PC, not on someone's server

Web converters want your workbook uploaded first, and then hand back flat rows with the types guessed wrong. Sheet2JSON does the whole job on your own computer.

Free web converters
  • Your workbook goes to a server you do not control
  • Flat rows only: nesting is your problem
  • Types guessed wrong: ID 007 becomes the number 7
  • One small file at a time, one selected sheet
  • Copy, paste, repeat, for every single export
Sheet2JSON
  • Everything happens on your PC, offline
  • Nested objects and arrays from dot and bracket headers
  • Per-column types: 007 stays "007", TRUE becomes true
  • Combine worksheets in one file, or export a selected range
  • JSON-LD with your context, NDJSON for pipelines

What you need

A Windows PCWindows 10 or 11
Not even ExcelThe reader is built in. Files from Excel, LibreOffice, PlanMaker or Collabora all open without their apps installed
Not even an internet connectionIt converts offline. You only go online to activate a license

In and out

Every common spreadsheet format in, developer-ready data out. Or skip files entirely and paste copied cells from any spreadsheet app, Google Sheets included.

Opens
  • XLSX
  • XLSM
  • XLSB
  • XLS
  • ODS
  • CSV
  • TSV
  • TXT
  • Pasted cells

Multi-sheet workbooks, semicolon CSVs, UTF-16, cached formula results: all handled.

Produces
  • JSON objects
  • Nested JSON
  • JSON-LD
  • NDJSON
  • Arrays
  • Headers+rows
  • Cell map
  • CSV
  • TSV

Pretty or compact, copied to the clipboard or saved as a file.

Shapes
  • customer.name
  • tags[0]
  • camelCase
  • snake_case
  • Text
  • Number
  • Boolean
  • Date

Nesting from headers, key transforms, and per-column type control.

What you can do

The Orders sheet with customer.name, customer.city, customer.country, items[0] and items[1] headers marked, and the preview next to it showing customer as an object with name, city and country inside it, and items as an array.
Nested

Nested JSON from your headers

Turn on Nested objects and headers like customer.name and tags[0] become real structure: objects inside objects, arrays with the blanks trimmed. The sample workbook shows it in one click.

C1 to F7 drag-selected in the Sheet2JSON grid, and the preview holding only those four columns: customer.name, customer.city, customer.country and items[0].
Selection

Select exactly what you need

Your data appears in an Excel-style grid. Export a selected range, or choose Combine worksheets into one file and check the tabs you need. Combined exports include the full used range of each checked sheet.

Output format set to NDJSON: one object per line, and the preview below it holding 12 rows as 12 compact one-line objects, with the Copy NDJSON button under them.
NDJSON

NDJSON for data pipelines

One compact object per line: the format bulk-import endpoints, log tools and streaming pipelines expect. Nested mode works here too.

Output format set to JSON-LD: linked data, with the context https://schema.org and the default record type Order, next to the preview opening with @context and @graph.
JSON-LD

JSON-LD for linked data

Point it at your own context and name a default record type, and every row comes out as a node in an @graph. An @id column identifies a record, an @type column overrides the default. Context URLs are saved, never fetched.

JSON keys set to camelCase and the Column types list with order_id forced to Text, next to the preview where the key reads orderId and customer.name reads customerName.
Types & keys

Types and keys, your way

Force a column to Text so IDs keep their leading zeros, or to Number, Boolean or ISO Date. Rewrite keys to camelCase or snake_case so the output drops straight into your codebase.

The Sheet2JSON toolbar with Paste data marked and the file chip reading Pasted data, a pasted stock table in the grid below it, and the app confirming: Pasted 6 rows.
Paste

Paste cells straight from a spreadsheet

No file needed. Copy a range in Excel, Google Sheets or anywhere else, press Ctrl+V, and you get the same grid, the same options and the same JSON.

Your files never leave your PC

Most converters are websites: you upload the payroll workbook and hope. Sheet2JSON is a program on your computer. There is no upload, because there is no server.

  • Nothing is uploadedEvery conversion runs on your computer. Not even I can see your files.
  • No account, no trackingInstall it and use it. The free conversions need no sign-up, and the free tier makes no network requests at all.
  • Works with the cable pulledConvert offline if you like. The app only goes online to validate a license key, and that request never contains your data.
A blue shield with a check mark

What people convert for

JSON is the format your code, your API and your tools speak. The data, though, keeps arriving as spreadsheets. Sheet2JSON is the bridge, without a script and without an upload.

Seed data and fixturesReference tables, test fixtures and demo content, shaped like your models thanks to nested mode.
Config and contentProduct catalogs, translations, settings: maintained by the team in a sheet, consumed by the app as JSON.
Pipelines and importsNDJSON goes straight into bulk-import endpoints, log tooling and streaming jobs, one object per line.
"Can you send that as JSON?"When the developer asks, you answer in a minute, with the keys and types they wanted, not a mangled export.

Honest feedback from real users

★★★★★

Responsive and open to feedback

“Impressed with both the products and the support. Very responsive to questions and open to improvement suggestions. I've purchased several tools and been happy with all of them.”

John

See review
★★★★★

Fantastic support

“Had a question and got a helpful reply within hours. Really solid support. Highly recommend.”

Gary S.

See review
★★★★★

An awesome program and creator

“Not only does the developer respond directly to your questions, he actually acts on them. I made a feature request and it was implemented the next day. That kind of dedication is rare.”

Pay once, use it forever

Try it free on your own files. When you want more, one payment unlocks unlimited conversions. No subscription, ever.

Free
$0
to try it on your own files
  • 10 conversions, everything unlocked
  • JSON-LD, combined sheets, NDJSON, nested objects
  • All formats, any file size
  • No account, no sign-up
  • Updates through the Store
Download from the Microsoft Store
Most popular
Single User
$29
once, yours forever
  • Unlimited conversions
  • JSON-LD, combined sheets, NDJSON, nested objects
  • All formats, any file size
  • 1 user, up to 3 PCs
  • All future updates, priority support
Get Single User
Team
$99
once, for the whole team
  • Unlimited conversions
  • JSON-LD, combined sheets, NDJSON, nested objects
  • All formats, any file size
  • Up to 15 users
  • All future updates, priority support
Get Team

14-day refund, no questions asked. If it is not for you, email me and you get your money back.

Frequently asked questions

Yes. Choose Combine worksheets into one file, check the sheets you need, and save. JSON groups each sheet under its name; NDJSON includes a sheet name and data object on each line. Each sheet keeps its own headers. Combined exports use automatic column types. This combines tabs in one workbook, not separate Excel files, and does not infer relationships between records.
Yes. Select JSON-LD: linked data, supply the context your service expects, and optionally set a default record type. An @id column identifies records; an @type column can set a type per row. Combined worksheets become named graphs. Context URLs are included without being fetched. JSON-LD does not guarantee that an AI service accepts the file or reads every record: check its schema, graph support and upload limits. See the combined export and JSON-LD guide.
Yes. Every install includes 10 free conversions with everything unlocked, nested mode and NDJSON included, so you can try the real app on your own files before paying. Install it from the Microsoft Store and enter a license key whenever you are ready. For a quick one-off file there is also a free online converter on this site, one small file at a time.
Name your columns the way you want the JSON shaped: customer.name and customer.city become a nested customer object, tags[0] and tags[1] become a tags array, and you can combine them as deep as you need (a.b[2].c). Ordinary headers stay ordinary flat keys, so you can mix freely. The nested mode guide walks through it.
In: XLSX, XLSM, XLSB, XLS, ODS, CSV, TSV and TXT, or cells pasted from any spreadsheet app, Google Sheets included. Out: JSON objects (flat or nested), JSON-LD, NDJSON, rows as arrays, headers + rows, an A1 cell map, plus CSV and TSV. Multi-sheet workbooks, semicolon CSVs and UTF-16 files all work.
Yes to both. Sheet2JSON runs entirely on your computer: no file is uploaded and no internet connection is needed to convert. The only request the app ever makes is validating a license key, which sends the key and a device name to my server and nothing else. On the free tier it makes no network requests at all. Details in the privacy policy.
Yes: set that column's type to Text and 007 stays "007". The same panel forces Number, Boolean (TRUE/yes/1 become real booleans) or ISO Date per column, and the coercion is deliberately lenient: a value that does not parse keeps its original value instead of silently becoming null.
Sheet2JSON has no fixed file-size, row or cell limit, so exports retain every loaded row. Available memory determines how large a workbook your PC can handle. The preview may shorten long output for display; Copy and Save use the full result. The free browser tool still limits input files to 5 MB.
No. The spreadsheet reader is built into the app, so files from Excel, LibreOffice, OpenOffice, SoftMaker PlanMaker or Collabora Office open without any of those installed. Formula cells show their last calculated value.
No. Sheet2JSON needs Windows 10 or 11. It does run inside a Windows virtual machine on a Mac (Parallels, VMware Fusion, UTM). For single files on any device, the free online converter works in the browser.
A Single User license covers up to 3 of your own PCs, for example a desktop, a laptop and a work machine. The Team license covers 15 users with one key. You manage your devices yourself in your account. Need more seats? Email me.
For five rows, go ahead. For anything real it gets in the way: you upload your data to a third party, long tables get truncated or silently rewritten, numbers come back subtly wrong, and you re-do the upload for every change. Sheet2JSON is deterministic: the same file produces the same JSON every time, locally, with types you chose.
Web tools are fine for a small one-off file, which is why I run one myself. The desktop app earns its keep the moment your data is confidential (nothing is uploaded), big (no size cap), repeated (load, select, copy), or when you need shape: nested objects, NDJSON, per-column types and key transforms are things a stateless web page does not do.
The documentation covers every option, the app's About dialog links straight to support, and you can always email sven@pythonandvba.com. I reply myself, usually within 24 hours.
Yes, 14 days, no questions asked. Email me at sven@pythonandvba.com.
Sven Bosau

Still have a question?

I’m Sven, the developer, and I usually reply within a day.

Please enter your first name.

Please enter a valid email address.

Please write a little more (at least 10 characters).

Your email is only used to reply. No newsletter.

Get clean JSON in a minute

Nothing to configure. Drop a file, select a range, copy JSON. 10 conversions on the house.

Try Sheet2JSON for free

Desktop apps, Excel add-ins, and free tools for everyday work.

Stay Updated

Get new tool updates and exclusive deals.