*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:#e8dcc0;font-family:Georgia,'Times New Roman',serif;line-height:1.7;font-size:17px;background:#2b1d12;background-image:radial-gradient(ellipse at 20% 0%,#3a2818 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,#241610 0%,transparent 55%)} h1,h2,h3{line-height:1.25;font-weight:700} a{color:#e8c874;text-decoration:none} a:hover{text-decoration:underline;color:#f4df9e} .wrap{max-width:1120px;margin:0 auto;padding:0 24px} .brass-text{background:linear-gradient(135deg,#b08d3e,#e8c874 60%,#b08d3e);-webkit-background-clip:text;background-clip:text;color:transparent} .site-header{background:#1d120a;border-bottom:2px solid #b08d3e;position:sticky;top:0;z-index:50} .site-header .wrap{display:flex;align-items:center;gap:20px;padding:12px 24px;flex-wrap:wrap} .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#e8dcc0;font-size:23px;font-weight:700;letter-spacing:.5px} .brand:hover{text-decoration:none;color:#e8c874} .brand svg{width:40px;height:40px} .nav{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto;align-items:center} .nav a{text-decoration:none;color:#d8c9a3;font-size:15px;padding:9px 14px;border:1px solid transparent} .nav a:hover{color:#e8c874;border-color:#6b5326;background:#241708;text-decoration:none} .nav a.cta{background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;font-weight:700;border:1px solid #e8c874} .nav a.cta:hover{background:linear-gradient(135deg,#c49a48,#f0d284);color:#2b1d12} .rivets{height:16px;background-color:#1d120a;background-image:radial-gradient(circle,#e8c874 2.6px,rgba(232,200,116,0) 3.2px);background-size:26px 16px;background-repeat:repeat-x;background-position:center} .hero{padding:56px 0 10px;position:relative;overflow:hidden} .hero-gears{position:absolute;right:-30px;top:20px;opacity:.28;pointer-events:none} .hero-gears svg{width:220px;height:220px;animation:spin 40s linear infinite} .hero-gears svg.small{width:130px;height:130px;animation-direction:reverse;animation-duration:28s;margin-left:-40px;vertical-align:top} @keyframes spin{to{transform:rotate(360deg)}} @media(prefers-reduced-motion:reduce){.hero-gears svg{animation:none}} .hero-inner{position:relative;max-width:70ch} .eyebrow{display:inline-block;border:1px solid #b08d3e;color:#e8c874;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;padding:7px 18px;margin-bottom:18px;background:#241708} .hero h1{font-size:clamp(36px,5.4vw,58px);margin:0 0 16px;color:#f4ead2} .lede{color:#c9b891;font-size:18px} .tool-frame{background:#1d120a;border:2px solid #b08d3e;margin:32px 0 12px;box-shadow:0 0 0 6px #241708,0 0 0 7px #6b5326,0 24px 60px rgba(0,0,0,.5)} .tool-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 26px;background:linear-gradient(135deg,#3a2818,#2b1d12);border-bottom:1px solid #6b5326} .tool-head h2{margin:0;font-size:25px;color:#f4ead2} .privacy-chip{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid #e8c874;color:#e8c874;font-size:13px;letter-spacing:1px;padding:8px 16px;background:#241708;font-family:inherit} .privacy-chip svg{width:16px;height:16px} .tool-body{padding:28px 26px;background:linear-gradient(180deg,#f1e6cc,#e9d9b8);color:#2b1d12} .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-bottom:24px} .opt{background:rgba(255,255,255,.35);border:1px solid #b08d3e;padding:18px} .opt-label{display:block;font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:#7a5c22;margin-bottom:12px;font-family:Georgia,serif} .opt-hint{font-size:13.5px;color:#6b5a3e;margin:10px 0 0} .seg{display:flex;flex-wrap:wrap;gap:8px} .seg button{border:1px solid #a8873f;background:#fbf6e9;color:#2b1d12;padding:8px 15px;font-size:13.5px;cursor:pointer;font-family:Georgia,serif} .seg button:hover{border-color:#7a5c22} .seg button[aria-pressed="true"]{background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;border-color:#7a5c22;font-weight:700} .num-row{display:flex;align-items:center;gap:12px} .num-row input[type=range]{flex:1;accent-color:#b08d3e} .num-row input[type=number]{width:70px;border:1px solid #a8873f;padding:8px 10px;font-size:15px;font-family:Georgia,serif;background:#fbf6e9;color:#2b1d12} .count-val{font-weight:700;color:#7a5c22;font-size:20px;min-width:40px;text-align:center} .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:8px} .btn{border:2px solid #7a5c22;background:transparent;color:#5c4419;padding:12px 26px;font-weight:700;font-size:15px;cursor:pointer;font-family:Georgia,serif;display:inline-flex;align-items:center;gap:9px;text-decoration:none} .btn:hover{background:#e9d9b8;text-decoration:none} .btn.primary{background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;border-color:#7a5c22} .btn.primary:hover{filter:brightness(1.06)} .btn svg{width:17px;height:17px} .btn:disabled{opacity:.4;cursor:not-allowed} .copy-note{font-size:14px;font-weight:700;color:#5c6e1f} .output{margin-top:20px;background:#fbf6e9;border:1px solid #b08d3e;min-height:130px;padding:20px} .output ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px} .output li{background:#fffdf6;border:1px solid #d8c9a3;border-left:5px solid #b08d3e;padding:13px 18px;cursor:pointer;display:flex;gap:14px;align-items:flex-start;box-shadow:2px 2px 0 rgba(122,92,34,.15)} .output li:hover{background:#fdf8ea} .output li .idx{flex:none;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px} .output li .txt{min-width:0} .output li .nm{display:block;font-weight:700;font-size:18px;color:#2b1d12} .output li .ds{display:block;font-size:14px;color:#5c4f38} .output li .rl{display:block;font-size:13px;color:#7a5c22;font-style:italic;margin-top:3px} .output li .mini-copy{margin-left:auto;flex:none;font-size:12px;font-weight:700;color:#7a5c22;border:1px dashed #a8873f;padding:5px 12px;align-self:center;letter-spacing:1px} .output .placeholder{color:#a08c62;text-align:center;margin:32px 0;font-size:15px;font-style:italic} .output-meta{margin-top:12px;font-size:13.5px;color:#6b5a3e} .limits{margin-top:22px;background:#fbf6e9;border:2px dashed #a8873f;padding:20px 22px;color:#2b1d12} .limits h3{margin:0 0 10px;font-size:20px;color:#7a5c22;display:flex;align-items:center;gap:10px} .limits h3 svg{width:22px;height:22px;flex:none} .limits ul{margin:0;padding-left:20px;font-size:15px;color:#5c4f38} .limits li{margin-bottom:7px} .section{padding:52px 0 8px} .section h2{font-size:clamp(28px,3.6vw,40px);margin:0 0 14px;color:#f4ead2} .sub{color:#c9b891;max-width:68ch;margin:0 0 24px} .cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px} .card{background:linear-gradient(180deg,#f1e6cc,#e9d9b8);color:#2b1d12;padding:24px;display:flex;flex-direction:column;border:1px solid #a8873f;box-shadow:4px 4px 0 rgba(0,0,0,.35)} .card h3{margin:0 0 10px;font-size:20px;color:#3a2a12} .card p{margin:0 0 14px;color:#5c4f38;font-size:15px;flex:1} .card .icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#b08d3e,#e8c874);display:flex;align-items:center;justify-content:center;margin-bottom:14px} .card .icon svg{width:24px;height:24px} .card a.more{font-weight:700;font-size:15px;color:#7a5c22} .prose{max-width:74ch} .prose p{margin:0 0 16px;color:#d8c9a3} .prose h2{margin:36px 0 12px;font-size:27px;color:#f4ead2} .prose h3{margin:28px 0 10px;font-size:20px;color:#e8c874} .prose ul,.prose ol{margin:0 0 18px;padding-left:22px;color:#d8c9a3} .prose li{margin-bottom:8px} .prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15.5px} .prose th{background:#3a2818;color:#e8c874;text-align:left;padding:10px 14px;border:1px solid #6b5326} .prose td{padding:10px 14px;border:1px solid #6b5326;color:#d8c9a3} .prose strong{color:#f4ead2} .callout{background:#3a2818;border-left:5px solid #e8c874;padding:18px 22px;margin:20px 0;color:#d8c9a3} .callout p{margin:0} .faq-item{background:#241708;border:1px solid #6b5326;padding:18px 22px;margin-bottom:14px} .faq-item h3{margin:0 0 8px;font-size:19px;color:#e8c874} .faq-item p{margin:0;color:#c9b891;font-size:15.5px} .site-footer{background:#1d120a;border-top:2px solid #b08d3e;margin-top:70px;padding:44px 0 30px} .site-footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px} .site-footer h4{color:#e8c874;margin:0 0 12px;font-size:16px;letter-spacing:1px} .site-footer a{color:#a8935f;font-size:14.5px;display:block;margin-bottom:8px} .site-footer a:hover{color:#e8c874} .site-footer .fine{grid-column:1/-1;font-size:13px;color:#7a6647;border-top:1px solid #3a2818;padding-top:18px;margin-top:6px} .breadcrumb{font-size:13.5px;color:#a8935f;margin:22px 0 0} .breadcrumb a{color:#e8c874} .page-hero{padding:44px 0 6px} .page-hero h1{font-size:clamp(32px,4.6vw,48px);margin:0 0 14px;color:#f4ead2} .gear-deco{width:64px;height:64px} @media(max-width:700px){.tool-body{padding:20px 16px}.output li{flex-wrap:wrap}.nav{margin-left:0}.hero-gears{display:none}}
Free Offer Name Generator

