{"id":7417,"date":"2024-10-05T17:09:49","date_gmt":"2024-10-05T23:09:49","guid":{"rendered":"https:\/\/guatecana.com.gt\/conocenos\/exportaciones\/"},"modified":"2026-02-26T18:00:21","modified_gmt":"2026-02-27T00:00:21","slug":"exports","status":"publish","type":"page","link":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/","title":{"rendered":"Exports"},"content":{"rendered":"\n    \n    \n\n\n  \n    \n\n\n\n    \n\n\n<section  class=\"custom-block block-hero-banner hero-ca\u00f1a font-light font-large \" style=\"background-image: url(https:\/\/www.guatecana.com\/wp-content\/uploads\/2024\/10\/exportacion.png); background-size: cover; background-position: center; \">\n\n\n    \n    <div class=\"  container  hero-container\">\n        <div class=\"row \">\n            <div class=\"col-md-12 py-5 text-center\">\n\n                                \n\n                                    <h1 class=\"hero-title\">Exports<\/h1>\n                                \n                                \n                            <\/div>\n\n\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n\n    \n    \n<section  class=\"custom-block block-image-and-text font-light  aa font-dark\" style=\"background-color: #084f88;  \">\n    <div class=\"container \">\n                    <!-- Stack layout: Image on top, Content below -->\n            <div class=\"row\">\n                <div class=\"col-12 text-center\">\n                    \n                    \n                    \n                                            <div class=\"content\">\n                            <h2>During 2025, the currency generated for Guatemala by exports of this sector was US$1,136 million. Including the sale of:<\/h2>\n\n                        <\/div>\n                                                        <\/div>\n            <\/div>\n            <\/div>\n<\/section>\n\n\n\n<section  class=\"custom-block block-charts\">\n    <div class=\"container\">\n                    <h2 class=\"text-center block-title\">Main products exported by Guatemala in 2025<\/h2>\n                \n                    <h3 class=\"text-center block-subtitle\">(Million of US$. Source: Banco de Guatemala 2026. Data at 2025.)<\/h3>\n        \n        <div class=\"charts-container\" data-charts=\"1\">\n                            <div class=\"chart-wrapper\">\n                    <canvas id=\"chartCanvas_chart-block-69d23f1d62ba5_1\"\n                            data-type=\"bar\"\n                            data-chart='{\n                                \"labels\": [\"Articles of clothing \/ Garments (1,543)\",\"Coffee (1,307)\",\"Sugar and its by-products (1,136)\",\"Bananas (1,056)\",\"Edible fats and oils (823)\"],\n                                \"datasets\": [{\n                                    \"label\": \"\",\n                                    \"data\": [1543,1307,1136,1056,823],\n                                    \"backgroundColor\": [\"#084f88\",\"#084f88\",\"#95c120\",\"#084f88\",\"#084f88\"]\n                                }]\n                            }'>\n                    <\/canvas>\n\n                                    <\/div>\n                    <\/div>\n\n            <\/div>\n<\/section>\n\n<script>\n    if (typeof chartsInstances === \"undefined\") {\n        var chartsInstances = {};\n    }\n\n    function waitForChartJs(callback) {\n        if (typeof Chart !== \"undefined\") {\n            callback();\n        } else {\n            setTimeout(() => waitForChartJs(callback), 100);\n        }\n    }\n\nfunction initChart(canvasId, chartData, chartType) {\n    const canvas = document.getElementById(canvasId);\n    if (!canvas) return;\n\n    const ctx = canvas.getContext(\"2d\");\n\n    \/\/ Ensure we always pass a valid chart type\n    const safeType = (chartType || canvas.getAttribute(\"data-type\") || \"bar\").toLowerCase();\n\n    const isMobile = window.matchMedia && window.matchMedia(\"(max-width: 767px)\").matches;\n    const isBar = safeType === \"bar\";\n\n\n    if (chartsInstances[canvasId]) {\n        chartsInstances[canvasId].destroy();\n    }\n\n        \/\/ If mobile + bar chart, we give each row more vertical space by increasing the wrapper height\n    \/\/ This makes labels + bars less cramped.\n    if (isMobile && isBar) {\n        const rows = Array.isArray(chartData?.labels) ? chartData.labels.length : 0;\n        const minHeight = 260;      \/\/ minimum chart area on mobile\n        const rowHeight = 34;       \/\/ \u2705 increase this to make each row taller on mobile\n        const padding = 80;         \/\/ extra breathing room for title\/axes\n        const dynamicHeight = Math.max(minHeight, (rows * rowHeight) + padding);\n\n        const wrapper = canvas.closest('.chart-wrapper');\n        if (wrapper) {\n            wrapper.style.height = dynamicHeight + 'px';\n        }\n    }\n\n\n    if(chartType.toLowerCase() === \"bar\" && window.matchMedia(\"(max-width: 767px)\").matches) {\n        varindexAxis = 'y';\n        varFontSize = '12' ;\n    }   else {\n        varindexAxis =  'x';\n        varFontSize = '18' ;\n    }\n        \n\n    chartsInstances[canvasId] = new Chart(ctx, {\n        type: chartType.toLowerCase(),\n        data: chartData,\n        options: {\n            responsive: true,\n            maintainAspectRatio: false,\n            indexAxis: varindexAxis,\n            plugins: {\n                legend: {\n                    display: chartType.toLowerCase() !== \"bar\",\n                    labels: {\n                        font: {\n                            size: varFontSize\n                        }\n                    }\n                },\n                tooltip: {\n                    bodyFont: {\n                        size: 28\n                    },\n                    callbacks: {\n                        title: function (tooltipItems) {\n                            return tooltipItems[0].label.split('\\n');\n                        }\n                    }\n                }\n            },\n            scales: [\"bar\", \"line\"].includes(chartType.toLowerCase()) ? {\n                x: {\n                    grid: {\n                        display: false \/\/ Oculta l\u00edneas de referencia en eje X\n                    },\n                    ticks: {\n                        font: {\n                            size: varFontSize\n                        },\n                    \/\/    callback: function(value) {\n                      \/\/      return this.getLabelForValue(value).split('\\n');\n                       \/\/ },\n                            callback: function (value) {\n                            const label = this.getLabelForValue(value);\n                            const maxCharsPerLine = 12; \/\/ \ud83d\udc48 adjust based on column width\n\n                            const words = label.split(' ');\n                            let lines = [];\n                            let currentLine = '';\n\n                            words.forEach(word => {\n                                if ((currentLine + word).length <= maxCharsPerLine) {\n                                    currentLine += (currentLine ? ' ' : '') + word;\n                                } else {\n                                    lines.push(currentLine);\n                                    currentLine = word;\n                                }\n                            });\n\n                            if (currentLine) {\n                                lines.push(currentLine);\n                            }\n\n                            return lines;\n                        }\n                    }\n                },\n                y: {\n                    grid: {\n                        display: false\n                    },\n                    ticks: {\n                        font: { size: varFontSize },\n                        autoSkip: false,       \n                        callback: function (value) {\n                            \/\/ only wrap when the bar is horizontal (mobile)\n                            if (varindexAxis === 'y') {\n                            const label = this.getLabelForValue(value);\n                            return wrapLabel(label, 20); \/\/ tweak 14\u201320\n                            }\n                            return value;\n                        }\n                    }\n                }\n            } : {} \n        }\n    });\n}\n\nfunction wrapLabel(label, maxCharsPerLine = 16) {\n  if (!label) return label;\n  const words = String(label).split(' ');\n  const lines = [];\n  let current = '';\n\n  words.forEach(word => {\n    const test = (current ? current + ' ' : '') + word;\n    if (test.length <= maxCharsPerLine) {\n      current = test;\n    } else {\n      if (current) lines.push(current);\n      current = word;\n    }\n  });\n\n  if (current) lines.push(current);\n  return lines;\n}\n    \n\n    function loadCharts() {\n        document.querySelectorAll(\"[id^='chartCanvas_']\").forEach(canvas => {\n            if (!canvas.dataset.loaded) {\n                canvas.dataset.loaded = \"true\"; \n\n                const chartType = canvas.getAttribute(\"data-type\");\n                const chartData = JSON.parse(canvas.getAttribute(\"data-chart\"));\n\n                waitForChartJs(() => initChart(canvas.id, chartData, chartType));\n            }\n        });\n    }\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n        waitForChartJs(loadCharts);\n    });\n\n    if (typeof observer === \"undefined\") {\n        var observer = new MutationObserver(mutations => {\n            mutations.forEach(mutation => {\n                mutation.addedNodes.forEach(node => {\n                    if (node.querySelector && node.querySelector(\"[id^='chartCanvas_']\")) {\n                        waitForChartJs(loadCharts);\n                    }\n                });\n            });\n        });\n\n        observer.observe(document.body, { childList: true, subtree: true });\n    }\n<\/script>\n\n\n\n\n\n\n    \n<section  class=\"custom-block block-image-and-text aa font-dark\" style=\"background-color: #084f88;  \">\n    <div class=\"container \">\n                    <!-- Stack layout: Image on top, Content below -->\n            <div class=\"row\">\n                <div class=\"col-12 text-start\">\n                    \n                    \n                    \n                                            <div class=\"content\">\n                            <p style=\"text-align: center;\"><strong><br \/>\n<span style=\"color: #b9d613; font-size: 32px;\">7.3% of the country\u00b4s total <\/span><br \/>\n<span style=\"color: #fff; font-size: 32px;\"> exports were represented by sugar and it\u00b4s by products in 2025.<\/span><\/strong><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #fff; font-size: 32px;\"> In 2025 sugar and it\u00b4s byproducts were the 3rd most exported product in Guatemala <\/span><\/p>\n\n                        <\/div>\n                                                        <\/div>\n            <\/div>\n            <\/div>\n<\/section>\n\n\n\n<section  class=\"custom-block block-charts\">\n    <div class=\"container\">\n                    <h2 class=\"text-center block-title\">Main products exported by Guateca\u00f1a 2025<\/h2>\n                \n                    <h3 class=\"text-center block-subtitle\">(Million of US$. Source: Banco de Guatemala 2026. Data at 2025.)<\/h3>\n        \n        <div class=\"charts-container\" data-charts=\"3\">\n                            <div class=\"chart-wrapper\">\n                    <canvas id=\"chartCanvas_chart-block-69d23f1d66375_1\"\n                            data-type=\"doughnut\"\n                            data-chart='{\n                                \"labels\": [\"Sugar 80%\",\"\"],\n                                \"datasets\": [{\n                                    \"label\": \"\",\n                                    \"data\": [80,20],\n                                    \"backgroundColor\": [\"#19619a\",\"#ededed\"]\n                                }]\n                            }'>\n                    <\/canvas>\n\n                                    <\/div>\n                            <div class=\"chart-wrapper\">\n                    <canvas id=\"chartCanvas_chart-block-69d23f1d66375_2\"\n                            data-type=\"doughnut\"\n                            data-chart='{\n                                \"labels\": [\"Ethanol 8%\",\"\"],\n                                \"datasets\": [{\n                                    \"label\": \"\",\n                                    \"data\": [92,8],\n                                    \"backgroundColor\": [\"#ededed\",\"#4bad0d\"]\n                                }]\n                            }'>\n                    <\/canvas>\n\n                                    <\/div>\n                            <div class=\"chart-wrapper\">\n                    <canvas id=\"chartCanvas_chart-block-69d23f1d66375_3\"\n                            data-type=\"doughnut\"\n                            data-chart='{\n                                \"labels\": [\"Molasses 12%\",\"\"],\n                                \"datasets\": [{\n                                    \"label\": \"\",\n                                    \"data\": [88,12],\n                                    \"backgroundColor\": [\"#ededed\",\"#daa218\"]\n                                }]\n                            }'>\n                    <\/canvas>\n\n                                    <\/div>\n                    <\/div>\n\n            <\/div>\n<\/section>\n\n<script>\n    if (typeof chartsInstances === \"undefined\") {\n        var chartsInstances = {};\n    }\n\n    function waitForChartJs(callback) {\n        if (typeof Chart !== \"undefined\") {\n            callback();\n        } else {\n            setTimeout(() => waitForChartJs(callback), 100);\n        }\n    }\n\nfunction initChart(canvasId, chartData, chartType) {\n    const canvas = document.getElementById(canvasId);\n    if (!canvas) return;\n\n    const ctx = canvas.getContext(\"2d\");\n\n    \/\/ Ensure we always pass a valid chart type\n    const safeType = (chartType || canvas.getAttribute(\"data-type\") || \"bar\").toLowerCase();\n\n    const isMobile = window.matchMedia && window.matchMedia(\"(max-width: 767px)\").matches;\n    const isBar = safeType === \"bar\";\n\n\n    if (chartsInstances[canvasId]) {\n        chartsInstances[canvasId].destroy();\n    }\n\n        \/\/ If mobile + bar chart, we give each row more vertical space by increasing the wrapper height\n    \/\/ This makes labels + bars less cramped.\n    if (isMobile && isBar) {\n        const rows = Array.isArray(chartData?.labels) ? chartData.labels.length : 0;\n        const minHeight = 260;      \/\/ minimum chart area on mobile\n        const rowHeight = 34;       \/\/ \u2705 increase this to make each row taller on mobile\n        const padding = 80;         \/\/ extra breathing room for title\/axes\n        const dynamicHeight = Math.max(minHeight, (rows * rowHeight) + padding);\n\n        const wrapper = canvas.closest('.chart-wrapper');\n        if (wrapper) {\n            wrapper.style.height = dynamicHeight + 'px';\n        }\n    }\n\n\n    if(chartType.toLowerCase() === \"bar\" && window.matchMedia(\"(max-width: 767px)\").matches) {\n        varindexAxis = 'y';\n        varFontSize = '12' ;\n    }   else {\n        varindexAxis =  'x';\n        varFontSize = '18' ;\n    }\n        \n\n    chartsInstances[canvasId] = new Chart(ctx, {\n        type: chartType.toLowerCase(),\n        data: chartData,\n        options: {\n            responsive: true,\n            maintainAspectRatio: false,\n            indexAxis: varindexAxis,\n            plugins: {\n                legend: {\n                    display: chartType.toLowerCase() !== \"bar\",\n                    labels: {\n                        font: {\n                            size: varFontSize\n                        }\n                    }\n                },\n                tooltip: {\n                    bodyFont: {\n                        size: 28\n                    },\n                    callbacks: {\n                        title: function (tooltipItems) {\n                            return tooltipItems[0].label.split('\\n');\n                        }\n                    }\n                }\n            },\n            scales: [\"bar\", \"line\"].includes(chartType.toLowerCase()) ? {\n                x: {\n                    grid: {\n                        display: false \/\/ Oculta l\u00edneas de referencia en eje X\n                    },\n                    ticks: {\n                        font: {\n                            size: varFontSize\n                        },\n                    \/\/    callback: function(value) {\n                      \/\/      return this.getLabelForValue(value).split('\\n');\n                       \/\/ },\n                            callback: function (value) {\n                            const label = this.getLabelForValue(value);\n                            const maxCharsPerLine = 12; \/\/ \ud83d\udc48 adjust based on column width\n\n                            const words = label.split(' ');\n                            let lines = [];\n                            let currentLine = '';\n\n                            words.forEach(word => {\n                                if ((currentLine + word).length <= maxCharsPerLine) {\n                                    currentLine += (currentLine ? ' ' : '') + word;\n                                } else {\n                                    lines.push(currentLine);\n                                    currentLine = word;\n                                }\n                            });\n\n                            if (currentLine) {\n                                lines.push(currentLine);\n                            }\n\n                            return lines;\n                        }\n                    }\n                },\n                y: {\n                    grid: {\n                        display: false\n                    },\n                    ticks: {\n                        font: { size: varFontSize },\n                        autoSkip: false,       \n                        callback: function (value) {\n                            \/\/ only wrap when the bar is horizontal (mobile)\n                            if (varindexAxis === 'y') {\n                            const label = this.getLabelForValue(value);\n                            return wrapLabel(label, 20); \/\/ tweak 14\u201320\n                            }\n                            return value;\n                        }\n                    }\n                }\n            } : {} \n        }\n    });\n}\n\nfunction wrapLabel(label, maxCharsPerLine = 16) {\n  if (!label) return label;\n  const words = String(label).split(' ');\n  const lines = [];\n  let current = '';\n\n  words.forEach(word => {\n    const test = (current ? current + ' ' : '') + word;\n    if (test.length <= maxCharsPerLine) {\n      current = test;\n    } else {\n      if (current) lines.push(current);\n      current = word;\n    }\n  });\n\n  if (current) lines.push(current);\n  return lines;\n}\n    \n\n    function loadCharts() {\n        document.querySelectorAll(\"[id^='chartCanvas_']\").forEach(canvas => {\n            if (!canvas.dataset.loaded) {\n                canvas.dataset.loaded = \"true\"; \n\n                const chartType = canvas.getAttribute(\"data-type\");\n                const chartData = JSON.parse(canvas.getAttribute(\"data-chart\"));\n\n                waitForChartJs(() => initChart(canvas.id, chartData, chartType));\n            }\n        });\n    }\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n        waitForChartJs(loadCharts);\n    });\n\n    if (typeof observer === \"undefined\") {\n        var observer = new MutationObserver(mutations => {\n            mutations.forEach(mutation => {\n                mutation.addedNodes.forEach(node => {\n                    if (node.querySelector && node.querySelector(\"[id^='chartCanvas_']\")) {\n                        waitForChartJs(loadCharts);\n                    }\n                });\n            });\n        });\n\n        observer.observe(document.body, { childList: true, subtree: true });\n    }\n<\/script>\n\n\n\n\n\n\n    \n    \n\n                    \n\n\n<section  class=\"custom-block block-basic-content-columns text-dark\" style=\"background-color: #479fda; \">\n    \n    <div class=\"container\">\n                    <div class=\"row text-center\">\n                \n                \n                                                                      \n                                \n                    <div class=\" mb-sm-2 col-md-12 \"> \n                                                    <div class=\"wrapper-image\">\n                                <img decoding=\"async\" src=\"https:\/\/www.guatecana.com\/wp-content\/uploads\/2026\/02\/Productores_Exportadores_1614_1110px_Ingles_.jpg\" alt=\"\" class=\"block-image\">\n                            <\/div>\n                                                \n                        \n\n\n\n                                                \n                    <\/div>\n                            <\/div>\n            <\/div>\n<\/section>\n\n\n\n<section  class=\"custom-block block-charts\">\n    <div class=\"container\">\n                    <h2 class=\"text-center block-title\">Main destinations of sugar exported by Guatemala in 2025<\/h2>\n                \n                    <h3 class=\"text-center block-subtitle\">(Percentage of the total sugar exported in 2025. Source: Banco de Guatemala 2026. Data at 2025.)<\/h3>\n        \n        <div class=\"charts-container\" data-charts=\"1\">\n                            <div class=\"chart-wrapper\">\n                    <canvas id=\"chartCanvas_chart-block-69d23f1d6c58e_1\"\n                            data-type=\"pie\"\n                            data-chart='{\n                                \"labels\": [\"Europe 5%\",\"Asia 22%\",\"Africa 31%\",\"Oceania 2%\",\"American continent \/ The Americas 42%\"],\n                                \"datasets\": [{\n                                    \"label\": \"\",\n                                    \"data\": [5,22,31,2,42],\n                                    \"backgroundColor\": [\"#479fda\",\"#347ab5\",\"#4faca9\",\"#a3cae7\",\"#084f88\"]\n                                }]\n                            }'>\n                    <\/canvas>\n\n                                    <\/div>\n                    <\/div>\n\n            <\/div>\n<\/section>\n\n<script>\n    if (typeof chartsInstances === \"undefined\") {\n        var chartsInstances = {};\n    }\n\n    function waitForChartJs(callback) {\n        if (typeof Chart !== \"undefined\") {\n            callback();\n        } else {\n            setTimeout(() => waitForChartJs(callback), 100);\n        }\n    }\n\nfunction initChart(canvasId, chartData, chartType) {\n    const canvas = document.getElementById(canvasId);\n    if (!canvas) return;\n\n    const ctx = canvas.getContext(\"2d\");\n\n    \/\/ Ensure we always pass a valid chart type\n    const safeType = (chartType || canvas.getAttribute(\"data-type\") || \"bar\").toLowerCase();\n\n    const isMobile = window.matchMedia && window.matchMedia(\"(max-width: 767px)\").matches;\n    const isBar = safeType === \"bar\";\n\n\n    if (chartsInstances[canvasId]) {\n        chartsInstances[canvasId].destroy();\n    }\n\n        \/\/ If mobile + bar chart, we give each row more vertical space by increasing the wrapper height\n    \/\/ This makes labels + bars less cramped.\n    if (isMobile && isBar) {\n        const rows = Array.isArray(chartData?.labels) ? chartData.labels.length : 0;\n        const minHeight = 260;      \/\/ minimum chart area on mobile\n        const rowHeight = 34;       \/\/ \u2705 increase this to make each row taller on mobile\n        const padding = 80;         \/\/ extra breathing room for title\/axes\n        const dynamicHeight = Math.max(minHeight, (rows * rowHeight) + padding);\n\n        const wrapper = canvas.closest('.chart-wrapper');\n        if (wrapper) {\n            wrapper.style.height = dynamicHeight + 'px';\n        }\n    }\n\n\n    if(chartType.toLowerCase() === \"bar\" && window.matchMedia(\"(max-width: 767px)\").matches) {\n        varindexAxis = 'y';\n        varFontSize = '12' ;\n    }   else {\n        varindexAxis =  'x';\n        varFontSize = '18' ;\n    }\n        \n\n    chartsInstances[canvasId] = new Chart(ctx, {\n        type: chartType.toLowerCase(),\n        data: chartData,\n        options: {\n            responsive: true,\n            maintainAspectRatio: false,\n            indexAxis: varindexAxis,\n            plugins: {\n                legend: {\n                    display: chartType.toLowerCase() !== \"bar\",\n                    labels: {\n                        font: {\n                            size: varFontSize\n                        }\n                    }\n                },\n                tooltip: {\n                    bodyFont: {\n                        size: 28\n                    },\n                    callbacks: {\n                        title: function (tooltipItems) {\n                            return tooltipItems[0].label.split('\\n');\n                        }\n                    }\n                }\n            },\n            scales: [\"bar\", \"line\"].includes(chartType.toLowerCase()) ? {\n                x: {\n                    grid: {\n                        display: false \/\/ Oculta l\u00edneas de referencia en eje X\n                    },\n                    ticks: {\n                        font: {\n                            size: varFontSize\n                        },\n                    \/\/    callback: function(value) {\n                      \/\/      return this.getLabelForValue(value).split('\\n');\n                       \/\/ },\n                            callback: function (value) {\n                            const label = this.getLabelForValue(value);\n                            const maxCharsPerLine = 12; \/\/ \ud83d\udc48 adjust based on column width\n\n                            const words = label.split(' ');\n                            let lines = [];\n                            let currentLine = '';\n\n                            words.forEach(word => {\n                                if ((currentLine + word).length <= maxCharsPerLine) {\n                                    currentLine += (currentLine ? ' ' : '') + word;\n                                } else {\n                                    lines.push(currentLine);\n                                    currentLine = word;\n                                }\n                            });\n\n                            if (currentLine) {\n                                lines.push(currentLine);\n                            }\n\n                            return lines;\n                        }\n                    }\n                },\n                y: {\n                    grid: {\n                        display: false\n                    },\n                    ticks: {\n                        font: { size: varFontSize },\n                        autoSkip: false,       \n                        callback: function (value) {\n                            \/\/ only wrap when the bar is horizontal (mobile)\n                            if (varindexAxis === 'y') {\n                            const label = this.getLabelForValue(value);\n                            return wrapLabel(label, 20); \/\/ tweak 14\u201320\n                            }\n                            return value;\n                        }\n                    }\n                }\n            } : {} \n        }\n    });\n}\n\nfunction wrapLabel(label, maxCharsPerLine = 16) {\n  if (!label) return label;\n  const words = String(label).split(' ');\n  const lines = [];\n  let current = '';\n\n  words.forEach(word => {\n    const test = (current ? current + ' ' : '') + word;\n    if (test.length <= maxCharsPerLine) {\n      current = test;\n    } else {\n      if (current) lines.push(current);\n      current = word;\n    }\n  });\n\n  if (current) lines.push(current);\n  return lines;\n}\n    \n\n    function loadCharts() {\n        document.querySelectorAll(\"[id^='chartCanvas_']\").forEach(canvas => {\n            if (!canvas.dataset.loaded) {\n                canvas.dataset.loaded = \"true\"; \n\n                const chartType = canvas.getAttribute(\"data-type\");\n                const chartData = JSON.parse(canvas.getAttribute(\"data-chart\"));\n\n                waitForChartJs(() => initChart(canvas.id, chartData, chartType));\n            }\n        });\n    }\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n        waitForChartJs(loadCharts);\n    });\n\n    if (typeof observer === \"undefined\") {\n        var observer = new MutationObserver(mutations => {\n            mutations.forEach(mutation => {\n                mutation.addedNodes.forEach(node => {\n                    if (node.querySelector && node.querySelector(\"[id^='chartCanvas_']\")) {\n                        waitForChartJs(loadCharts);\n                    }\n                });\n            });\n        });\n\n        observer.observe(document.body, { childList: true, subtree: true });\n    }\n<\/script>\n\n\n\n\n\n\n<section  class=\"custom-block block-charts\">\n    <div class=\"container\">\n                    <h2 class=\"text-center block-title\">Main destinations for sugar exports produced in Guatemala in 2025<\/h2>\n                \n                    <h3 class=\"text-center block-subtitle\">(Percentage of total sugar exported in 2025. Source: Bank of Guatemala 2026. Data at 2025.)<\/h3>\n        \n        <div class=\"charts-container\" data-charts=\"1\">\n                            <div class=\"chart-wrapper\">\n                    <canvas id=\"chartCanvas_chart-block-69d23f1d6cb64_1\"\n                            data-type=\"bar\"\n                            data-chart='{\n                                \"labels\": [\"United States (12)\",\"Canada (11)\",\"Taiwan (10)\",\"Ivory Coast (7)\",\"Libya (5)\",\"Ghana (5)\",\"Chile (5)\",\"Mauritania (5)\",\"Senegal (4)\",\"Malaysia (4)\"],\n                                \"datasets\": [{\n                                    \"label\": \"\",\n                                    \"data\": [12,11,10,7,5,5,5,5,4,4],\n                                    \"backgroundColor\": [\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\",\"#084f88\"]\n                                }]\n                            }'>\n                    <\/canvas>\n\n                                    <\/div>\n                    <\/div>\n\n            <\/div>\n<\/section>\n\n<script>\n    if (typeof chartsInstances === \"undefined\") {\n        var chartsInstances = {};\n    }\n\n    function waitForChartJs(callback) {\n        if (typeof Chart !== \"undefined\") {\n            callback();\n        } else {\n            setTimeout(() => waitForChartJs(callback), 100);\n        }\n    }\n\nfunction initChart(canvasId, chartData, chartType) {\n    const canvas = document.getElementById(canvasId);\n    if (!canvas) return;\n\n    const ctx = canvas.getContext(\"2d\");\n\n    \/\/ Ensure we always pass a valid chart type\n    const safeType = (chartType || canvas.getAttribute(\"data-type\") || \"bar\").toLowerCase();\n\n    const isMobile = window.matchMedia && window.matchMedia(\"(max-width: 767px)\").matches;\n    const isBar = safeType === \"bar\";\n\n\n    if (chartsInstances[canvasId]) {\n        chartsInstances[canvasId].destroy();\n    }\n\n        \/\/ If mobile + bar chart, we give each row more vertical space by increasing the wrapper height\n    \/\/ This makes labels + bars less cramped.\n    if (isMobile && isBar) {\n        const rows = Array.isArray(chartData?.labels) ? chartData.labels.length : 0;\n        const minHeight = 260;      \/\/ minimum chart area on mobile\n        const rowHeight = 34;       \/\/ \u2705 increase this to make each row taller on mobile\n        const padding = 80;         \/\/ extra breathing room for title\/axes\n        const dynamicHeight = Math.max(minHeight, (rows * rowHeight) + padding);\n\n        const wrapper = canvas.closest('.chart-wrapper');\n        if (wrapper) {\n            wrapper.style.height = dynamicHeight + 'px';\n        }\n    }\n\n\n    if(chartType.toLowerCase() === \"bar\" && window.matchMedia(\"(max-width: 767px)\").matches) {\n        varindexAxis = 'y';\n        varFontSize = '12' ;\n    }   else {\n        varindexAxis =  'x';\n        varFontSize = '18' ;\n    }\n        \n\n    chartsInstances[canvasId] = new Chart(ctx, {\n        type: chartType.toLowerCase(),\n        data: chartData,\n        options: {\n            responsive: true,\n            maintainAspectRatio: false,\n            indexAxis: varindexAxis,\n            plugins: {\n                legend: {\n                    display: chartType.toLowerCase() !== \"bar\",\n                    labels: {\n                        font: {\n                            size: varFontSize\n                        }\n                    }\n                },\n                tooltip: {\n                    bodyFont: {\n                        size: 28\n                    },\n                    callbacks: {\n                        title: function (tooltipItems) {\n                            return tooltipItems[0].label.split('\\n');\n                        }\n                    }\n                }\n            },\n            scales: [\"bar\", \"line\"].includes(chartType.toLowerCase()) ? {\n                x: {\n                    grid: {\n                        display: false \/\/ Oculta l\u00edneas de referencia en eje X\n                    },\n                    ticks: {\n                        font: {\n                            size: varFontSize\n                        },\n                    \/\/    callback: function(value) {\n                      \/\/      return this.getLabelForValue(value).split('\\n');\n                       \/\/ },\n                            callback: function (value) {\n                            const label = this.getLabelForValue(value);\n                            const maxCharsPerLine = 12; \/\/ \ud83d\udc48 adjust based on column width\n\n                            const words = label.split(' ');\n                            let lines = [];\n                            let currentLine = '';\n\n                            words.forEach(word => {\n                                if ((currentLine + word).length <= maxCharsPerLine) {\n                                    currentLine += (currentLine ? ' ' : '') + word;\n                                } else {\n                                    lines.push(currentLine);\n                                    currentLine = word;\n                                }\n                            });\n\n                            if (currentLine) {\n                                lines.push(currentLine);\n                            }\n\n                            return lines;\n                        }\n                    }\n                },\n                y: {\n                    grid: {\n                        display: false\n                    },\n                    ticks: {\n                        font: { size: varFontSize },\n                        autoSkip: false,       \n                        callback: function (value) {\n                            \/\/ only wrap when the bar is horizontal (mobile)\n                            if (varindexAxis === 'y') {\n                            const label = this.getLabelForValue(value);\n                            return wrapLabel(label, 20); \/\/ tweak 14\u201320\n                            }\n                            return value;\n                        }\n                    }\n                }\n            } : {} \n        }\n    });\n}\n\nfunction wrapLabel(label, maxCharsPerLine = 16) {\n  if (!label) return label;\n  const words = String(label).split(' ');\n  const lines = [];\n  let current = '';\n\n  words.forEach(word => {\n    const test = (current ? current + ' ' : '') + word;\n    if (test.length <= maxCharsPerLine) {\n      current = test;\n    } else {\n      if (current) lines.push(current);\n      current = word;\n    }\n  });\n\n  if (current) lines.push(current);\n  return lines;\n}\n    \n\n    function loadCharts() {\n        document.querySelectorAll(\"[id^='chartCanvas_']\").forEach(canvas => {\n            if (!canvas.dataset.loaded) {\n                canvas.dataset.loaded = \"true\"; \n\n                const chartType = canvas.getAttribute(\"data-type\");\n                const chartData = JSON.parse(canvas.getAttribute(\"data-chart\"));\n\n                waitForChartJs(() => initChart(canvas.id, chartData, chartType));\n            }\n        });\n    }\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n        waitForChartJs(loadCharts);\n    });\n\n    if (typeof observer === \"undefined\") {\n        var observer = new MutationObserver(mutations => {\n            mutations.forEach(mutation => {\n                mutation.addedNodes.forEach(node => {\n                    if (node.querySelector && node.querySelector(\"[id^='chartCanvas_']\")) {\n                        waitForChartJs(loadCharts);\n                    }\n                });\n            });\n        });\n\n        observer.observe(document.body, { childList: true, subtree: true });\n    }\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":10000,"parent":7304,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-7417","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Exports - GUATECA\u00d1A<\/title>\n<meta name=\"description\" content=\"Sugar and its byproducts were the 5th largest export product in Guatemala for 2023.\u00a0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/\",\"url\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/\",\"name\":\"Exports - GUATECA\u00d1A\",\"isPartOf\":{\"@id\":\"https:\/\/www.guatecana.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.guatecana.com\/wp-content\/uploads\/2021\/08\/asazgua-es-habilitada-como-operador-economico-autorizado-por-la-sat-2-min-jpg.avif\",\"datePublished\":\"2024-10-05T23:09:49+00:00\",\"dateModified\":\"2026-02-27T00:00:21+00:00\",\"description\":\"Sugar and its byproducts were the 5th largest export product in Guatemala for 2023.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#primaryimage\",\"url\":\"https:\/\/www.guatecana.com\/wp-content\/uploads\/2021\/08\/asazgua-es-habilitada-como-operador-economico-autorizado-por-la-sat-2-min-jpg.avif\",\"contentUrl\":\"https:\/\/www.guatecana.com\/wp-content\/uploads\/2021\/08\/asazgua-es-habilitada-como-operador-economico-autorizado-por-la-sat-2-min-jpg.avif\",\"width\":1024,\"height\":768,\"caption\":\"La terminal especializada en la exportaci\u00f3n de az\u00facar, Expogranel env\u00eda el edulcorante a todos los continentes.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/guatecana.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get to know us\",\"item\":\"https:\/\/guatecana.com\/en\/get-to-know-us\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Exports\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.guatecana.com\/en\/#website\",\"url\":\"https:\/\/www.guatecana.com\/en\/\",\"name\":\"GUATECA\u00d1A\",\"description\":\"GUATECA\u00d1A\",\"publisher\":{\"@id\":\"https:\/\/www.guatecana.com\/en\/#organization\"},\"alternateName\":\"guatecana.com\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.guatecana.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.guatecana.com\/en\/#organization\",\"name\":\"GUATECA\u00d1A\",\"url\":\"https:\/\/www.guatecana.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.guatecana.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/168.232.78.227\/wp-content\/uploads\/2024\/10\/logo.svg\",\"contentUrl\":\"https:\/\/168.232.78.227\/wp-content\/uploads\/2024\/10\/logo.svg\",\"width\":423,\"height\":79,\"caption\":\"GUATECA\u00d1A\"},\"image\":{\"@id\":\"https:\/\/www.guatecana.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/guatecana.gt\/\",\"https:\/\/x.com\/AsazguaGT\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Exports - GUATECA\u00d1A","description":"Sugar and its byproducts were the 5th largest export product in Guatemala for 2023.\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/","url":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/","name":"Exports - GUATECA\u00d1A","isPartOf":{"@id":"https:\/\/www.guatecana.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#primaryimage"},"image":{"@id":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#primaryimage"},"thumbnailUrl":"https:\/\/www.guatecana.com\/wp-content\/uploads\/2021\/08\/asazgua-es-habilitada-como-operador-economico-autorizado-por-la-sat-2-min-jpg.avif","datePublished":"2024-10-05T23:09:49+00:00","dateModified":"2026-02-27T00:00:21+00:00","description":"Sugar and its byproducts were the 5th largest export product in Guatemala for 2023.\u00a0","breadcrumb":{"@id":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#primaryimage","url":"https:\/\/www.guatecana.com\/wp-content\/uploads\/2021\/08\/asazgua-es-habilitada-como-operador-economico-autorizado-por-la-sat-2-min-jpg.avif","contentUrl":"https:\/\/www.guatecana.com\/wp-content\/uploads\/2021\/08\/asazgua-es-habilitada-como-operador-economico-autorizado-por-la-sat-2-min-jpg.avif","width":1024,"height":768,"caption":"La terminal especializada en la exportaci\u00f3n de az\u00facar, Expogranel env\u00eda el edulcorante a todos los continentes."},{"@type":"BreadcrumbList","@id":"https:\/\/www.guatecana.com\/en\/get-to-know-us\/exports\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/guatecana.com\/en\/"},{"@type":"ListItem","position":2,"name":"Get to know us","item":"https:\/\/guatecana.com\/en\/get-to-know-us\/"},{"@type":"ListItem","position":3,"name":"Exports"}]},{"@type":"WebSite","@id":"https:\/\/www.guatecana.com\/en\/#website","url":"https:\/\/www.guatecana.com\/en\/","name":"GUATECA\u00d1A","description":"GUATECA\u00d1A","publisher":{"@id":"https:\/\/www.guatecana.com\/en\/#organization"},"alternateName":"guatecana.com","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.guatecana.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.guatecana.com\/en\/#organization","name":"GUATECA\u00d1A","url":"https:\/\/www.guatecana.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.guatecana.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/168.232.78.227\/wp-content\/uploads\/2024\/10\/logo.svg","contentUrl":"https:\/\/168.232.78.227\/wp-content\/uploads\/2024\/10\/logo.svg","width":423,"height":79,"caption":"GUATECA\u00d1A"},"image":{"@id":"https:\/\/www.guatecana.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/guatecana.gt\/","https:\/\/x.com\/AsazguaGT"]}]}},"_links":{"self":[{"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/pages\/7417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/comments?post=7417"}],"version-history":[{"count":32,"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/pages\/7417\/revisions"}],"predecessor-version":[{"id":14249,"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/pages\/7417\/revisions\/14249"}],"up":[{"embeddable":true,"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/pages\/7304"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/media\/10000"}],"wp:attachment":[{"href":"https:\/\/www.guatecana.com\/en\/wp-json\/wp\/v2\/media?parent=7417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}