Before diving into the technical details and inevitable frustrations covered in the following sections, let's start with what makes this tool worth your time despite its quirks.
If you're tired of debugging with 47 console.log
statements scattered around your components like breadcrumbs, this extension will save your sanity. It's the official DevTools extension from the Svelte team, so at least it's not some random person's side project that gets abandoned. Similar to React DevTools or Vue DevTools, but actually designed for Svelte's unique approach to reactivity.
Install it, restart your browser (because of course you have to restart), and you get a "Svelte" tab in DevTools. Only shows up in dev mode though - production builds strip all the debug info because nobody wants their component internals exposed to the world.
What You Get
Left panel shows your component tree. Click any component to see props and state on the right. You can edit values directly - strings, numbers, booleans all work. Arrays and objects expand, which is nice until you accidentally click on a massive data structure and crash your browser tab.
Element inspector lets you click stuff on your page and jump to that component. Works great until you have a {#each}
block with 500 items - then it just gives up and highlights random shit three components away. The element inspector once confidently selected a navigation menu when I clicked on a form button. Real helpful.
State editing happens instantly, which is both a blessing and a curse. Component not updating? Change a prop value and see if it's your reactivity logic or just broken code. This saved me 3 hours of console.log
hell when I couldn't figure out why my form validation kept failing - turns out the parent component wasn't passing the updated prop down like I assumed. Would've taken forever to track down without seeing the actual state values. Much better than traditional debugging techniques or relying on console methods alone.
SvelteKit Just Works
Run npm run dev
and it works. No config bullshit needed. Compatible with most Vite setups, which is a miracle considering how many ways Vite configs can break.
The catch: dev mode only. Your app needs dev: true
in compiler options or you get nothing. Production builds strip all the debug info to keep bundle sizes reasonable.
Current Version and Compatibility Hell
Latest version is from early 2024. Works perfectly with Svelte 4.x. Svelte 5 support is "experimental" which means it'll work great in demos and break spectacularly when you need it most.
Requires newer Chrome or Firefox because they rewrote the whole thing for Manifest V3. If you're still using Chrome 85 from 2020, you're shit out of luck.
Maintained by ignatiusmb under the official Svelte org, so at least someone gives a damn about keeping it updated. The project follows semantic versioning and has proper release notes for each update.
Now that you know what this extension promises to do, let's explore the specific features and where they inevitably break down in real-world usage...