Floating WhatsApp Widget Generator

Create an interactive floating WhatsApp chat button and popup for your website with zero external dependencies.

1. Business Profile & Contact
Widget Builder
Country Code + Local Number

Include your mobile area code. Spaces and symbols will be automatically cleaned.

2. Position, Timing & Colors
Button Color
Header Color
Live Website Simulator
Interactive
WhatsApp Support
WhatsApp Support
Typically replies within minutes
Hi there! πŸ‘‹ How can we help you today?
Just now

Click the widget bubble in the simulator to test opening, closing, and sending.

Self-Contained Embed CodeZero External Dependencies
Floating Widget Snippet
<!-- Advendere WhatsApp Floating Widget (wa.advendere.com) -->
<div id="advendere-wa-widget-root">
  <style>
    #advendere-wa-widget-root {
      position: fixed;
      bottom: 24px;
      right: 24px;
      z-index: 999999;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      box-sizing: border-box;
    }
    #advendere-wa-widget-root * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    .awa-launcher {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background-color: #25D366;
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22);
      transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease;
      position: relative;
    }
    .awa-launcher:hover {
      transform: scale(1.08);
      box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);
    }
    .awa-badge-dot {
      position: absolute;
      top: 2px;
      right: 2px;
      width: 14px;
      height: 14px;
      background-color: #48BB78;
      border: 2px solid #FFFFFF;
      border-radius: 50%;
    }
    .awa-callout {
      position: absolute;
      bottom: 72px;
      right: 0;
      background: #ffffff;
      color: #111111;
      padding: 8px 14px;
      border-radius: 12px;
      font-size: 13px;
      font-weight: 500;
      white-space: nowrap;
      box-shadow: 0 4px 16px rgba(0,0,0,0.12);
      border: 1px solid #eaeaea;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      animation: awaFadeIn 0.3s ease;
    }
    .awa-popup {
      display: none;
      position: absolute;
      bottom: 75px;
      right: 0;
      width: 340px;
      max-width: calc(100vw - 48px);
      background: #FFFFFF;
      border-radius: 16px;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
      overflow: hidden;
      border: 1px solid #EAEAEA;
      animation: awaPopUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .awa-popup.awa-open {
      display: block;
    }
    .awa-header {
      background: #075E54;
      color: #FFFFFF;
      padding: 16px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .awa-avatar-wrap {
      position: relative;
      width: 44px;
      height: 44px;
      flex-shrink: 0;
    }
    .awa-avatar {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid #FFFFFF;
    }
    .awa-avatar-dot {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 10px;
      height: 10px;
      background: #25D366;
      border: 2px solid #FFFFFF;
      border-radius: 50%;
    }
    .awa-header-info {
      flex: 1;
      min-width: 0;
    }
    .awa-header-title {
      font-size: 15px;
      font-weight: 700;
      line-height: 1.2;
      color: #FFFFFF;
    }
    .awa-header-status {
      font-size: 12px;
      opacity: 0.9;
      margin-top: 3px;
      color: #E0F2FE;
    }
    .awa-close-btn {
      background: transparent;
      border: none;
      color: #FFFFFF;
      cursor: pointer;
      padding: 4px;
      opacity: 0.8;
      transition: opacity 0.2s;
    }
    .awa-close-btn:hover {
      opacity: 1;
    }
    .awa-body {
      background: #EFEAE2;
      background-image: radial-gradient(#d1c7b7 0.75px, transparent 0.75px);
      background-size: 16px 16px;
      padding: 16px;
      min-height: 100px;
      max-height: 220px;
      overflow-y: auto;
    }
    .awa-chat-bubble {
      background: #FFFFFF;
      color: #111111;
      padding: 12px 14px;
      border-radius: 0 12px 12px 12px;
      font-size: 13.5px;
      line-height: 1.45;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
      position: relative;
    }
    .awa-chat-time {
      font-size: 10px;
      color: #888888;
      text-align: right;
      margin-top: 4px;
    }
    .awa-footer {
      background: #FFFFFF;
      padding: 12px;
      display: flex;
      gap: 8px;
      border-top: 1px solid #EAEAEA;
      align-items: center;
    }
    .awa-input {
      flex: 1;
      padding: 10px 14px;
      border-radius: 20px;
      border: 1px solid #EAEAEA;
      font-size: 13px;
      outline: none;
      transition: border-color 0.2s;
    }
    .awa-input:focus {
      border-color: #25D366;
    }
    .awa-send-btn {
      background: #25D366;
      color: #FFFFFF;
      border: none;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      flex-shrink: 0;
      transition: transform 0.15s, background-color 0.2s;
    }
    .awa-send-btn:hover {
      background: #1EBE5D;
      transform: scale(1.05);
    }
    @keyframes awaPopUp {
      from { opacity: 0; transform: translateY(12px) scale(0.96); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes awaFadeIn {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: translateY(0); }
    }
  </style>

  <div class="awa-callout" id="awaCallout" onclick="advendereToggleWidget()">Need help? Chat with us!</div>

  <div class="awa-popup" id="awaPopup">
    <div class="awa-header">
      <div class="awa-avatar-wrap">
        <img class="awa-avatar" src="https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=120&auto=format&fit=crop&q=80" alt="WhatsApp Support" />
        <span class="awa-avatar-dot"></span>
      </div>
      <div class="awa-header-info">
        <div class="awa-header-title">WhatsApp Support</div>
        <div class="awa-header-status">Typically replies within minutes</div>
      </div>
      <button class="awa-close-btn" onclick="advendereToggleWidget()" aria-label="Close">βœ•</button>
    </div>
    <div class="awa-body">
      <div class="awa-chat-bubble">
        <div>Hi there! πŸ‘‹ How can we help you today?</div>
        <div class="awa-chat-time">Just now</div>
      </div>
    </div>
    <div class="awa-footer">
      <input type="text" id="awaUserMsg" class="awa-input" placeholder="Type a message..." value="Hi! I have a question about your services." />
      <button class="awa-send-btn" onclick="advendereSendWaMessage()" aria-label="Send WhatsApp message">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>
      </button>
    </div>
  </div>

  <div class="awa-launcher" onclick="advendereToggleWidget()" aria-label="Chat on WhatsApp">
    <span class="awa-badge-dot"></span>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="30" height="30" fill="currentColor"><path d="M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.04 14.69 2 12.04 2ZM12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.16 12.04 20.16C10.64 20.16 9.27 19.8 8.07 19.09L7.79 18.92L4.67 19.74L5.5 16.7L5.31 16.4C4.51 15.13 4.09 13.54 4.09 11.91C4.09 7.37 7.79 3.67 12.05 3.67ZM8.84 7.23C8.67 7.23 8.4 7.29 8.16 7.55C7.93 7.82 7.26 8.44 7.26 9.71C7.26 10.98 8.19 12.21 8.32 12.38C8.45 12.55 10.15 15.17 12.75 16.29C13.37 16.56 13.85 16.72 14.23 16.84C14.85 17.04 15.42 17.01 15.86 16.94C16.36 16.87 17.39 16.32 17.61 15.71C17.83 15.09 17.83 14.57 17.76 14.46C17.7 14.35 17.52 14.28 17.26 14.15C17 14.02 15.73 13.39 15.5 13.31C15.26 13.22 15.09 13.18 14.92 13.44C14.75 13.7 14.26 14.28 14.11 14.45C13.96 14.63 13.81 14.65 13.55 14.52C13.29 14.39 12.44 14.11 11.44 13.22C10.66 12.52 10.13 11.66 9.98 11.41C9.83 11.15 9.97 11.01 10.1 10.88C10.22 10.76 10.37 10.57 10.5 10.42C10.63 10.27 10.68 10.16 10.76 10C10.84 9.83 10.8 9.69 10.74 9.56C10.68 9.43 10.18 8.21 9.98 7.71C9.78 7.23 9.58 7.29 9.42 7.28C9.28 7.28 9.11 7.23 8.84 7.23Z"/></svg>
  </div>

  <script>
    function advendereToggleWidget() {
      var p = document.getElementById("awaPopup");
      var c = document.getElementById("awaCallout");
      if (p.classList.contains("awa-open")) {
        p.classList.remove("awa-open");
        if (c) c.style.display = "flex";
      } else {
        p.classList.add("awa-open");
        if (c) c.style.display = "none";
        var inp = document.getElementById("awaUserMsg");
        if (inp) setTimeout(function(){ inp.focus(); }, 150);
      }
    }

    function advendereSendWaMessage() {
      var phone = "1";
      var inp = document.getElementById("awaUserMsg");
      var msg = inp ? inp.value.trim() : "";
      var url = "https://wa.me/" + phone + (msg ? "?text=" + encodeURIComponent(msg) : "");
      window.open(url, "_blank", "noopener,noreferrer");
    }

    (function() {
      var input = document.getElementById("awaUserMsg");
      if (input) {
        input.addEventListener("keydown", function(e) {
          if (e.key === "Enter") {
            advendereSendWaMessage();
          }
        });
      }
      
    })();
  </script>
</div>
User Guide & Best Practices

Complete Guide to Floating WhatsApp Chat Widgets

Discover how floating chat widgets drive real-time sales conversions, why self-contained scripts outperform third-party plugins, and best placement practices.

01

Why Use a Floating WhatsApp Widget?

A floating widget remains visible in the corner of your visitor's screen as they scroll your website. When clicked, it expands into an attractive live chat dialogue box featuring your agent's photo, online badge, and personalized welcome greeting.

  • Persistently visible across all pages of your site
  • Humanizes your brand with real agent avatars and status indicators
  • Visitors can type their exact question before jumping to WhatsApp
Pro Tip: Set a 3 to 5 second auto-open delay on landing pages to proactively engage interested prospects without being overly intrusive.
02

100% Self-Contained with Zero External Dependencies

Unlike traditional live chat widgets that cost $30+/month and require slow external JS tracking files, the Advendere Floating Widget is 100% self-contained pure HTML, CSS, and Vanilla JS.

  • Zero external API keys or recurring monthly fees required
  • No tracking scripts or third-party cookies injected
  • Zero server load and zero page speed penalty
03

How to Embed the Widget on Your Website

Paste the single generated code snippet right before the closing `</body>` tag of your site or inside your website builder's global footer code section.

  • WordPress: Insert using header/footer code plugin or theme footer.php
  • Shopify: Paste inside `theme.liquid` just before `</body>`
  • Webflow: Add to Project Settings > Custom Code > Footer Code
  • Squarespace / Wix: Add to Code Injection (Footer)
04

Customization & Mobile Optimization

The widget includes a responsive design that automatically resizes and positions itself neatly on both mobile smartphones and widescreen desktop monitors.

  • Choose bottom-right or bottom-left screen placement
  • Support for customizable avatar images and status subheadings
  • Custom button and header accent colors to match your brand palette
Got Questions?

Frequently Asked Questions

Everything you need to know about using this WhatsApp tool.

No! The embed snippet is completely self-contained with pure inline CSS and vanilla JavaScript. It has zero external dependencies and runs independently on your own website.
More WhatsApp Utilities

Explore Related Tools

Boost customer engagement and sales with other free tools in the suite.

View All Tools