Cast Column Types in JSON Files Online
Change column data types in JSON files directly in your browser. Cast text to numbers, dates to timestamps, or any supported type conversion — no upload required.
How to cast Column Types in JSON files
- Drop your file. Every column is listed with its current type, and each one starts at Keep original.
- For each column you want to change, pick a target type: VARCHAR, INTEGER, BIGINT, FLOAT, DOUBLE, BOOLEAN, DATE or TIMESTAMP.
- Click Apply Casts. The button stays disabled until at least one column has a new type.
- Check the preview for new empty cells. A value that cannot be converted becomes NULL instead of stopping the run.
- Download the result in the same format. Column names and order stay the same.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Worked example
A property portal's listing feed arrives with loose types. Prices include "POA" (price on application), bathrooms were written as decimals, and the garage flag is free text. An analyst needs clean numbers and a true/false column before building a price model.
Input (JSON)
[
{
"listing_id": "L-3301",
"price": "485000",
"bathrooms": 1,
"has_garage": "yes"
},
{
"listing_id": "L-3302",
"price": "POA",
"bathrooms": 2,
"has_garage": "no"
},
{
"listing_id": "L-3303",
"price": "612500",
"bathrooms": 1.5,
"has_garage": "Y"
},
{
"listing_id": "L-3304",
"price": "349000",
"bathrooms": 2.75,
"has_garage": "n/a"
}
]Settings
- listing_id: Keep original
- price: INTEGER
- bathrooms: INTEGER
- has_garage: BOOLEAN
Result
| listing_id | price | bathrooms | has_garage |
|---|---|---|---|
| L-3301 | 485000 | 1 | true |
| L-3302 | NULL | 2 | false |
| L-3303 | 612500 | 2 | true |
| L-3304 | 349000 | 3 | NULL |
"POA" is not a number, so that price becomes NULL. Casting a decimal to INTEGER rounds to the nearest whole number, so 1.5 becomes 2 and 2.75 becomes 3. That loses real information here, and DOUBLE would be the better choice for bathrooms. The BOOLEAN cast understands yes, no and Y, but "n/a" becomes NULL.
Working with JSON files
JSON already has numbers, booleans and strings, and each key gets its type from its values. Casting is most useful when an API sends numbers as strings, as in "price": "19.99". Casting that key to DOUBLE writes it back as a JSON number, 19.99, without quotes. A key whose values are of mixed kinds loads with the type JSON. Casting it to a number type converts both numbers and numeric strings, and gives null for the rest.
Watch one trap with that JSON type. Casting it to VARCHAR keeps the JSON quote marks, so the string PAY-2 becomes "PAY-2" with the quotes inside the value. Casting to DATE or TIMESTAMP does not create a date in the output, because JSON has none. The values are written as strings like "2026-09-14". A failed cast or a missing key shows up as null in every object of the output array.
Frequently Asked Questions
How do I turn string numbers like "19.99" into real JSON numbers?
Set the key to DOUBLE, or INTEGER for whole numbers, and apply. The downloaded JSON writes the values without quotes. Anything that is not a number becomes null.
Why do some cast JSON values have quote marks inside them?
The key had mixed value kinds and loaded as the JSON type. Casting JSON to VARCHAR keeps the original JSON text, including quotes around strings. Remove them afterwards with Find and Replace.
What happens to values that do not fit the new type?
They become NULL. Every changed column is converted with TRY_CAST, so one bad value never stops the run. It also fails silently. Compare null counts before and after, for example with the Validate structure tool, to see how many values were lost.
Does casting a decimal to INTEGER round or truncate?
It rounds to the nearest whole number, so 2.75 becomes 3 and 1.25 becomes 1. Exact halves may round to the even neighbour, so do not rely on how 2.5 is handled. Values above 2,147,483,647 become NULL. Use BIGINT for large IDs.
Which text values become true or false with BOOLEAN?
true, false, t, f, yes, no, y, n, 1 and 0, in any letter case. Anything else, such as "on", "open" or "n/a", becomes NULL.
Related Tools
Fill Empty Values in JSON Files Online
Fill empty and null values in JSON files with a custom replacement value, directly in your browser.
Validate JSON Files Online
Validate JSON file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Aggregate JSON Files Online
Group and aggregate JSON files by any column directly in your browser. Calculate sum, average, min, max, and count for any numeric column — no upload required.
Cast Column Types in CSV Files Online
Change column data types in CSV files directly in your browser. Cast text to numbers, dates to timestamps, or any supported type conversion — no upload required.
Cast Column Types in Excel Files Online
Change column data types in Excel files directly in your browser. Cast text to numbers, dates to timestamps, or any supported type conversion — no upload required.
Cast Column Types in Parquet Files Online
Change column data types in Parquet files directly in your browser. Cast text to numbers, dates to timestamps, or any supported type conversion — no upload required.
JSON Viewer Online
View and inspect JSON files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert JSON to Parquet Online
Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.