{"id":167,"date":"2026-09-24T17:23:06","date_gmt":"2026-09-24T17:23:06","guid":{"rendered":"https:\/\/dnaeliquids.co.uk\/shop\/product\/nic-salt-shots-10ml\/"},"modified":"2026-09-24T17:23:06","modified_gmt":"2026-09-24T17:23:06","slug":"nic-salt-shots-10ml","status":"publish","type":"product","link":"https:\/\/dnaeliquids.co.uk\/shop\/product\/nic-salt-shots-10ml\/","title":{"rendered":"Nic Salt Shots \u2013 10ml"},"content":{"rendered":"<h3>Nic Salt Shots \u2014 10ml<\/h3>\n<p>Flavourless nicotine salt boosters for adding to nic salt shortfills or your own DIY mixes. Each shot is 10ml at 20mg\/ml nicotine salt strength, in a 50\/50 PG\/VG base. Nicotine salts deliver a smoother, gentler hit on the throat than freebase nicotine at the same strength \u2014 closer to the feel of a disposable than a sub-ohm cloud. Flavoured 20mg nic salt shots are also available \u2014 pick from the dropdown above.<\/p>\n<h4>What you get<\/h4>\n<ul>\n<li>One 10ml bottle of flavourless nicotine salt, 20mg\/ml (or pick a flavoured shot from the dropdown)<\/li>\n<li>50\/50 PG\/VG ratio<\/li>\n<li>Made in the UK, TPD-compliant<\/li>\n<li>Child-resistant, tamper-evident bottle<\/li>\n<li>Flavourless \u00a31.00. Flavoured \u00a32.50.<\/li>\n<\/ul>\n<h4>How to use them<\/h4>\n<p>Add to a shortfill bottle (or your DIY mix), screw the cap on, and give it a proper shake. A good shake is all it takes \u2014 no need to leave it steeping for hours. Then vape as normal in your pod kit or MTL device.<\/p>\n<h4>Working out the final strength<\/h4>\n<p>The maths is simple: <strong>total nicotine \u00f7 total volume \u00d7 10<\/strong>.<\/p>\n<ul>\n<li>1 shot (20mg) into a 50ml shortfill \u2192 60ml total \u2192 about <strong>3.3mg\/ml<\/strong><\/li>\n<li>2 shots into a 100ml shortfill \u2192 120ml total \u2192 about <strong>3.3mg\/ml<\/strong><\/li>\n<li>2 shots into a 50ml shortfill \u2192 70ml total \u2192 about <strong>5.7mg\/ml<\/strong> (not 6.6 \u2014 doubling the shots into the same bottle gives less than you&#8217;d expect because the total volume goes up too)<\/li>\n<\/ul>\n<div class=\"es-nicshot-calc\" id=\"esnc_BBAj6I\" data-strength=\"20\">\n<p>            .es-nicshot-calc{&#8211;es-accent:#d8232a;&#8211;es-deep:#2a2a2a;&#8211;es-accent-soft:#fbe9ea;border:1px solid #e6e6e6;border-radius:8px;padding:1.25em 1.5em;margin:1em 0;background:#fff;max-width:520px;font-family:inherit;}<br \/>\n            .es-nicshot-calc h4{margin:0 0 .25em;font-size:1.05em;color:var(&#8211;es-deep);}<br \/>\n            .es-nicshot-calc .esnc-sub{font-size:.85em;color:#666;margin:0 0 1em;}<br \/>\n            .es-nicshot-calc .esnc-tabs{display:flex;gap:.5em;margin-bottom:1em;border-bottom:1px solid #eee;}<br \/>\n            .es-nicshot-calc .esnc-tab{flex:1;padding:.55em .75em;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font-weight:600;color:#777;font-size:.9em;font-family:inherit;text-align:center;}<br \/>\n            .es-nicshot-calc .esnc-tab.is-active{color:var(&#8211;es-accent);border-bottom-color:var(&#8211;es-accent);}<br \/>\n            .es-nicshot-calc .esnc-row{display:flex;align-items:center;justify-content:space-between;margin:.6em 0;gap:1em;}<br \/>\n            .es-nicshot-calc .esnc-row label{font-weight:600;color:var(&#8211;es-deep);}<br \/>\n            .es-nicshot-calc input[type=number]{width:100px;padding:.4em .5em;border:1px solid #ccc;border-radius:4px;font-size:1em;text-align:right;}<br \/>\n            .es-nicshot-calc .esnc-result{margin-top:1em;padding:.85em 1em;background:var(&#8211;es-accent-soft);border-left:3px solid var(&#8211;es-accent);border-radius:4px;}<br \/>\n            .es-nicshot-calc .esnc-result .esnc-label{display:block;font-size:.7em;text-transform:uppercase;letter-spacing:.08em;color:var(&#8211;es-accent);font-weight:700;}<br \/>\n            .es-nicshot-calc .esnc-result .esnc-value{font-size:1.5em;font-weight:700;color:var(&#8211;es-deep);line-height:1.2;}<br \/>\n            .es-nicshot-calc .esnc-result .esnc-detail{font-size:.85em;color:#555;margin-top:.15em;}<br \/>\n            .es-nicshot-calc .esnc-suggest{margin-top:.75em;}<br \/>\n            .es-nicshot-calc .esnc-suggest-row{display:flex;justify-content:space-between;align-items:baseline;padding:.5em 0;border-top:1px dashed #e0e0e0;font-size:.92em;}<br \/>\n            .es-nicshot-calc .esnc-suggest-row:first-child{border-top:0;}<br \/>\n            .es-nicshot-calc .esnc-suggest-shots{font-weight:700;color:var(&#8211;es-deep);}<br \/>\n            .es-nicshot-calc .esnc-suggest-final{color:var(&#8211;es-accent);font-weight:600;}<br \/>\n            .es-nicshot-calc .esnc-foot{font-size:.78em;color:#888;margin-top:.6em;font-style:italic;}<br \/>\n            .es-nicshot-calc .esnc-panel{display:none;}<br \/>\n            .es-nicshot-calc .esnc-panel.is-active{display:block;}<\/p>\n<h4>Work out your final nicotine strength<\/h4>\n<p class=\"esnc-sub\">Each shot is 10&thinsp;ml at 20&thinsp;mg\/ml. Pick a mode below.<\/p>\n<div class=\"esnc-tabs\" role=\"tablist\">\n            <button type=\"button\" class=\"esnc-tab is-active\" data-target=\"forward\">I have shots &rarr; strength<\/button><br \/>\n            <button type=\"button\" class=\"esnc-tab\" data-target=\"goalseek\">I want a strength &rarr; how many shots?<\/button>\n        <\/div>\n<div class=\"esnc-panel esnc-panel-forward is-active\" data-panel=\"forward\">\n<div class=\"esnc-row\">\n                <label for=\"esnc_BBAj6I-shots\">Number of shots<\/label><\/p>\n<\/div>\n<div class=\"esnc-row\">\n                <label for=\"esnc_BBAj6I-bottle\">Shortfill bottle size (ml)<\/label><\/p>\n<\/div>\n<div class=\"esnc-result\">\n                <span class=\"esnc-label\">Final strength<\/span><br \/>\n                <span class=\"esnc-value esnc-final\">3.0 mg\/ml<\/span><\/p>\n<div class=\"esnc-detail esnc-detail-line\">1 shot (10&thinsp;ml) + 50&thinsp;ml shortfill = 60&thinsp;ml total<\/div>\n<\/p>\n<\/div>\n<p class=\"esnc-foot\">The maths: total nicotine &divide; total volume &times; 10.<\/p>\n<\/p>\n<\/div>\n<div class=\"esnc-panel esnc-panel-goalseek\" data-panel=\"goalseek\">\n<div class=\"esnc-row\">\n                <label for=\"esnc_BBAj6I-target\">Target strength (mg\/ml)<\/label><\/p>\n<\/div>\n<div class=\"esnc-row\">\n                <label for=\"esnc_BBAj6I-gbottle\">Shortfill bottle size (ml)<\/label><\/p>\n<\/div>\n<div class=\"esnc-result\">\n                <span class=\"esnc-label\">Suggested shots<\/span><\/p>\n<div class=\"esnc-suggest\">\n<div class=\"esnc-suggest-row esnc-row-low\"><span class=\"esnc-suggest-shots\">&mdash;<\/span><span class=\"esnc-suggest-final\">&mdash;<\/span><\/div>\n<div class=\"esnc-suggest-row esnc-row-high\"><span class=\"esnc-suggest-shots\">&mdash;<\/span><span class=\"esnc-suggest-final\">&mdash;<\/span><\/div>\n<\/p>\n<\/div>\n<div class=\"esnc-detail esnc-gs-detail\"><\/div>\n<\/p>\n<\/div>\n<p class=\"esnc-foot\">Pick whichever option is closest to what you&#8217;re after. You can&#8217;t half-add a shot, so the closest practical strengths sit either side of your target.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<p>\n    (function(){<br \/>\n        var root = document.getElementById(&#8220;esnc_BBAj6I&#8221;);<br \/>\n        if (!root || root.dataset.bound) return;<br \/>\n        root.dataset.bound = &#8216;1&#8217;;<br \/>\n        var strength = parseFloat(root.getAttribute(&#8216;data-strength&#8217;)) || 18;<br \/>\n        var SHOT_ML = 10;<\/p>\n<p>        var tabs = root.querySelectorAll(&#8216;.esnc-tab&#8217;);<br \/>\n        var panels = root.querySelectorAll(&#8216;.esnc-panel&#8217;);<br \/>\n        tabs.forEach(function(btn){<br \/>\n            btn.addEventListener(&#8216;click&#8217;, function(){<br \/>\n                var target = btn.getAttribute(&#8216;data-target&#8217;);<br \/>\n                tabs.forEach(function(b){ b.classList.toggle(&#8216;is-active&#8217;, b===btn); });<br \/>\n                panels.forEach(function(p){ p.classList.toggle(&#8216;is-active&#8217;, p.getAttribute(&#8216;data-panel&#8217;)===target); });<br \/>\n            });<br \/>\n        });<\/p>\n<p>        \/\/ Forward mode<br \/>\n        var fShots = root.querySelector(&#8216;.esnc-shots&#8217;);<br \/>\n        var fBottle = root.querySelector(&#8216;.esnc-bottle&#8217;);<br \/>\n        var fFinal = root.querySelector(&#8216;.esnc-final&#8217;);<br \/>\n        var fDetail = root.querySelector(&#8216;.esnc-detail-line&#8217;);<br \/>\n        function calcForward(){<br \/>\n            var shots = Math.max(0, parseFloat(fShots.value) || 0);<br \/>\n            var bottle = Math.max(0, parseFloat(fBottle.value) || 0);<br \/>\n            var nicMl = shots * SHOT_ML;<br \/>\n            var totalMl = nicMl + bottle;<br \/>\n            var totalNic = nicMl * strength;<br \/>\n            var mgml = totalMl &gt; 0 ? totalNic \/ totalMl : 0;<br \/>\n            fFinal.textContent = mgml.toFixed(1) + &#8216; mg\/ml&#8217;;<br \/>\n            fDetail.textContent = shots + (shots===1?&#8217; shot&#8217;:&#8217; shots&#8217;) + &#8216; (&#8216; + nicMl + &#8216; ml) + &#8216; + bottle + &#8216; ml shortfill = &#8216; + totalMl + &#8216; ml total&#8217;;<br \/>\n        }<br \/>\n        fShots.addEventListener(&#8216;input&#8217;, calcForward);<br \/>\n        fBottle.addEventListener(&#8216;input&#8217;, calcForward);<br \/>\n        calcForward();<\/p>\n<p>        \/\/ Goal-seek mode<br \/>\n        var gTarget = root.querySelector(&#8216;.esnc-target&#8217;);<br \/>\n        var gBottle = root.querySelector(&#8216;.esnc-gbottle&#8217;);<br \/>\n        var gRowLow = root.querySelector(&#8216;.esnc-row-low&#8217;);<br \/>\n        var gRowHigh = root.querySelector(&#8216;.esnc-row-high&#8217;);<br \/>\n        var gDetail = root.querySelector(&#8216;.esnc-gs-detail&#8217;);<\/p>\n<p>        function strengthForShots(shots, bottle){<br \/>\n            var totalMl = shots * SHOT_ML + bottle;<br \/>\n            if (totalMl = strength) {<br \/>\n                idealShots = Infinity;<br \/>\n            } else if (target  maxCap) {<br \/>\n                gRowLow.querySelector(&#8216;.esnc-suggest-shots&#8217;).textContent = &#8216;Not reachable&#8217;;<br \/>\n                gRowLow.querySelector(&#8216;.esnc-suggest-final&#8217;).textContent = &#8221;;<br \/>\n                gRowHigh.style.display = &#8216;none&#8217;;<br \/>\n                gDetail.textContent = &#8220;You can&#8217;t get to &#8221; + target.toFixed(1) + &#8216; mg\/ml with &#8216; + strength + &#8216; mg shots in a &#8216; + bottle + &#8216; ml bottle \u2014 the shot strength is your ceiling.&#8217;;<br \/>\n                return;<br \/>\n            }<br \/>\n            gRowHigh.style.display = &#8221;;<\/p>\n<p>            var low = Math.max(0, Math.floor(idealShots));<br \/>\n            var high = Math.ceil(idealShots);<br \/>\n            if (low === high) {<br \/>\n                var mg = strengthForShots(low, bottle);<br \/>\n                gRowLow.querySelector(&#8216;.esnc-suggest-shots&#8217;).textContent = low + (low===1?&#8217; shot&#8217;:&#8217; shots&#8217;);<br \/>\n                gRowLow.querySelector(&#8216;.esnc-suggest-final&#8217;).textContent = mg.toFixed(1) + &#8216; mg\/ml (exact)&#8217;;<br \/>\n                gRowHigh.style.display = &#8216;none&#8217;;<br \/>\n                gDetail.textContent = &#8216;Spot on \u2014 &#8216; + low + (low===1?&#8217; shot&#8217;:&#8217; shots&#8217;) + &#8216; in a &#8216; + bottle + &#8216; ml shortfill gives you exactly &#8216; + mg.toFixed(1) + &#8216; mg\/ml.&#8217;;<br \/>\n                return;<br \/>\n            }<\/p>\n<p>            var mgLow = strengthForShots(low, bottle);<br \/>\n            var mgHigh = strengthForShots(high, bottle);<\/p>\n<p>            gRowLow.querySelector(&#8216;.esnc-suggest-shots&#8217;).textContent = low + (low===1?&#8217; shot&#8217;:&#8217; shots&#8217;);<br \/>\n            gRowLow.querySelector(&#8216;.esnc-suggest-final&#8217;).textContent = mgLow.toFixed(1) + &#8216; mg\/ml&#8217;;<br \/>\n            gRowHigh.querySelector(&#8216;.esnc-suggest-shots&#8217;).textContent = high + (high===1?&#8217; shot&#8217;:&#8217; shots&#8217;);<br \/>\n            gRowHigh.querySelector(&#8216;.esnc-suggest-final&#8217;).textContent = mgHigh.toFixed(1) + &#8216; mg\/ml&#8217;;<\/p>\n<p>            var closerLow = Math.abs(target &#8211; mgLow) &lt; Math.abs(target &#8211; mgHigh);<br \/>\n            gDetail.textContent = &#039;Closest to &#039; + target.toFixed(1) + &#039; mg\/ml: &#039; + (closerLow ? low + (low===1?&#039; shot&#039;:&#039; shots&#039;) : high + (high===1?&#039; shot&#039;:&#039; shots&#039;)) + &#039; in a &#039; + bottle + &#039; ml bottle.&#039;;<br \/>\n        }<br \/>\n        gTarget.addEventListener(&#039;input&#039;, calcGoalSeek);<br \/>\n        gBottle.addEventListener(&#039;input&#039;, calcGoalSeek);<br \/>\n        calcGoalSeek();<br \/>\n    })();<\/p>\n<h4>Took a wrong turn? Looking for a stronger throat hit?<\/h4>\n<p>Nic salt at 20mg gives a smooth, gentle hit \u2014 most vapers coming off disposables find this is what they&#8217;re used to. If you&#8217;d rather a noticeable throat hit (closer to the feel of a cigarette), have a look at our <strong>18mg nic shots<\/strong> instead \u2014 same 10ml, slightly lower mg, freebase rather than salt, more of a kick on the inhale.<\/p>\n<p>TPD-compliant. Dispatched fast from our Blackpool base.<\/p>\n<p><em>Not sure on the maths? Have a flick through our <a href=\"\/nicotine-strength-calculator\/\">nicotine strength calculator and guide<\/a> \u2014 two calculators, the formula, and the most common shortfill scenarios written out.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flavourless 20mg nicotine salt shots for boosting nic salt shortfills or DIY mixing. Smoother on the throat than freebase. Flavoured 20mg nic salt shots also available. Looking for a stronger throat hit? Try our regular nic shots instead.<\/p>\n","protected":false},"featured_media":166,"comment_status":"open","ping_status":"closed","template":"","meta":[],"product_brand":[],"product_cat":[20],"product_tag":[],"class_list":["post-167","product","type-product","status-publish","has-post-thumbnail","product_cat-nic-salts-10ml","first","instock","shipping-taxable","purchasable","product-type-simple"],"_links":{"self":[{"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/product\/167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/comments?post=167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/media\/166"}],"wp:attachment":[{"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/media?parent=167"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/product_brand?post=167"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/product_cat?post=167"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/dnaeliquids.co.uk\/shop\/wp-json\/wp\/v2\/product_tag?post=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}