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.
How to cast Column Types in CSV 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 (CSV)
listing_id,price,bathrooms,has_garage
L-3301,485000,1,yes
L-3302,POA,2,no
L-3303,612500,1.5,Y
L-3304,349000,2.75,n/aSettings
- 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 CSV files
A CSV stores no types, so the Current type column shows the reader's guesses, and a cast is how you override a wrong one. A price column with a single "POA" is guessed as VARCHAR, and casting it to INTEGER gives numbers for every real price. Leading zeros are not at risk from the guess: the reader keeps values like 0042 as text. If a column was loaded as BIGINT, the source never had leading zeros in that form, and casting to VARCHAR gives plain text like "42".
The downloaded file is plain text again, so the new types are not stored in it. What changes is the text written for each value. A DOUBLE cast of "7.50" is written as 7.5, a BOOLEAN as true or false, and a failed cast as an empty field. The next program that opens the CSV guesses the types again. Because the values are now clean, its guess will usually match your casts.
Frequently Asked Questions
If a CSV has no types, why cast at all?
To clean the values. Casting price to INTEGER turns "POA" into an empty field and leaves only whole numbers, so the next program sees a clean numeric column. It also shows you which values are bad before you load the file into a database.
How do I cast a CSV column of DD/MM/YYYY dates to DATE?
First check the current type. The reader often recognises such columns as DATE already. If it shows VARCHAR, a DATE cast would give NULL because it only reads YYYY-MM-DD. Use Parse Dates with the EU date input and date-only output, then cast that column to DATE.
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 CSV Files Online
Fill empty and null values in CSV files with a custom replacement value, directly in your browser.
Validate CSV Files Online
Validate CSV file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Aggregate CSV Files Online
Group and aggregate CSV 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 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.
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.
CSV Viewer Online
View and inspect CSV files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert CSV to Parquet Online
Convert CSV files to Parquet format directly in your browser. No upload required — your data never leaves your device.