diff --git a/README.md b/README.md
index 29eefd711e..324b084155 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,7 @@ The aim of [npmx.dev](https://npmx.dev) is to provide a better browser for the n
- **Vulnerability warnings** – security advisories from the OSV database
- **Download statistics** – weekly download counts with sparkline charts
- **Install size** – total install size including dependencies
+- **Playground links** – quick access to StackBlitz, CodeSandbox, and other demo environments from READMEs
- **Infinite search** – auto-load additional search pages as you scroll
### User & org pages
@@ -62,6 +63,7 @@ The aim of [npmx.dev](https://npmx.dev) is to provide a better browser for the n
| JSR cross-reference | ❌ | ✅ |
| Vulnerability warnings | ✅ | ✅ |
| Download charts | ✅ | ✅ |
+| Playground links | ❌ | ✅ |
| Dependents list | ✅ | 🚧 |
| Package admin (access/owners) | ✅ | 🚧 |
| Org/team management | ✅ | 🚧 |
diff --git a/app/components/AppTooltip.vue b/app/components/AppTooltip.vue
new file mode 100644
index 0000000000..f402824edd
--- /dev/null
+++ b/app/components/AppTooltip.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
diff --git a/app/components/PackagePlaygrounds.vue b/app/components/PackagePlaygrounds.vue
new file mode 100644
index 0000000000..aa553183ec
--- /dev/null
+++ b/app/components/PackagePlaygrounds.vue
@@ -0,0 +1,191 @@
+
+
+
+
+
diff --git a/app/pages/[...package].vue b/app/pages/[...package].vue
index aad995fc96..8a94811293 100644
--- a/app/pages/[...package].vue
+++ b/app/pages/[...package].vue
@@ -1,6 +1,6 @@