Online Svelte playground with live preview, reactive components, and Svelte syntax. Build and test Svelte applications directly in your browser.
About Svelte
Online Svelte playground with live preview, reactive components, and Svelte syntax. Build and test Svelte applications directly in your browser.
Runtime: v5.56.8
Features
Svelte Components
Reactive Statements
Template Syntax
Live Preview
Event Handling
State Management
Svelte Stores
Browser playground limits
• Code runs in a sandboxed browser preview, without Node.js, a backend, or private environment variables.
• The Console prompt can inspect browser globals and the rendered DOM, but not variables scoped inside ES modules or component state.
• Download the project when you need build plugins, server APIs, native modules, or a production dependency workflow.
How to use the Svelte playground
Edit a source file from the project explorer — the live preview recompiles automatically.
Add, rename, duplicate or delete project files as needed. Update affected imports after renaming or moving a file.
Use the console for logs and errors, and Format to tidy the active file.
Share the complete project or download a Vite project ZIP with its source files and package.json.
Execution
Run code
Ctrl / ⌘+Enter
Save & run
Ctrl / ⌘+S
Editing
Undo
Ctrl / ⌘+Z
Redo
Ctrl / ⌘+Shift+Z
Select next occurrence
Ctrl / ⌘+D
Delete line
Ctrl / ⌘+Shift+K
Move line up / down
Alt+↑ / ↓
Copy line up / down
Alt+Shift+↑ / ↓
Toggle comment
Ctrl / ⌘+/
Indent line
Ctrl / ⌘+]
Outdent line
Ctrl / ⌘+[
Navigation
Find
Ctrl / ⌘+F
Find & replace
Ctrl / ⌘+H
Go to line
Ctrl / ⌘+G
Go to symbol
Ctrl / ⌘+Shift+O
Selection
Select all
Ctrl / ⌘+A
Select line
Ctrl / ⌘+L
Select all occurrences
Ctrl / ⌘+Shift+L
Terminal
Interrupt / kill process
Ctrl+C
Send EOF (close stdin)
Ctrl+D
Console shortcuts
Press Enter to evaluate, ↑ and ↓ to browse command history, and Ctrl/⌘ + L to clear the console.
src/main.ts
import { mount } from 'svelte'
import App from './App.svelte'
import './styles.css'
const target = document.getElementById('app')
if (!target) {
throw new Error('App target was not found')
}
mount(App, { target })