<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Join Free-eBooks.net — Free Books Every Month</title>
        <meta name="description" content="Create your free account and get instant access to thousands of ebooks.">
        <link rel="stylesheet" href="/resources/css/min/1775222811/main.css" type="text/css" />
        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=2b0OeXpMNw">
        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=2b0OeXpMNw">
        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=2b0OeXpMNw">
        <link rel="manifest" href="/site.webmanifest?v=2b0OeXpMNw">
        <link rel="mask-icon" href="/safari-pinned-tab.svg?v=2b0OeXpMNw" color="#5bbad5">
        <link rel="shortcut icon" href="/favicon.ico?v=2b0OeXpMNw">
        <meta name="msapplication-TileColor" content="#ffc40d">
        <meta name="theme-color" content="#ffffff">

        <!-- Google Tag Manager -->
        <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
        })(window,document,'script','dataLayer','GTM-5Q7JD7VC');</script>
        <!-- End Google Tag Manager -->

        <link rel="preload" as="font" type="font/woff2" href="/resources/fonts/lato-v17-latin-regular.woff2" crossorigin>
        <link rel="preload" as="font" type="font/woff2" href="/resources/fonts/lato-v17-latin-300.woff2" crossorigin>
        <link rel="preload" as="font" type="font/woff2" href="/resources/fonts/lato-v17-latin-700.woff2" crossorigin>

        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link
            href="https://fonts.googleapis.com/css2?family=Paytone+One&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap"
            rel="stylesheet">

        <!--[if lt IE 9]>
        <script src="/resources/js/html5shiv.js"></script>
        <![endif]-->
                <script type="text/javascript">var jsdata = {"is_logged":false,"user_id":0,"device":"computer","isIOS":false,"isChrome":false,"RECAPTCHA_SITE_KEY":"6LcYWL8pAAAAAHlEWBdElrDA9tGNE881K_-lFC0k"};</script><link rel="canonical" href="https://www.free-ebooks.net/" />        <script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Free-eBooks.net","url":"https://www.free-ebooks.net","logo":"https://www.free-ebooks.net/resources/img/logo-graphic-high-res.png","description":"Free ebook library with thousands of books across 20+ genres trusted by 9.7 million readers over 25 years.","sameAs":[]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Free-eBooks.net","url":"https://www.free-ebooks.net","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.free-ebooks.net/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script>
    </head>
    <body>
    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5Q7JD7VC"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <!-- End Google Tag Manager (noscript) -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Source+Sans+3:wght@300;400;600&display=swap');
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Source Sans 3',sans-serif;background:#faf8f4;color:#2c2416;min-height:100vh}
.reg-wrap{display:flex;min-height:100vh}
.reg-left{flex:0 0 46%;background:#1a1208;color:#f5f0e8;display:flex;flex-direction:column;justify-content:center;padding:60px 56px;position:relative;overflow:hidden}
.reg-left::before{content:'';position:absolute;top:-120px;right:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(193,149,73,.18) 0%,transparent 70%);pointer-events:none}
.reg-left::after{content:'';position:absolute;bottom:-80px;left:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(193,149,73,.12) 0%,transparent 70%);pointer-events:none}
.reg-logo{margin-bottom:48px}
.reg-logo img{height:36px;filter:brightness(0) invert(1);opacity:.9}
.reg-headline{font-family:'Playfair Display',Georgia,serif;font-size:2.4rem;font-weight:700;line-height:1.2;margin:0 0 20px;color:#f5f0e8;letter-spacing:-.01em}
.reg-headline em{font-style:italic;color:#c19549}
.reg-subhead{font-size:1.05rem;font-weight:300;line-height:1.65;color:#b8a98a;margin:0 0 44px}
.reg-trust{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}
.reg-trust li{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;color:#c8b99a;line-height:1.4}
.reg-trust li::before{content:'';flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#c19549 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%231a1208'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E") center/12px no-repeat;margin-top:1px}
.reg-count{margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem;color:#7a6a52;letter-spacing:.04em;text-transform:uppercase}
.reg-count strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;color:#c19549;font-weight:400;letter-spacing:0;text-transform:none;line-height:1;margin-bottom:4px}
.reg-right{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 40px}
.reg-form-wrap{width:100%;max-width:420px;animation:fadeUp .5s ease both}
.reg-form-wrap h2{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:#1a1208;margin:0 0 8px}
p.reg-intro{font-size:.95rem;color:#7a6a52;margin:0 0 32px;line-height:1.5}
.reg-errors{background:#fdf0f0;border:1px solid #e8b4b4;border-radius:8px;padding:14px 18px;margin-bottom:24px;font-size:.9rem;color:#8b1a1a}
.reg-errors ul{margin:0;padding-left:18px}
.field-group{margin-bottom:20px}
.field-group label{display:block;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#4a3c28;margin-bottom:7px}
.field-group input{width:100%;padding:13px 16px;font-family:'Source Sans 3',sans-serif;font-size:1rem;color:#1a1208;background:#fff;border:1.5px solid #d4c5a9;border-radius:8px;outline:none;transition:border-color .18s,box-shadow .18s}
.field-group input:focus{border-color:#c19549;box-shadow:0 0 0 3px rgba(193,149,73,.15)}
.field-row{display:flex;gap:14px}
.field-row .field-group{flex:1}
.password-hint{font-size:.78rem;color:#9a8a72;margin-top:5px}
.btn-register{width:100%;padding:15px 24px;margin-top:8px;font-family:'Source Sans 3',sans-serif;font-size:1rem;font-weight:600;letter-spacing:.03em;color:#1a1208;background:#c19549;border:none;border-radius:8px;cursor:pointer;transition:background .18s,transform .1s}
.btn-register:hover{background:#a97e38}
.btn-register:active{transform:scale(.99)}
.btn-arrow{margin-left:6px;transition:transform .18s;display:inline-block}
.btn-register:hover .btn-arrow{transform:translateX(3px)}
.reg-fine{margin-top:20px;font-size:.78rem;color:#9a8a72;line-height:1.5;text-align:center}
.reg-fine a{color:#7a6a52;text-decoration:underline}
.reg-login-link{margin-top:28px;padding-top:24px;border-top:1px solid #e8dece;text-align:center;font-size:.9rem;color:#7a6a52}
.reg-login-link a{color:#c19549;font-weight:600;text-decoration:none}
.reg-login-link a:hover{text-decoration:underline}
@media(max-width:768px){.reg-wrap{flex-direction:column}.reg-left{flex:none;padding:40px 28px}.reg-headline{font-size:1.75rem}.reg-right{padding:40px 24px}.reg-count{display:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
</style>

<div class="reg-wrap">
  <div class="reg-left">
    <div class="reg-logo">
      <img src="/resources/img/logo-white.svg" onerror="this.style.display='none'" alt="Free-eBooks.net">
    </div>
    <h1 class="reg-headline">Your next great read<br>is <em>waiting for you.</em></h1>
    <p class="reg-subhead">Free-eBooks.net connects readers with thousands of free books across every genre — fiction, business, self-help, mystery, romance, and more. Join free in seconds.</p>
    <ul class="reg-trust">
      <li>1 free book download every month, yours to keep</li>
      <li>Thousands of titles across 20+ genres</li>
      <li>Your reading preferences saved — we find books you'll love</li>
      <li>Upgrade anytime for unlimited downloads</li>
    </ul>
    <div class="reg-count">
      <strong>2.9 Million</strong>
      readers already inside
    </div>
  </div>

  <div class="reg-right">
    <div class="reg-form-wrap">
      <h2>Create your free account</h2>
      <p class="reg-intro">No credit card required. Takes about 30 seconds.</p>

      
      <form method="POST" action="/register-new.php" novalidate>
        <div class="field-row">
          <div class="field-group">
            <label for="first">First name</label>
            <input type="text" id="first" name="first" value="" autocomplete="given-name" placeholder="Jane" required>
          </div>
          <div class="field-group">
            <label for="last">Last name</label>
            <input type="text" id="last" name="last" value="" autocomplete="family-name" placeholder="Smith">
          </div>
        </div>
        <div class="field-group">
          <label for="email">Email address</label>
          <input type="email" id="email" name="email" value="" autocomplete="email" placeholder="jane@example.com" required>
        </div>
        <div class="field-group">
          <label for="password">Password</label>
          <input type="password" id="password" name="password" autocomplete="new-password" placeholder="At least 6 characters" required>
          <p class="password-hint">Minimum 6 characters</p>
        </div>
        <button type="submit" class="btn-register">Create My Free Account <span class="btn-arrow">&#8594;</span></button>
      </form>

      <p class="reg-fine">By creating an account you agree to our <a href="/terms" target="_blank">Terms of Service</a> and <a href="/privacy" target="_blank">Privacy Policy</a>. We will send you a confirmation email.</p>

      <div class="reg-login-link">Already have an account? <a href="/login">Sign in here</a></div>
    </div>
  </div>
</div>
    <script>
    // Enhanced client-side tracking for Free-Ebooks.net
    (function() {
        'use strict';
        
        // Track page start time for time-on-page calculations
        window.fe_page_start_time = Date.now();
        
        // Track scroll depth
        let scrollDepthTracked = [];
        function trackScrollDepth() {
            const scrollPercent = Math.round((window.scrollY / (document.body.scrollHeight - window.innerHeight)) * 100);
            const milestones = [25, 50, 75, 100];
            
            for (let milestone of milestones) {
                if (scrollPercent >= milestone && !scrollDepthTracked.includes(milestone)) {
                    scrollDepthTracked.push(milestone);
                    gtag('event', 'scroll', {
                        percent_scrolled: milestone,
                        page_type: 'homepage',
                        send_to: 'G-TXYPPZSYCL'
                    });
                }
            }
        }
        
        // Track time spent on page (send every 30 seconds)
        let timeOnPageInterval = setInterval(function() {
            const timeSpent = Math.round((Date.now() - window.fe_page_start_time) / 1000);
            gtag('event', 'time_on_page', {
                time_spent_seconds: timeSpent,
                interval_seconds: 30
            });
        }, 30000);
        
        // Track search form submissions
        document.addEventListener('submit', function(e) {
            const form = e.target;
            
            // Search forms
            if (form.id === 'cse-search-box' || form.id === 'cse-search-box-2') {
                const searchTerm = form.querySelector('input[name="q"]').value;
                gtag('event', 'search_attempt', {
                    search_term: searchTerm,
                    form_location: form.id,
                    event_category: 'search'
                });
            }
            
            // Registration forms
            if (form.classList.contains('register-form')) {
                const pageId = form.querySelector('input[name="page_id"]')?.value || 'unknown';
                gtag('event', 'registration_attempt', {
                    form_location: pageId,
                    event_category: 'conversion'
                });
            }
        });
        
        // Track external link clicks
        document.addEventListener('click', function(e) {
            const link = e.target.closest('a');
            if (link && link.hostname !== window.location.hostname) {
                gtag('event', 'click', {
                    event_category: 'external_link',
                    event_label: link.href,
                    transport_type: 'beacon'
                });
            }
        });
        
        // Enhanced exit intent tracking
        let exitIntentTriggered = false;
        document.addEventListener('mouseleave', function(e) {
            if (e.clientY <= 0 && !exitIntentTriggered) {
                exitIntentTriggered = true;
                const timeOnPage = Math.round((Date.now() - window.fe_page_start_time) / 1000);
                gtag('event', 'exit_intent_detected', {
                    trigger_type: 'mouse_leave',
                    time_on_page: timeOnPage,
                    custom_parameter_3: 'potential_exit'
                });
            }
        });
        
        // Track page unload (actual exit)
        window.addEventListener('beforeunload', function() {
            const timeOnPage = Math.round((Date.now() - window.fe_page_start_time) / 1000);
            gtag('event', 'page_exit', {
                time_on_page: timeOnPage,
                transport_type: 'beacon'
            });
        });
        
        // Add scroll depth tracking
        let scrollTimeout;
        window.addEventListener('scroll', function() {
            clearTimeout(scrollTimeout);
            scrollTimeout = setTimeout(trackScrollDepth, 100);
        });
        
        // Track search suggestions clicks (if implemented)
        document.addEventListener('click', function(e) {
            if (e.target.classList.contains('search-suggestion')) {
                gtag('event', 'search_suggestion_click', {
                    suggestion_text: e.target.textContent,
                    event_category: 'search'
                });
            }
        });
        
    })();
    </script>
        <!-- AI Search Modal -->
<div id="ai-search-modal" class="ai-search-modal">
    <div class="ai-search-overlay" onclick="closeAISearch()"></div>
    <div class="ai-search-container">
        <button class="ai-search-close" onclick="closeAISearch()">&times;</button>

        <div class="ai-search-header">
            <h2>Find Your Next Great Read</h2>
            <p>Describe what you're looking for in as much detail as you'd like.<br>
            Our AI reads your request and finds the best matching books for you.</p>
        </div>

        <div class="ai-search-input-wrapper">
            <input
                type="text"
                id="ai-search-input"
                placeholder="Try: 'books like Harry Potter' or 'business strategy'"
                autocomplete="off"
            >
            <button id="ai-search-btn" onclick="executeAISearch()">
                <span class="search-icon">&#128269;</span>
                <span class="loading-spinner" style="display: none;"></span>
            </button>
        </div>

        <!-- Typo correction notice -->
        <div id="typo-notice" class="typo-notice">
            Showing results for "<strong id="typo-corrected"></strong>"
        </div>

        <!-- Results container -->
        <div id="ai-search-results" class="ai-search-results">
            <!-- Initial state: suggestions -->
            <div class="search-suggestions">
                <p>Popular searches:</p>
                <div class="suggestion-tags">
                    <span onclick="searchSuggestion('romance')">Romance</span>
                    <span onclick="searchSuggestion('mystery thriller')">Mystery &amp; Thriller</span>
                    <span onclick="searchSuggestion('self help')">Self-Help</span>
                    <span onclick="searchSuggestion('science fiction')">Sci-Fi</span>
                    <span onclick="searchSuggestion('business')">Business</span>
                </div>
            </div>
        </div>

        <!-- Signup prompt (hidden by default) -->
        <div id="signup-prompt-modal" class="signup-prompt-modal">
            <div class="signup-prompt-content">
                <h3 id="signup-prompt-title">Create a Free Account to Download</h3>
                <p id="signup-prompt-subtitle">Join 2.9 million readers and get unlimited free ebooks</p>
                <div class="signup-prompt-buttons">
                    <a href="/register" class="btn btn-primary" id="signup-prompt-btn">Sign Up Free</a>
                    <a href="/login" class="btn btn-secondary" id="signup-prompt-login-btn">Already have an account? Log in</a>
                </div>
                <button class="signup-prompt-dismiss" onclick="dismissSignupPrompt()">Maybe later</button>
            </div>
        </div>
    </div>
</div>
<script src="/resources/js/ai-search.js?v=20260324a"></script>
    </body>
</html>
