diff --git a/.changeset/custom-extension-cli.md b/.changeset/custom-extension-cli.md
new file mode 100644
index 0000000000..fe32ceba9a
--- /dev/null
+++ b/.changeset/custom-extension-cli.md
@@ -0,0 +1,5 @@
+---
+"react-email": minor
+---
+
+Enable custom export extensions via --extension/-e (e.g. .blade.php).
diff --git a/apps/docs/cli.mdx b/apps/docs/cli.mdx
index 1651ca0342..7590eaaace 100644
--- a/apps/docs/cli.mdx
+++ b/apps/docs/cli.mdx
@@ -190,6 +190,10 @@ Generates the plain HTML files of your emails into a `out` directory.
 
   Change the directory of your email templates.
 
+
+  Set a custom file extension for rendered templates (for example, `blade.php`). When omitted,
+  the extension defaults to `.html`, or `.txt` when `--plainText` is enabled.
+
 
 ## `email help `
 
diff --git a/packages/react-email/src/commands/export.ts b/packages/react-email/src/commands/export.ts
index 1086bd4adf..b77be35935 100644
--- a/packages/react-email/src/commands/export.ts
+++ b/packages/react-email/src/commands/export.ts
@@ -30,6 +30,7 @@ const getEmailTemplatesFromDirectory = (emailDirectory: EmailsDirectory) => {
 };
 
 type ExportTemplatesOptions = Options & {
+  extension?: string;
   silent?: boolean;
   pretty?: boolean;
 };
@@ -115,6 +116,15 @@ export const exportTemplates = async (
     },
   );
 
+  const extension =
+    options.extension && options.extension.length > 0
+      ? options.extension.startsWith('.')
+        ? options.extension
+        : `.${options.extension}`
+      : options.plainText
+        ? '.txt'
+        : '.html';
+
   for await (const template of allBuiltTemplates) {
     try {
       if (spinner) {
@@ -134,10 +144,7 @@ export const exportTemplates = async (
         emailModule.reactEmailCreateReactElement(emailModule.default, {}),
         options,
       );
-      const htmlPath = template.replace(
-        '.cjs',
-        options.plainText ? '.txt' : '.html',
-      );
+      const htmlPath = template.replace('.cjs', extension);
       writeFileSync(htmlPath, rendered);
       unlinkSync(template);
     } catch (exception) {
diff --git a/packages/react-email/src/commands/testing/__snapshots__/export.spec.ts.snap b/packages/react-email/src/commands/testing/__snapshots__/export.spec.ts.snap
index 615acfb5ad..9304056de9 100644
--- a/packages/react-email/src/commands/testing/__snapshots__/export.spec.ts.snap
+++ b/packages/react-email/src/commands/testing/__snapshots__/export.spec.ts.snap
@@ -195,3 +195,199 @@ exports[`email export 1`] = `