---
title: "Convert CSV to Oracle"
description: "Convert CSV files to SQL for Oracle in your browser: a CREATE TABLE with typed columns, then INSERT statements. Free, and your file is never uploaded."
canonical: https://intosql.com/csv-to-oracle
last_updated: 2026-10-15
---

# Convert CSV to Oracle

Drop your CSV file to get a Oracle script with CREATE TABLE and INSERT statements. Each column gets a type, and every fix is listed with its row and column.

## From CSV to Oracle, column by column

The sample above, ventas_2024.csv, as IntoSQL writes it for Oracle: what each column holds in the file, the type it gets and how its first value lands in the script.

| In the file | First value | Column | Oracle type | In the script |
| --- | --- | --- | --- | --- |
| Folio | `00412` | `folio` | `VARCHAR2(8 CHAR)` | `'00412'` |
| Cliente | `Peña Muñoz` | `cliente` | `VARCHAR2(16 CHAR)` | `'Peña Muñoz'` |
| Ciudad | `Mérida` | `ciudad` | `VARCHAR2(16 CHAR)` | `'Mérida'` |
| Fecha | `15/02/2024` | `fecha` | `DATE` | `DATE '2024-02-15'` |
| Importe | `1.234,50` | `importe` | `NUMBER(6,2)` | `1234.50` |
| Pagado | `sí` | `pagado` | `NUMBER(1)` | `1` |

## Load the script into Oracle

The download is a plain .sql file. Run it with Oracle's own tools.

### Oracle

```shell
sqlplus user@//localhost/mydb @ventas_2024.oracle.sql
```

The script turns off substitution variables (SET DEFINE OFF), so an ampersand in your data stays an ampersand. In SQL Developer, open the script and choose Run Script (F5).

## What IntoSQL reads in CSV files

- The encoding is detected, Windows-1252 and UTF-16 included, so accents and ñ arrive intact.
- The separator is detected: comma, semicolon, tab or vertical bar. With a semicolon, decimal commas like 1.234,50 are read as numbers.
- Quoted values can hold separators and line breaks.

## What to know about Oracle

- Yes and no values become NUMBER(1), holding 1 or 0, which every Oracle version accepts.
- Text is VARCHAR2 with a length in characters; over 4000 bytes it becomes CLOB. Oracle stores empty text as NULL.
- Rows are inserted with INSERT ALL, and long values are split so SQL*Plus accepts them.

### How each kind of value is stored in Oracle

| Value | Oracle |
| --- | --- |
| Yes and no | `NUMBER(1)` |
| Whole numbers | `NUMBER(10)` |
| Large whole numbers | `NUMBER(19)` |
| Decimals | `NUMBER(p,s)` |
| Floating-point numbers | `BINARY_DOUBLE` |
| Dates | `DATE` |
| Times of day | `INTERVAL DAY(0) TO SECOND` |
| Dates with a time | `TIMESTAMP` |
| Dates with a time and offset | `TIMESTAMP WITH TIME ZONE` |
| Text | `VARCHAR2(n CHAR) · CLOB` |

## Questions about CSV to Oracle

### How do I convert CSV to Oracle?

Drop your file on the converter at the top of this page. It finds the header, reads every value and writes the Oracle script, listing each fix it made. Download the script and run it with SQL*Plus.

### What if my CSV uses semicolons or tabs?

The separator is detected: comma, semicolon, tab or vertical bar. You can also set it under More options. With a semicolon, decimal commas such as 1.234,50 are read as numbers.

### Which Oracle types does it use?

Yes and no values become NUMBER(1), whole numbers NUMBER(10), decimals NUMBER(p,s), dates DATE, dates with a time TIMESTAMP and text VARCHAR2(n CHAR). Sizes come from the longest value in each column.

### Does it keep leading zeros in Oracle?

Yes. A code such as 00412 stays text, so Oracle stores it as VARCHAR2(8 CHAR) and the script writes it as '00412'.

### Can it load the data into Oracle without a script?

No. Download the script and run it with SQL*Plus. Loading without a script works for PostgreSQL, MySQL, MariaDB and SQLite, from the desktop app or the command line.

### How big can the CSV file be?

The browser reads a CSV as it streams in, so files of several gigabytes work. On an Apple M4 laptop the command line converts a 174 MB CSV of a million rows in under a second.

## CSV into other databases

- [Convert CSV to SQL](https://intosql.com/csv-to-sql)
- [Convert CSV to PostgreSQL](https://intosql.com/csv-to-postgresql)
- [Convert CSV to MySQL](https://intosql.com/csv-to-mysql)
- [Convert CSV to MariaDB](https://intosql.com/csv-to-mariadb)
- [Convert CSV to SQLite](https://intosql.com/csv-to-sqlite)
- [Convert CSV to SQL Server](https://intosql.com/csv-to-sql-server)

## Other files into Oracle

- [Convert Excel to Oracle](https://intosql.com/excel-to-oracle)
- [Convert JSON to Oracle](https://intosql.com/json-to-oracle)
