🍽️ Restaurant Menu Creator

Create professional restaurant menus with ease

📝 Menu Information

Click to upload logo

🎨 Design Customization

⚡ Quick Templates

🍝 Italian
🍣 Japanese
🍔 American
🌮 Mexican

💾 Import/Export

📥 Import Menu

➕ Add Menu Item

Upload
Bella Vista Restaurant
Authentic Italian Cuisine
${menuHTML} `); printWindow.document.close(); printWindow.print(); } // Load template function function loadTemplate(type) { const templates = { italian: { restaurantName: "Bella Vista Ristorante", subtitle: "Authentic Italian Cuisine", primaryColor: "#8B4513", categories: { appetizers: [ { name: "Bruschetta Classica", description: "Toasted bread with tomatoes, garlic, and basil", price: 12.99, dietary: ["vegetarian"] }, { name: "Antipasto Misto", description: "Mixed Italian appetizers with cured meats and cheeses", price: 18.99, dietary: [] } ], mains: [ { name: "Chicken Parmigiana", description: "Breaded chicken breast with marinara and mozzarella", price: 24.99, dietary: [] }, { name: "Veal Marsala", description: "Tender veal in mushroom marsala wine sauce", price: 28.99, dietary: [] } ], pasta: [ { name: "Spaghetti Carbonara", description: "Classic Roman pasta with eggs, cheese, and pancetta", price: 19.99, dietary: [] }, { name: "Fettuccine Alfredo", description: "Fresh pasta in creamy parmesan sauce", price: 17.99, dietary: ["vegetarian"] } ] } }, japanese: { restaurantName: "Sakura Sushi House", subtitle: "Traditional Japanese Cuisine", primaryColor: "#DC143C", categories: { appetizers: [ { name: "Edamame", description: "Steamed young soybeans with sea salt", price: 6.99, dietary: ["vegetarian", "gluten-free"] }, { name: "Gyoza", description: "Pan-fried pork dumplings with ponzu sauce", price: 9.99, dietary: [] } ], mains: [ { name: "Chirashi Bowl", description: "Assorted sashimi over seasoned sushi rice", price: 24.99, dietary: ["gluten-free"] }, { name: "Teriyaki Salmon", description: "Grilled salmon with teriyaki glaze and vegetables", price: 22.99, dietary: ["gluten-free"] } ] } }, american: { restaurantName: "All-American Grill", subtitle: "Classic American Comfort Food", primaryColor: "#B22222", categories: { appetizers: [ { name: "Buffalo Wings", description: "Crispy chicken wings with buffalo sauce and ranch", price: 12.99, dietary: ["spicy"] }, { name: "Loaded Nachos", description: "Tortilla chips with cheese, jalapeños, and sour cream", price: 14.99, dietary: ["vegetarian"] } ], mains: [ { name: "Classic Cheeseburger", description: "Beef patty with cheese, lettuce, tomato, and fries", price: 16.99, dietary: [] }, { name: "BBQ Ribs", description: "Slow-cooked pork ribs with house BBQ sauce", price: 24.99, dietary: [] } ] } }, mexican: { restaurantName: "Casa Miguel", subtitle: "Authentic Mexican Flavors", primaryColor: "#228B22", categories: { appetizers: [ { name: "Guacamole & Chips", description: "Fresh avocado dip with lime and cilantro", price: 9.99, dietary: ["vegetarian", "gluten-free"] }, { name: "Queso Fundido", description: "Melted cheese with chorizo and tortillas", price: 11.99, dietary: [] } ], mains: [ { name: "Carne Asada", description: "Grilled steak with rice, beans, and tortillas", price: 22.99, dietary: ["gluten-free"] }, { name: "Chicken Enchiladas", description: "Rolled tortillas with chicken and green sauce", price: 18.99, dietary: [] } ] } } }; if (templates[type]) { menuData = { ...menuData, ...templates[type] }; updateFormFields(); renderMenu(); } } // Update form fields when loading data function updateFormFields() { document.getElementById('restaurantName').value = menuData.restaurantName; document.getElementById('menuSubtitle').value = menuData.subtitle; document.getElementById('primaryColor').value = menuData.primaryColor; document.getElementById('menuLayout').value = menuData.layout || 'classic'; document.getElementById('currency').value = menuData.currency || '$'; document.getElementById('menuTitle').textContent = menuData.restaurantName; document.getElementById('menuSubtitleDisplay').textContent = menuData.subtitle; document.documentElement.style.setProperty('--primary-color', menuData.primaryColor); const preview = document.getElementById('menuPreview'); preview.className = `menu-preview menu-layout-${menuData.layout || 'classic'}`; if (menuData.logo) { const logoImg = document.getElementById('menuLogo'); logoImg.src = menuData.logo; logoImg.style.display = 'block'; } } // Initialize the application initializeMenu();