Import CSV data directly into Neon Postgres.
Your users upload a spreadsheet. CSVbox maps their columns to your Neon database schema, validates every row, and writes clean data straight into your serverless PostgreSQL database. No intermediate API, no ETL layer, no manual imports.
- Validated data only
- Column mapping included
- SOC 2 Type II + GDPR
Neon is serverless PostgreSQL — fully compatible with every PostgreSQL client and framework, but with autoscaling, scale-to-zero, and database branching built in. If your SaaS runs on Neon, bulk data import from spreadsheets is a common user need that CSVbox solves without custom engineering.
Instead of building a pipeline to parse, validate, and insert spreadsheet data, configure a Neon destination in CSVbox. CSVbox handles parsing, column mapping, type coercion, and validation. Your Neon database gets clean rows — and because Neon scales to workload, it handles both small weekly imports and large one-time migrations without extra configuration.
- Use Neon's pooled connection string to handle concurrent import writes efficiently via the built-in pgBouncer connection pooler.
- Import into a Neon database branch to test your schema and validate data before writing to the production branch.
- Neon's scale-to-zero means idle databases incur no cost — CSVbox import traffic wakes the database automatically.
How It Works
- 1Connect your Neon database
In the CSVbox dashboard, add a PostgreSQL destination. Paste your Neon connection string — find it in the Neon console under your project → Connection Details. Use the pooled connection string (ending in -pooler.neon.tech) for better concurrency on larger imports.
- 2Map to your table
Select the target table. CSVbox reads your table's column definitions. Map each schema field to a table column, or let CSVbox auto-match by name.
- 3Choose insert or upsert
Select Insert (append all rows) or Upsert (insert or update based on a unique column — e.g., email or external ID). Neon supports PostgreSQL ON CONFLICT, so upserts behave identically to any other Postgres instance.
- 4Embed the importer
Add the CSVbox widget to your app. When users upload files, CSVbox validates their data and writes passing rows to your Neon table. Failed rows surface inline for correction.
Configuration Options
| Option | Description |
|---|---|
| Connection string | Neon connection string (pooled recommended for imports) |
| Target table | Select any table in the connected database |
| Write mode | Insert (append) or Upsert (insert/update on conflict) |
| Unique column | Column used for upsert conflict resolution |
| Column mapping | Map schema fields to table columns; rename or skip |
| Null handling | Empty cells → NULL or a default value |
| TLS | Enforced on all Neon connections by default |
Common Use Cases
New customers upload their existing contacts, accounts, or products at signup. Data lands directly in Neon, ready for your application to use immediately.
Help customers migrate from a previous tool by accepting their exported CSV and writing it directly to your Neon schema — no manual reformatting.
Use Neon's database branching to create a staging branch. Point a CSVbox destination at the branch connection string to test large import jobs in isolation before applying to the production branch.
Partners or vendors upload files on a schedule; validated rows are appended to your Neon tables automatically with no idle infrastructure cost between runs.
Frequently Asked Questions
Does CSVbox work with Neon's connection pooler (pgBouncer)?
Yes. Use the pooled connection string from your Neon project dashboard — the one ending in -pooler.neon.tech. Pooled connections handle concurrency better during large imports that write many rows in parallel.
Does CSVbox support Neon's free tier?
Yes. Neon's free tier supports a single project. CSVbox imports work against free-tier Neon databases. Note that free-tier projects scale to zero after inactivity — the first import after an idle period may have a brief cold-start delay (typically under one second).
Can I import into a Neon database branch?
Yes. Each Neon branch has its own connection string. Configure a separate CSVbox destination pointing at the branch connection string to test import schemas or seed data on an isolated branch before applying to production.
What happens when a row fails validation?
Failed rows are surfaced in the importer UI so the user can correct them inline. They do not reach your Neon database. Passing rows are inserted; failing rows are held for correction.
Does CSVbox store my Neon credentials?
Credentials are encrypted at rest using AES-256. CSVbox connects to your database only during import processing. If you require data to never touch CSVbox infrastructure, use the API/Webhook destination with Private Mode instead.