The right name makes the sale. Forge yours here.

DealDrafter is a free offer name generator that mints catchy promotional campaign names in seconds: alliterative sale names, power-word headlines, urgency-driven titles, rhyming hooks, and playful event names, with optional seasonal themes. No signup, no cost, and every gear turns entirely in your browser.

The Naming Engine

100% IN YOUR BROWSER
Naming style

Each style carries a different promise. Pick one or mix them all.

Theme

Seasonal metaphors sell feeling better than literal descriptions do.

How many names?
8

1 to 20 names per forging. Strike again for a fresh batch.

Your campaign names will be forged here. Click any name to copy it.

    Honest limits

    • Starting points, not final names. DealDrafter suggests name patterns; the final choice needs your judgment about brand fit and audience.
    • Check trademarks. Always search a name before commercial use. A generated name may resemble an existing campaign or registered mark.
    • No false urgency. Urgency-style names ("Ends Tonight") only work if the deadline is real. Do not use them on evergreen offers.
    • Not connected to anything. These are name ideas, not live campaigns, and they do not integrate with any ad or store platform.

    What makes a great offer name

    A good promotion name does promotional work: it gets noticed, remembered, and repeated. Five principles separate names that pull from names that sit there, covered in our naming guide.

    How to name a sale

    Clarity, relevance, creativity, simplicity, and emotional appeal: the five principles of promotion naming, with a step-by-step method.

    Read the guide

    Power words for offers

    A field guide to the words that move shoppers: urgency words, value words, exclusivity words, and emotional words, with usage notes.

    Browse the words

    Sale name examples

    Dozens of example campaign names across seasonal sales, clearance events, flash sales, loyalty offers, and holiday promotions.

    See examples

    Naming use cases

    Which naming style fits which campaign: launches, holiday pushes, clearance, loyalty events, and referral programs.

    Explore use cases

    Naming FAQ

    How long should a sale name be? Can two campaigns share a name? Should the discount go in the title? Answered.

    Read the FAQ

    How the engine works

    DealDrafter holds banks of name fragments: alliterative word pairs, power words, urgency openers, rhyming pairs, playful phrases, and seasonal theme words. When you strike the forge, your browser's secure random generator (crypto.getRandomValues) assembles fragments in your chosen style into complete campaign names, each stamped with a short naming tip.

    There is no account and no server. Names are generated on your device, and nothing you draft is transmitted or stored anywhere. Forge a few batches, copy the ones that fit your brand register, and run your favorite through a trademark search before it goes on a banner.