<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Puzzle Engine — Free Puzzle Generator for KDP Creators</title>
  <meta name="description" content="Free online puzzle generator for Sudoku, Word Search, and more. Create print-ready puzzles for KDP books, worksheets, and activity pages. No watermarks, commercial license included.">
  <meta name="keywords" content="puzzle generator, sudoku generator, word search generator, KDP puzzles, printable puzzles, puzzle books">
  <link rel="canonical" href="https://puzzle-engine.com/">
  
  <!-- Open Graph / Facebook -->
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://puzzle-engine.com/">
  <meta property="og:title" content="Puzzle Engine — Free Puzzle Generator for KDP Creators">
  <meta property="og:description" content="Free online puzzle generator for Sudoku, Word Search, and more. Create print-ready puzzles for KDP books, worksheets, and activity pages.">
  <meta property="og:site_name" content="Puzzle Engine">
  
  <!-- Twitter -->
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Puzzle Engine — Free Puzzle Generator for KDP Creators">
  <meta name="twitter:description" content="Free online puzzle generator for Sudoku, Word Search, and more. Create print-ready puzzles for KDP books, worksheets, and activity pages.">
  
  <link rel="stylesheet" href="assets/styles.css?v=2">
  
  <!-- Schema.org structured data -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Puzzle Engine",
    "description": "Free online puzzle generator for Sudoku, Word Search, and more. Create print-ready puzzles for KDP books, worksheets, and activity pages.",
    "url": "https://puzzle-engine.com/",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "Any",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "GBP"
    },
    "author": {
      "@type": "Organization",
      "name": "Puzzle Engine"
    }
  }
  </script>
  
  <style>
    .home-content {
      padding-bottom: var(--spacing-2xl);
    }
    
    .features-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: var(--spacing-lg);
      margin-top: var(--spacing-xl);
      margin-bottom: var(--spacing-2xl);
    }
    
    .feature-card {
      text-align: center;
      padding: var(--spacing-lg);
      background: var(--color-bg);
      border-radius: var(--radius-md);
    }
    
    .feature-card__icon {
      font-size: 2.5rem;
      margin-bottom: var(--spacing-sm);
    }
    
    .feature-card h3 {
      font-size: 1.1rem;
      margin: 0 0 var(--spacing-xs);
    }
    
    .feature-card p {
      font-size: 0.875rem;
      color: var(--color-text-light);
      margin: 0;
    }
    
    .section-title {
      font-size: 1.5rem;
      color: var(--color-primary);
      margin: var(--spacing-2xl) 0 var(--spacing-lg);
      text-align: center;
    }
    
    .audience-section {
      background: var(--color-bg-white);
      border-radius: var(--radius-lg);
      padding: var(--spacing-xl);
      margin: var(--spacing-2xl) 0;
    }
    
    .audience-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: var(--spacing-lg);
      margin-top: var(--spacing-lg);
    }
    
    .audience-card {
      padding: var(--spacing-lg);
      border-left: 4px solid var(--color-primary);
      background: var(--color-bg);
    }
    
    .audience-card h3 {
      margin: 0 0 var(--spacing-sm);
      font-size: 1.1rem;
    }
    
    .audience-card p {
      margin: 0;
      font-size: 0.9rem;
      color: var(--color-text-light);
    }
    
    .cta-section {
      text-align: center;
      padding: var(--spacing-2xl) 0;
    }
    
    .cta-section p {
      font-size: 1.1rem;
      color: var(--color-text-light);
      margin-bottom: var(--spacing-lg);
    }
  </style>
