diff --git a/.changeset/refresh-react-workers-template.md b/.changeset/refresh-react-workers-template.md
new file mode 100644
index 0000000000..f42160ff72
--- /dev/null
+++ b/.changeset/refresh-react-workers-template.md
@@ -0,0 +1,7 @@
+---
+"create-cloudflare": patch
+---
+
+Update the design of the React Workers starter
+
+The React Workers template now follows the latest Vite React starter more closely, so new projects get the refreshed upstream design alongside the existing Cloudflare integration.
diff --git a/packages/create-cloudflare/templates/react/workers/js/src/App.css b/packages/create-cloudflare/templates/react/workers/js/src/App.css
deleted file mode 100644
index 01a4f02c04..0000000000
--- a/packages/create-cloudflare/templates/react/workers/js/src/App.css
+++ /dev/null
@@ -1,45 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-.logo.cloudflare:hover {
- filter: drop-shadow(0 0 2em #f6821faa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/packages/create-cloudflare/templates/react/workers/js/src/App.jsx b/packages/create-cloudflare/templates/react/workers/js/src/App.jsx
index deedc123fc..b9b575532a 100644
--- a/packages/create-cloudflare/templates/react/workers/js/src/App.jsx
+++ b/packages/create-cloudflare/templates/react/workers/js/src/App.jsx
@@ -1,7 +1,8 @@
import { useState } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from './assets/vite.svg'
-import cloudflareLogo from './assets/Cloudflare_Logo.svg'
+import cloudflareLogo from './assets/cloudflare.svg'
+import heroImg from './assets/hero.png'
import './App.css'
function App() {
@@ -10,47 +11,136 @@ function App() {
return (
<>
-
- Vite + React + Cloudflare
-
-
-
- Edit src/App.tsx and save to test HMR
-
-
-
-
-
- Edit worker/index.js to change the name
-
-
-
- Click on the Vite and React logos to learn more
-
+
+
+
+
Get started with Cloudflare
+
+ Edit src/App.jsx or worker/index.js and save to test HMR
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
Documentation
+
Your questions, answered
+
+
+
+
+
Connect with us
+
Join the Vite community
+
+
+
+
+
+
>
)
}
diff --git a/packages/create-cloudflare/templates/react/workers/js/src/assets/Cloudflare_Logo.svg b/packages/create-cloudflare/templates/react/workers/js/src/assets/Cloudflare_Logo.svg
deleted file mode 100644
index 1754d4bbc3..0000000000
--- a/packages/create-cloudflare/templates/react/workers/js/src/assets/Cloudflare_Logo.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/packages/create-cloudflare/templates/react/workers/js/src/assets/cloudflare.svg b/packages/create-cloudflare/templates/react/workers/js/src/assets/cloudflare.svg
new file mode 100644
index 0000000000..d375872450
--- /dev/null
+++ b/packages/create-cloudflare/templates/react/workers/js/src/assets/cloudflare.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/create-cloudflare/templates/react/workers/ts/src/App.css b/packages/create-cloudflare/templates/react/workers/ts/src/App.css
deleted file mode 100644
index 01a4f02c04..0000000000
--- a/packages/create-cloudflare/templates/react/workers/ts/src/App.css
+++ /dev/null
@@ -1,45 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-.logo.cloudflare:hover {
- filter: drop-shadow(0 0 2em #f6821faa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/packages/create-cloudflare/templates/react/workers/ts/src/App.tsx b/packages/create-cloudflare/templates/react/workers/ts/src/App.tsx
index 693e8231e3..229efb42f6 100644
--- a/packages/create-cloudflare/templates/react/workers/ts/src/App.tsx
+++ b/packages/create-cloudflare/templates/react/workers/ts/src/App.tsx
@@ -1,7 +1,8 @@
import { useState } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from './assets/vite.svg'
-import cloudflareLogo from './assets/Cloudflare_Logo.svg'
+import cloudflareLogo from './assets/cloudflare.svg'
+import heroImg from './assets/hero.png'
import './App.css'
function App() {
@@ -10,47 +11,136 @@ function App() {
return (
<>
-
- Vite + React + Cloudflare
-
-
-
- Edit src/App.tsx and save to test HMR
-
-
-
-
-
- Edit worker/index.ts to change the name
-
-
-
- Click on the Vite and React logos to learn more
-
+
+
+
+
Get started with Cloudflare
+
+ Edit src/App.tsx or worker/index.ts and save to test HMR
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
Documentation
+
Your questions, answered
+
+
+
+
+
Connect with us
+
Join the Vite community
+
+
+
+
+
+
>
)
}
diff --git a/packages/create-cloudflare/templates/react/workers/ts/src/assets/Cloudflare_Logo.svg b/packages/create-cloudflare/templates/react/workers/ts/src/assets/Cloudflare_Logo.svg
deleted file mode 100644
index 3bb7ac015c..0000000000
--- a/packages/create-cloudflare/templates/react/workers/ts/src/assets/Cloudflare_Logo.svg
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/packages/create-cloudflare/templates/react/workers/ts/src/assets/cloudflare.svg b/packages/create-cloudflare/templates/react/workers/ts/src/assets/cloudflare.svg
new file mode 100644
index 0000000000..d375872450
--- /dev/null
+++ b/packages/create-cloudflare/templates/react/workers/ts/src/assets/cloudflare.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
Connect with us
+Join the Vite community
++-
+
+
+ GitHub
+
+
+ -
+
+
+ Discord
+
+
+ -
+
+
+ X.com
+
+
+ -
+
+
+ Bluesky
+
+
+
+