--- title: Connect a Sveltekit application to Neon subtitle: Set up a Neon project in seconds and connect from a Sveltekit application enableTableOfContents: true updatedOn: '2025-10-31T11:07:57.609Z' --- Sveltekit is a modern JavaScript framework that compiles your code to tiny, framework-less vanilla JS. This guide explains how to connect Sveltekit with Neon using a secure server-side request. To create a Neon project and access it from a Sveltekit application: ## Create a Neon project If you do not have one already, create a Neon project. Save your connection details including your password. They are required when defining connection settings. 1. Navigate to the [Projects](https://console.neon.tech/app/projects) page in the Neon Console. 2. Click **New Project**. 3. Specify your project settings and click **Create Project**. ## Create a Sveltekit project and add dependencies 1. Create a Sveltekit project using the following commands: ```shell npx sv create my-app --template minimal --no-add-ons --types ts cd my-app ``` 2. Add project dependencies using one of the following commands: ```shell npm install pg dotenv ``` ```shell npm install postgres dotenv ``` ```shell npm install @neondatabase/serverless dotenv ``` ## Store your Neon credentials Add a `.env` file to your project directory and add your Neon connection string to it. You can find the connection string for your database by clicking the **Connect** button on your **Project Dashboard**. For more information, see [Connect from any application](/docs/connect/connect-from-any-app). ```shell shouldWrap DATABASE_URL="postgresql://:@.neon.tech:/?sslmode=require&channel_binding=require" ``` ## Configure the Postgres client There are two parts to connecting a SvelteKit application to Neon. The first is `db.server.ts`, which contains the database configuration. The second is the server-side route where the connection to the database will be used. ### db.server Create a `db.server.ts` file at the root of your `/src` directory and add the following code snippet to connect to your Neon database: ```typescript import 'dotenv/config'; import pg from 'pg'; const connectionString: string = process.env.DATABASE_URL as string; const pool = new pg.Pool({ connectionString, ssl: true, }); export { pool }; ``` ```typescript import 'dotenv/config'; import postgres from 'postgres'; const connectionString: string = process.env.DATABASE_URL as string; const sql = postgres(connectionString, { ssl: 'require' }); export { sql }; ``` ```typescript import 'dotenv/config'; import { neon } from '@neondatabase/serverless'; const connectionString: string = process.env.DATABASE_URL as string; const sql = neon(connectionString); export { sql }; ``` ### route Create a `+page.server.ts` file in your route directory and import the database configuration: ```typescript import { pool } from '../db.server'; export async function load() { const client = await pool.connect(); try { const { rows } = await client.query('SELECT version()'); const { version } = rows[0]; return { version, }; } finally { client.release(); } } ``` ```typescript import { sql } from '../db.server'; export async function load() { const response = await sql`SELECT version()`; const { version } = response[0]; return { version, }; } ``` ```typescript import { sql } from '../db.server'; export async function load() { const response = await sql`SELECT version()`; const { version } = response[0]; return { version, }; } ``` ### Page Component Create a `+page.svelte` file to display the data: ```svelte

Database Version

{data.version}

``` ## Run the app When you run `npm run dev` you can expect to see the following on [localhost:5173](localhost:5173): ```shell shouldWrap Database Version PostgreSQL 17.2 on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit ```
## Source code You can find the source code for the application described in this guide on GitHub. Get started with Sveltekit and Neon