</head>
<body>
  <header class="header">
    <div class="container header__content">
      <a href="index.html" class="header__logo">
        <span class="header__logo-icon">🧩</span>
        <span>Puzzle Engine</span>
      </a>
      <nav class="header__nav">
        <a href="sudoku/index.html" class="header__nav-link">Sudoku</a>
        <a href="word-search/index.html" class="header__nav-link">Word Search</a>
        <a href="number-search/index.html" class="header__nav-link">Number Search</a>
        <a href="word-scramble/index.html" class="header__nav-link">Word Scramble</a>
        <a href="kenken/index.html" class="header__nav-link">KenKen</a>
        <a href="killer-sudoku/index.html" class="header__nav-link">Killer Sudoku</a>
        <a href="how-to-make-puzzle-books-kdp.html" class="header__nav-link">Resources</a>
      </nav>
      <button class="header__hamburger" id="hamburger" aria-label="Open menu">
        <span class="header__hamburger-line"></span>
        <span class="header__hamburger-line"></span>
        <span class="header__hamburger-line"></span>
      </button>
      <div class="header__overlay" id="menu-overlay"></div>
      <nav class="header__menu" id="side-menu">
        <div class="header__menu-section">
          <div class="header__menu-title">Puzzles</div>
          <a href="sudoku/index.html" class="header__menu-link">🔢 Sudoku</a>
          <a href="word-search/index.html" class="header__menu-link">🔤 Word Search</a>
          <a href="number-search/index.html" class="header__menu-link">🔍 Number Search</a>
          <a href="word-scramble/index.html" class="header__menu-link">🔀 Word Scramble</a>
          <a href="kenken/index.html" class="header__menu-link">➕ KenKen</a>
          <a href="killer-sudoku/index.html" class="header__menu-link">💀 Killer Sudoku</a>
        </div>
        <div class="header__menu-section">
          <div class="header__menu-title">Resources</div>
          <a href="how-to-make-puzzle-books-kdp.html" class="header__menu-link">📚 KDP Guide</a>
          <a href="sudoku-puzzle-design-tips.html" class="header__menu-link">🎯 Sudoku Design Tips</a>
          <a href="puzzles-for-seniors.html" class="header__menu-link">👴 Puzzles for Seniors</a>
          <a href="puzzle-types-guide.html" class="header__menu-link">📖 Puzzle Types Guide</a>
        </div>
        <div class="header__menu-section">
          <div class="header__menu-title">Legal</div>
          <a href="privacy.html" class="header__menu-link">🔒 Privacy Policy</a>
          <a href="terms.html" class="header__menu-link">📄 Terms of Service</a>
          <a href="/cdn-cgi/l/email-protection#3a5955544e5b594e7a4a4f4040565f175f545d53545f14595557" class="header__menu-link">✉️ Contact</a>
        </div>
      </nav>
    </div>
  </header>
  
  <main class="main-content home-content">
    <div class="container">
      <section class="hero">
        <h1>Free Puzzle Generator</h1>
        <p>Create print-ready puzzles for KDP books, worksheets, and activity pages. No watermarks, no sign-up required.</p>
        
        <div class="hero__features">
          <div class="hero__feature">
            <span class="hero__feature-icon">✓</span>
            <span>Commercial license</span>
          </div>
          <div class="hero__feature">
            <span class="hero__feature-icon">✓</span>
            <span>300 DPI exports</span>
          </div>
          <div class="hero__feature">
            <span class="hero__feature-icon">✓</span>
            <span>Bulk generation</span>
          </div>
          <div class="hero__feature">
            <span class="hero__feature-icon">✓</span>
            <span>Large print option</span>
          </div>
        </div>
      </section>
      
      <section>
        <h2 class="section-title">Choose Your Puzzle</h2>
        <div class="puzzle-grid">
          <a href="sudoku/index.html" class="puzzle-card">
            <div class="puzzle-card__icon">🔢</div>
            <h3 class="puzzle-card__title">Sudoku</h3>
            <p class="puzzle-card__desc">5 grid sizes from 4x4 to 16x16. Perfect for beginners to experts.</p>
          </a>
          
          <a href="word-search/index.html" class="puzzle-card">
            <div class="puzzle-card__icon">🔤</div>
            <h3 class="puzzle-card__title">Word Search</h3>
            <p class="puzzle-card__desc">30+ themed word lists. Customizable grid sizes and directions.</p>
          </a>
          
          <a href="number-search/index.html" class="puzzle-card">
            <div class="puzzle-card__icon">🔍</div>
            <h3 class="puzzle-card__title">Number Search</h3>
            <p class="puzzle-card__desc">Find hidden numbers in grids. Educational themes available.</p>
          </a>
          
          <a href="word-scramble/index.html" class="puzzle-card">
            <div class="puzzle-card__icon">🔀</div>
            <h3 class="puzzle-card__title">Word Scramble</h3>
            <p class="puzzle-card__desc">Unscramble words with hints. Hidden message mode available.</p>
          </a>
          
          <a href="kenken/index.html" class="puzzle-card">
            <div class="puzzle-card__icon">➕</div>
            <h3 class="puzzle-card__title">KenKen</h3>
            <p class="puzzle-card__desc">Math-based puzzles with cage operations. Build mental math skills.</p>
          </a>
          
          <a href="killer-sudoku/index.html" class="puzzle-card">
            <div class="puzzle-card__icon">💀</div>
            <h3 class="puzzle-card__title">Killer Sudoku</h3>
            <p class="puzzle-card__desc">Sudoku with cage sums. Combines logic and arithmetic.</p>
          </a>
        </div>
      </section>
      
      <section class="audience-section">
        <h2 class="section-title">Perfect For</h2>
        <div class="audience-grid">
          <div class="audience-card">
            <h3>📚 KDP Creators</h3>
            <p>Generate bulk puzzles for Amazon puzzle books. Commercial license included — no attribution required.</p>
          </div>
          <div class="audience-card">
            <h3>🏫 Teachers & Educators</h3>
            <p>Create classroom worksheets with age-appropriate difficulty levels. Print-ready format.</p>
          </div>
          <div class="audience-card">
            <h3>👴 Seniors & Care Facilities</h3>
            <p>Large print mode with extra-large cells and high contrast. Perfect for cognitive health activities.</p>
          </div>
        </div>
      </section>
      
      <section class="audience-section">
        <h2 class="section-title">Resources &amp; Guides</h2>
        <div class="audience-grid">
          <a href="how-to-make-puzzle-books-kdp.html" class="puzzle-card">
            <div class="puzzle-card__icon">📚</div>
            <h3 class="puzzle-card__title">How to Make Puzzle Books for KDP</h3>
            <p class="puzzle-card__desc">Complete guide to creating, formatting, and publishing puzzle books on Amazon. Market research, interior design, and pricing strategies.</p>
          </a>
          <a href="sudoku-puzzle-design-tips.html" class="puzzle-card">
            <div class="puzzle-card__icon">🎯</div>
            <h3 class="puzzle-card__title">Sudoku Puzzle Design Tips</h3>
            <p class="puzzle-card__desc">How puzzles are constructed, difficulty grading from easy to expert, and design principles for great puzzles.</p>
          </a>
          <a href="puzzles-for-seniors.html" class="puzzle-card">
            <div class="puzzle-card__icon">👴</div>
            <h3 class="puzzle-card__title">Puzzles for Seniors</h3>
            <p class="puzzle-card__desc">Cognitive health benefits, large print options, and how to adapt puzzles for older adults and care facilities.</p>
          </a>
          <a href="puzzle-types-guide.html" class="puzzle-card">
            <div class="puzzle-card__icon">📖</div>
            <h3 class="puzzle-card__title">Complete Guide to Puzzle Types</h3>
            <p class="puzzle-card__desc">Sudoku, Word Search, KenKen, and more — how each works, who it's for, and when to use it in your books.</p>
          </a>
        </div>
      </section>

      <section class="cta-section">
        <h2 class="section-title">Get Started Now</h2>
        <p>Choose a puzzle type above to start creating. No sign-up required.</p>
      </section>
    </div>
  </main>
  
  <footer class="footer">
    <div class="container footer__content">
      <div class="footer__links">
        <a href="privacy.html">Privacy Policy</a>
        <a href="terms.html">Terms of Service</a>
        <a href="/cdn-cgi/l/email-protection#abc8c4c5dfcac8dfebdbded1d1c7ce86cec5ccc2c5ce85c8c4c6">Contact</a>
      </div>
      <p class="footer__license">Commercial license included for KDP creators.</p>
    </div>
  </footer>

<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
// Hamburger menu toggle
const hamburger = document.getElementById('hamburger');
const sideMenu = document.getElementById('side-menu');
const menuOverlay = document.getElementById('menu-overlay');

hamburger.addEventListener('click', () => {
  hamburger.classList.toggle('open');
  sideMenu.classList.toggle('open');
  menuOverlay.classList.toggle('open');
});

menuOverlay.addEventListener('click', () => {
  hamburger.classList.remove('open');
  sideMenu.classList.remove('open');
  menuOverlay.classList.remove('open');
});

// Close menu on link click
sideMenu.querySelectorAll('.header__menu-link').forEach(link => {
  link.addEventListener('click', () => {
    hamburger.classList.remove('open');
    sideMenu.classList.remove('open');
    menuOverlay.classList.remove('open');
  });
});
</script>
</body>
</html>