{"id":11714,"date":"2026-01-08T10:28:53","date_gmt":"2026-01-08T10:28:53","guid":{"rendered":"https:\/\/www.iibanks.com\/caribbean\/?page_id=11714"},"modified":"2026-01-08T10:29:36","modified_gmt":"2026-01-08T10:29:36","slug":"iib-global-deposit-interest-rate-calculator","status":"publish","type":"page","link":"https:\/\/www.iibanks.com\/caribbean\/iib-global-deposit-interest-rate-calculator\/","title":{"rendered":"iib Global Deposit Interest Rate Calculator"},"content":{"rendered":"<section class=\"wpb-content-wrapper\"><p>[vc_row tm_bgimagefixed=&#8221;&#8221; css=&#8221;.vc_custom_1765447549181{padding-top: 100px !important;padding-bottom: 200px !important;}&#8221; el_class=&#8221;calculator_visualroW&#8221;][vc_column]<div id=\"ultimate-heading-77456a4ede392915b\" class=\"uvc-heading ult-adjust-bottom-margin ultimate-heading-77456a4ede392915b uvc-498 calchdnG\" data-hspacer=\"no_spacer\"  data-halign=\"center\" style=\"text-align:center\"><div class=\"uvc-heading-spacer no_spacer\" style=\"top\"><\/div><div class=\"uvc-main-heading ult-responsive\"  data-ultimate-target='.uvc-heading.ultimate-heading-77456a4ede392915b h1'  data-responsive-json-new='{\"font-size\":\"desktop:50px;\",\"line-height\":\"\"}' ><h1 style=\"font-weight:bold;margin-bottom:70px;\">iib Global Deposit Interest Rate Calculator<\/h1><\/div><\/div>[vc_column_text css=&#8221;.vc_custom_1767868125030{margin-bottom: 0px !important;}&#8221;]    <form class=\"gic-calculator\" onsubmit=\"return false;\">\n        <div class=\"container\">\n            <div class=\"row\">\n                <div class=\"col-4\">\n                    <div class=\"shaD\">\n                        <label>Currency:\n                            <select class=\"gic-currency\" required>\n                                <option value=\"\" selected>Select Currency<\/option>\n                                                                    <option value=\"USD\">USD<\/option>\n                                                                    <option value=\"EUR\">EUR<\/option>\n                                                                    <option value=\"GBP\">GBP<\/option>\n                                                            <\/select>\n                        <\/label><br><br>\n\n                        <label>Deposit Amount:\n                            <div class=\"gic-input-wrap\">\n                                <span class=\"gic-currency-symbol gic-prefix-box\"><\/span>\n                                <input type=\"text\" class=\"gic-principal\" required placeholder=\"25,000\">\n                            <\/div>\n\n                            <input type=\"range\"\n                                   class=\"gic-principal-slider\"\n                                   min=\"25000\"\n                                   max=\"5000000\"\n                                   step=\"500\"\n                                   value=\"25000\"\n                                   style=\"width:100%; margin-top:10px; height:1px !important; background: rgb(28 36 90);\">\n\n                            <div class=\"rangespandiV\" style=\"display:flex; justify-content:space-between; font-size:14px; margin-top:4px;\">\n                                <span class=\"gic-principal-display\">25,000<\/span>                               \n                                <span class=\"gic-principal-max-label\"><span class=\"gic-le-symbol\">\u2264<\/span> 5M<\/span>\n\n                                \n                            <\/div>\n                        <\/label><br><br>\n\n                        <label>Tenure:\n                            <select class=\"gic-tenure\" required>\n                                <option value=\"\">Select Tenure<\/option>\n                                <option value=\"6m_1y\">6 Months to 1 Year<\/option>\n                                <option value=\"1_2y\">1 Year to 2 Years<\/option>\n                                <option value=\"2_3y\">2 Years to 3 Years<\/option>\n                            <\/select>\n                        <\/label><br><br>\n\n                        <div class=\"col-12 float-right\">\n                            <button type=\"button\" class=\"gic-calc-btn\">Calculate<\/button>\n                        <\/div>\n                        <div class=\"openaccountarea\" style=\"display:none; margin-top:14px;\">\n                            <div style=\"margin-bottom:10px;\">To open an account with us, please click the button below.<\/div>\n                            <div class=\"col-12 float-right\">\n                                <a class=\"accountbtN_calculator\" href=\"#\" target=\"_blank\" rel=\"noopener\">Open an Account<\/a>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"col-8\">\n                    <div class=\"shaD p-t-0\">\n                        <canvas class=\"gic-chart\"><\/canvas>\n\n                        <div class=\"default_result gic-dashboard\">\n                            <span class=\"totalamounT_tittle\">Total Amount including Interest<\/span>\n                            <strong class=\"totalamounT gic-total\">0<\/strong>\n                            <p class=\"gic-rate-line\" style=\"text-align:center; font-size: 16px; margin-top: 10px;\"><\/p>\n                            <hr \/>\n                            <div class=\"container savingroW\">\n                                <div class=\"row\">\n                                    <div class=\"col-6\">\n                                        <strong>Deposit Amount<\/strong> <span class=\"gic-deposit\">0<\/span><br>\n                                    <\/div>\n                                    <div class=\"col-6\">\n                                        <strong>Interest Earned<\/strong> <span class=\"gic-interest\">0<\/span>\n                                    <\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"gic-result\" style=\"margin-top:20px;\"><\/div>\n                    <\/div>\n                    <p class=\"notE\">*All rates are indicative and subject to change.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/form>\n\n    <style>\n        .notE { text-align:right; padding:20px 0 0; }\n        input.gic-principal { padding: 8.5px 15px; }\n        .p-t-0 { padding-top:0 !important; }\n        .gic-calculator label { width:100%; font-size:15px; font-weight:500; padding-bottom:10px; }\n        .rangespandiV span { font-size:14px; font-weight:500 !important; }\n        .gic-calculator .shaD { box-shadow: 0px 0px 20px 0px #1369EB1A; padding: 40px 35px; border-radius: 15px; position: relative; width: 100%; height: 100%; }\n        .gic-calculator select, .gic-calculator input[type=\"text\"]{ width:100%; border: 1px solid #ddd; border-radius: 4px; height:40px; }\n        .gic-calculator button { background: #1a2159 !important; color: #fff !important; border-radius: 5px; display: block; margin: 0; padding: 7px 20px; }\n        .totalamounT { font-size: 40px; font-weight: 800; line-height: 38px; color: #1c245a; display: block; text-align: center; }\n        .totalamounT_tittle { font-size: 24px; font-weight: 500 !important; line-height: 20.08px; text-align: center; padding-bottom: 10px; display: block; }\n        .savingroW { padding: 5px 0 0; }\n        .savingroW strong { font-size: 18px; font-weight: 500 !important; line-height: 20.08px; text-align: center; padding-bottom: 5px; display: block; }\n        .savingroW .col-6 { text-align:center; font-size:25px; }\n        .intrst_rateS { font-size: 18px; font-weight: 500 !important; text-align: center; }\n        .gic-result { margin-top: 0 !important; }\n        .gic-chart { width: 40% !important; height: auto !important; margin: 0px auto 20px; }\n        .min25erroR { color: red !important; text-align: center; margin: 0 auto; display: block; font-weight: 500 !important; text-transform: capitalize; }\n        .gic-input-wrap{display:flex; align-items:stretch;}\n        .gic-prefix-box{\n            min-width:50px;\n            height:40px;\n            border:1px solid #ddd;\n            border-right:0;\n            border-radius:4px 0 0 4px;\n            display:flex;\n            align-items:center;\n            justify-content:center;\n            font-size:26px;\n            font-weight:700;\n            color:#1c245a;\n            background:#fff;\n            line-height:1;\n        }\n        .gic-calculator .gic-input-wrap input[type=\"text\"]{ border-radius:0 4px 4px 0; }\n        .gic-prefix-box img{height:22px;width:auto;display:block;}\n        .gic-currency-symbol img {max-width:30px;max-height:30px;}\n        @media only screen and (max-width: 767px) { .gic-chart { width: 70% !important; } .totalamounT { font-size: 30px; } .totalamounT_tittle { font-size: 18px; } }\n        .gic-calculator .select2-container--default {\n            visibility:hidden;\n            opacity: 0;  \n            display: none !important;          \n        }\n       .gic-calculator .select2-hidden-accessible {\n            position: static !important;\n            visibility: visible;\n            clip: auto !important;\n            width: 100% !important;\n            border: 1px solid #ddd !important;\n            border-radius: 4px;\n            height: 40px !important;\n       }\n       .gic-le-symbol{\n            vertical-align: baseline;\n        }\n        .openaccountarea{ display:none;padding-top: 15px;}\n        .accountbtN_calculator{\n            background:#1a2159 !important;\n            color:#fff !important;\n            border-radius:5px;\n            display:inline-block;\n            margin-left:auto;\n            margin-right:0;\n            padding:7px 20px;\n            text-decoration:none !important;\n            text-align:center;\n            font-size: 16px;\n            font-weight: 500 !important;\n        }\n    <\/style>\n\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n    <script>\n    (function(){\n        const gicMinPrincipal = 25000;\n        const gicMaxPrincipal = 5000000;\n\n        const gicCurrencies = {\"USD\":{\"name\":\"USD\",\"symbol\":\"$\",\"image_url\":\"http:\\\/\\\/www.iibanks.com\\\/caribbean\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2025\\\/12\\\/usd.png\"},\"EUR\":{\"name\":\"EUR\",\"symbol\":\"\\u20ac\",\"image_url\":\"http:\\\/\\\/www.iibanks.com\\\/caribbean\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2025\\\/12\\\/euro.png\"},\"GBP\":{\"name\":\"GBP\",\"symbol\":\"\\u00a3\",\"image_url\":\"http:\\\/\\\/www.iibanks.com\\\/caribbean\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2025\\\/12\\\/gbp.png\"}};\n        const gicRateMatrix = [{\"min\":0,\"max\":200000,\"rates\":{\"6m_1y\":4,\"1_2y\":4.5,\"2_3y\":5}},{\"min\":200000.01,\"max\":500000,\"rates\":{\"6m_1y\":6,\"1_2y\":6.5,\"2_3y\":7}},{\"min\":500000.01,\"max\":2500000,\"rates\":{\"6m_1y\":6.5,\"1_2y\":7,\"2_3y\":7.5}},{\"min\":2500000.01,\"max\":1.0e+308,\"rates\":{\"6m_1y\":7,\"1_2y\":7.5,\"2_3y\":8}}];\n\n        const gicTenureYears = { \"6m_1y\": 1, \"1_2y\": 2, \"2_3y\": 3 };\n        const gicTenureLabel = { \"6m_1y\": \"6 Months to 1 Year\", \"1_2y\": \"1 Year to 2 Years\", \"2_3y\": \"2 Years to 3 Years\" };\n\n        function getRate(amount, tenureKey){\n            for (const slab of gicRateMatrix){\n                if (amount >= Number(slab.min) && amount <= Number(slab.max)){\n                    return (slab.rates && slab.rates[tenureKey]) ? Number(slab.rates[tenureKey]) : 0;\n                }\n            }\n            return 0;\n        }\n\n        function rawNum(v){\n            const s = String(v||'').replace(\/,\/g,'').trim();\n            if (s==='') return NaN;\n            return parseFloat(s);\n        }\n\n        function firstCurrency(){\n            const keys = Object.keys(gicCurrencies||{});\n            return keys.length ? keys[0] : 'USD';\n        }\n\n        function init(calc){\n            const openAccountArea = calc.querySelector('.openaccountarea');\n            const openAccountBtn  = calc.querySelector('.accountbtN_calculator');\n            const currencySelect = calc.querySelector('.gic-currency');\n            const symbolBox = calc.querySelector('.gic-currency-symbol');\n            const principalInput = calc.querySelector('.gic-principal');\n            const principalSlider = calc.querySelector('.gic-principal-slider');\n            const principalDisplay = calc.querySelector('.gic-principal-display');\n            const tenureSelect = calc.querySelector('.gic-tenure');\n            const calcBtn = calc.querySelector('.gic-calc-btn');\n\n            const totalEl = calc.querySelector('.gic-total');\n            const depEl = calc.querySelector('.gic-deposit');\n            const intEl = calc.querySelector('.gic-interest');\n            const rateLine = calc.querySelector('.gic-rate-line');\n            const resultEl = calc.querySelector('.gic-result');\n\n            const canvas = calc.querySelector('.gic-chart');\n            let chart = null;\n\n            \/\/ Store last calculated numbers so changing currency can update symbol without changing numbers\n            let lastResult = null; \/\/ {p,i,t,rate,tenureLabel}\n\n            function cur(){\n                const code = (currencySelect && currencySelect.value) ? currencySelect.value : '';\n                const c = code && gicCurrencies[code] ? gicCurrencies[code] : null;\n                return { code, symbol: c?.symbol || '$', image_url: c?.image_url || '' };\n            }\n            function prefix(){ return cur().symbol || '$'; }\n\n            function applySymbol(){\n                const c = cur();\n                if (!symbolBox) return;\n                if (c.image_url) symbolBox.innerHTML = `<img src=\"${c.image_url}\" alt=\"\" \/>`;\n                else symbolBox.textContent = c.symbol || '$';\n            }\n\n            function fmt(n){ return new Intl.NumberFormat('en-US',{maximumFractionDigits:0}).format(n); }\n\n            function dashboard(p, i, t, rate, tenureLabelTxt){\n                const pr = prefix();\n                if (totalEl) totalEl.textContent = pr + fmt(t);\n                if (depEl) depEl.textContent = pr + fmt(p);\n                if (intEl) intEl.textContent = pr + fmt(i);\n                if (rateLine){\n                    if (rate && tenureLabelTxt){\n                        rateLine.innerHTML = `at <span class=\"intrst_rateS\">${rate}%<\/span> interest rate for <span class=\"intrst_rateS\">${tenureLabelTxt}<\/span>`;\n                    } else {\n                        rateLine.textContent = '';\n                    }\n                }\n            }\n\n            function showErr(m){ if (resultEl) resultEl.innerHTML = `<span class=\"min25erroR\">${m}<\/span>`; }\n            function clearErr(){ if (resultEl) resultEl.innerHTML = ''; }\n\n            function initChart(){\n                if (!canvas) return;\n                chart = new Chart(canvas,{\n                    type:'doughnut',                    \n                    data:{\n                            labels:['Deposit','Interest'],\n                            datasets:[{\n                                data:[0,0],\n                                borderWidth:0,\n                                backgroundColor: ['#0B165F', '#106BB2']\n                            }]\n                            },\n                    options:{\n                        responsive:true, cutout:'70%', rotation:-90, circumference:180,\n                        plugins:{ legend:{display:false}, tooltip:{ callbacks:{ label:(c)=>`${c.label}: ${prefix()}${fmt(c.raw||0)}` } } }\n                    }\n                });\n            }\n            function updChart(p,i){\n                if (!chart) return;\n                chart.data.datasets[0].data = [p,i];\n                chart.update();\n            }\n\n            function ensureCurrencySelected(){\n                if (!currencySelect) return false;\n                if (!currencySelect.value){\n                    currencySelect.value = currencySelect.dataset.fallback || firstCurrency();\n                    currencySelect.dataset.wasAuto = '1';\n                    return true;\n                }\n                return false;\n            }\n            function revertCurrencyIfNeeded(){\n                if (!currencySelect) return;\n                if (currencySelect.dataset.wasAuto === '1'){\n                    currencySelect.value = '';\n                    delete currencySelect.dataset.wasAuto;\n                }\n            }\n\n            function renderLast(){\n                if (!lastResult) return;\n                dashboard(lastResult.p, lastResult.i, lastResult.t, lastResult.rate, lastResult.tenureLabel);\n                updChart(lastResult.p, lastResult.i);\n            }\n\n            function calculateOnClick(){\n                \/\/ allow calculation even if dropdown is still \"Select Currency\"\n                const autoSet = ensureCurrencySelected();\n                applySymbol();\n\n                let p = rawNum(principalInput ? principalInput.value : '');\n                if (isNaN(p)){\n                    const sv = Number(principalSlider ? principalSlider.value : gicMinPrincipal);\n                    if (principalInput) principalInput.value = fmt(sv);\n                    p = sv;\n                }\n                if (principalDisplay) principalDisplay.textContent = fmt(p);\n\n                const tenureKey = tenureSelect ? tenureSelect.value : '';\n                if (!tenureKey){\n                    showErr('Please select tenure.');\n                    if (autoSet) revertCurrencyIfNeeded();\n                    return;\n                }\n\n                if (p < gicMinPrincipal){ showErr(`The minimum deposit amount should be ${fmt(gicMinPrincipal)}.`); if (autoSet) revertCurrencyIfNeeded(); return; }\n                if (p > gicMaxPrincipal){\n                    showErr(`The maximum deposit amount should be \u2264 ${fmt(gicMaxPrincipal)}.`);\n                    if (autoSet) revertCurrencyIfNeeded();\n                    return;\n                    }\n\n\n                const rate = getRate(p, tenureKey);\n                const years = gicTenureYears[tenureKey] || 0;\n                if (!rate || !years){ showErr('Rate not found for this amount\/tenure.'); if (autoSet) revertCurrencyIfNeeded(); return; }\n\n                const interest = p * (rate\/100) * years;\n                const total = p + interest;\n\n                clearErr();\n                lastResult = { p, i: interest, t: total, rate, tenureLabel: gicTenureLabel[tenureKey] };\n                renderLast();\n\n                if (openAccountArea && openAccountBtn){\n                openAccountArea.style.display = 'block';\n\n                const link = (p <= 200000)\n                    ? \"\/caribbean\/personal\/current-account\/\"\n                    : \"\/caribbean\/personal\/savings-account\/\";\n\n                openAccountBtn.setAttribute('href', link);\n                openAccountBtn.setAttribute('target', '_blank');\n                openAccountBtn.setAttribute('rel', 'noopener noreferrer');\n                }\n\n                if (autoSet) revertCurrencyIfNeeded();\n            }\n\n            \/\/ Init (no auto-calc; dashboard stays as-is until user clicks Calculate)\n            if (currencySelect && !currencySelect.value){\n                currencySelect.value = firstCurrency();\n            }\n            if (principalSlider && principalInput){\n                principalInput.value = fmt(gicMinPrincipal); if (principalSlider) principalSlider.value = gicMinPrincipal;\n            }\n            if (principalDisplay && principalSlider){\n                principalDisplay.textContent = fmt(principalSlider.value || gicMinPrincipal);\n            }\n            initChart();\n            \/\/ show initial symbol in input box even if dropdown still says Select Currency\n            applySymbol();\n            \/\/ Default dashboard should show the default deposit amount (min) with 0 interest\n            dashboard(gicMinPrincipal, 0, gicMinPrincipal, 0, '');\n            updChart(gicMinPrincipal, 0);\n\n\n            \/\/ Events (do NOT change dashboard automatically)\n            if (currencySelect) currencySelect.addEventListener('change', () => {\n                applySymbol();\n                \/\/ If already calculated once, update only the symbol (keep numbers same)\n                if (lastResult) renderLast();\n            });\n\n            if (principalInput) principalInput.addEventListener('input', () => {\n                let v = principalInput.value.replace(\/[^0-9]\/g,'');\n                if (v!==''){\n                    const n = parseInt(v,10);\n                    principalInput.value = fmt(n);\n                    if (principalSlider){\n                        const min = parseInt(principalSlider.min);\n                        const max = parseInt(principalSlider.max);\n                        if (n>=min && n<=max) principalSlider.value = n;\n                    }\n                    if (principalDisplay) principalDisplay.textContent = fmt(n);\n                }\n                \/\/ no recalculation here\n            });\n\n            if (principalSlider) principalSlider.addEventListener('input', () => {\n                if (principalInput) principalInput.value = fmt(principalSlider.value);\n                if (principalDisplay) principalDisplay.textContent = fmt(principalSlider.value);\n                \/\/ no recalculation here\n            });\n\n            if (calcBtn) calcBtn.addEventListener('click', calculateOnClick);\n\n        }\n\n        document.addEventListener('DOMContentLoaded', function(){\n            document.querySelectorAll('form.gic-calculator').forEach(init);\n        });\n    })();\n    <\/script>\n[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>[vc_row tm_bgimagefixed=&#8221;&#8221; css=&#8221;.vc_custom_1765447549181{padding-top: 100px !important;padding-bottom: 200px !important;}&#8221; el_class=&#8221;calculator_visualroW&#8221;][vc_column][vc_column_text css=&#8221;.vc_custom_1767868125030{margin-bottom: 0px !important;}&#8221;][\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/pages\/11714"}],"collection":[{"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/comments?post=11714"}],"version-history":[{"count":3,"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/pages\/11714\/revisions"}],"predecessor-version":[{"id":11717,"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/pages\/11714\/revisions\/11717"}],"wp:attachment":[{"href":"https:\/\/www.iibanks.com\/caribbean\/wp-json\/wp\/v2\/media?parent=11714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}