+    
+        
+            
+                
+                    
+                
+                
+                    
+                
+            
+            
+                
+            
+        
+    
+
+
+
+
+
\ No newline at end of file
diff --git a/src/tools/bip39-generator/index.ts b/src/tools/bip39-generator/index.ts
new file mode 100644
index 00000000..8f581d92
--- /dev/null
+++ b/src/tools/bip39-generator/index.ts
@@ -0,0 +1,11 @@
+import { AlignJustified } from '@vicons/tabler';
+import type { ITool } from '../Tool';
+
+export const tool: ITool = {
+  name: 'BIP39 passphrase generator',
+  path: '/bip39-generator',
+  description: 'Generate BIP39 passphrase from existing or random mnemonic, or get the mnemonic from the passphrase.',
+  keywords: ['BIP39', 'passphrase', 'generator', 'mnemonic', 'entropy'],
+  component: () => import('./bip39-generator.vue'),
+  icon: AlignJustified,
+};
diff --git a/src/tools/index.ts b/src/tools/index.ts
index a41a0ff5..5244f6cc 100644
--- a/src/tools/index.ts
+++ b/src/tools/index.ts
@@ -6,12 +6,13 @@ import { tool as hashText } from './hash-text';
 import { tool as uuidGenerator } from './uuid-generator';
 import { tool as romanNumeralConverter } from './roman-numeral-converter';
 import { tool as cypher } from './encryption';
+import { tool as bip39 } from './bip39-generator';
 
 export const toolsByCategory: ToolCategory[] = [
   {
     name: 'Crypto',
     icon: LockOpen,
-    components: [tokenGenerator, hashText, uuidGenerator, cypher],
+    components: [tokenGenerator, hashText, uuidGenerator, cypher, bip39],
   },
   {
     name: 'Converter',
diff --git a/vite.config.ts b/vite.config.ts
index db4edfd9..24cd4ea3 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,15 +1,18 @@
-import { fileURLToPath, URL } from 'url'
+import { fileURLToPath, URL } from 'url';
 
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
-import vueJsx from '@vitejs/plugin-vue-jsx'
+import { defineConfig } from 'vite';
+import vue from '@vitejs/plugin-vue';
+import vueJsx from '@vitejs/plugin-vue-jsx';
 
 // https://vitejs.dev/config/
 export default defineConfig({
   plugins: [vue(), vueJsx()],
+  define: {
+    global: {},
+  },
   resolve: {
     alias: {
-      '@': fileURLToPath(new URL('./src', import.meta.url))
-    }
-  }
-})
+      '@': fileURLToPath(new URL('./src', import.meta.url)),
+    },
+  },
+});