{"id":6370,"date":"2026-07-21T16:25:32","date_gmt":"2026-07-21T16:25:32","guid":{"rendered":"https:\/\/ceo.com.pl\/en\/?p=6370"},"modified":"2026-07-21T16:25:40","modified_gmt":"2026-07-21T16:25:40","slug":"polands-cattle-population-falls-to-its-lowest-level-since-2016-2016","status":"publish","type":"post","link":"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/","title":{"rendered":"Poland\u2019s Cattle Population Falls to Its Lowest Level Since 2016"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">At the end of 2025, Poland\u2019s cattle population fell to its lowest level since 2016. At the same time, the number of pigs increased after the decline recorded a year earlier, while the chicken population remained at a historically high level. The latest Statistics Poland report, \u201cLivestock in 2025\u201d, also shows that animal production is heavily concentrated in a small number of voivodeships. Wielkopolskie, Mazowieckie and Podlaskie dominate cattle farming, Wielkopolskie and Mazowieckie lead in pig production, while almost half of the country\u2019s chicken population is located in Mazowieckie and Wielkopolskie.<\/p>\n\n\n\n<div class=\"zw25-wrap\">\n\n<style>\n.zw25-wrap{\n  --zw25-navy:#131F49;\n  --zw25-amber:#e67a2d;\n  --zw25-green:#5a8f5a;\n  --zw25-bg:#f7f8fb;\n  --zw25-line:#e3e6ef;\n  --zw25-text:#1c2333;\n  --zw25-muted:#6b7188;\n  font-family:Georgia,'Times New Roman',serif;\n  color:var(--zw25-text);\n  line-height:1.7;\n  max-width:900px;\n  margin:0 auto;\n}\n\n.zw25-wrap *,\n.zw25-wrap *::before,\n.zw25-wrap *::after{\n  box-sizing:border-box;\n}\n\n.zw25-wrap h2{\n  font-family:Arial,Helvetica,sans-serif;\n  color:var(--zw25-navy);\n  font-size:1.55em;\n  line-height:1.3;\n  margin:2.2em 0 0.65em;\n  border-left:5px solid var(--zw25-amber);\n  padding-left:0.55em;\n}\n\n.zw25-wrap h3{\n  font-family:Arial,Helvetica,sans-serif;\n  color:var(--zw25-navy);\n  font-size:1.2em;\n  line-height:1.35;\n  margin:1.6em 0 0.55em;\n}\n\n.zw25-wrap p{\n  margin:0 0 1em;\n  font-size:1.05em;\n}\n\n.zw25-dateline{\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:0.9em!important;\n  line-height:1.55;\n  color:#5b6280;\n  background:var(--zw25-bg);\n  border:1px solid var(--zw25-line);\n  border-radius:6px;\n  padding:0.75em 1em;\n  margin:0.5em 0 1.6em!important;\n  display:inline-block;\n}\n\n.zw25-lead{\n  font-size:1.16em!important;\n  line-height:1.68;\n  font-weight:600;\n  color:#333a52;\n  background:#f2f4f8;\n  border-left:5px solid var(--zw25-navy);\n  border-radius:0 8px 8px 0;\n  padding:1.2em 1.35em;\n  margin:0 0 1.8em!important;\n}\n\n.zw25-callout{\n  background:var(--zw25-navy);\n  border-radius:10px;\n  padding:1.35em 1.5em;\n  margin:1.8em 0;\n  box-shadow:0 8px 24px rgba(19,31,73,0.12);\n}\n\n.zw25-callout p,\n.zw25-callout li,\n.zw25-callout strong{\n  color:#ffffff!important;\n}\n\n.zw25-callout h3{\n  color:#ffffff!important;\n  margin-top:0;\n  margin-bottom:0.7em;\n}\n\n.zw25-callout p:last-child{\n  margin-bottom:0;\n}\n\n.zw25-chart-box{\n  position:relative;\n  background:#ffffff;\n  border:1px solid var(--zw25-line);\n  border-radius:10px;\n  padding:1.25em 1.2em 0.8em;\n  margin:1.7em 0;\n  box-shadow:0 5px 18px rgba(19,31,73,0.05);\n}\n\n.zw25-chart-inner{\n  position:relative;\n  width:100%;\n  min-height:360px;\n}\n\n.zw25-chart-inner canvas{\n  width:100%!important;\n  height:360px!important;\n}\n\n.zw25-chart-caption{\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:0.82em!important;\n  line-height:1.5;\n  color:var(--zw25-muted);\n  text-align:center;\n  margin:0.7em 0 0!important;\n}\n\n.zw25-table-wrap{\n  overflow-x:auto;\n  -webkit-overflow-scrolling:touch;\n  margin:1.5em 0;\n  border:1px solid var(--zw25-line);\n  border-radius:9px;\n  background:#ffffff;\n}\n\n.zw25-table{\n  width:100%;\n  min-width:680px;\n  border-collapse:collapse;\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:0.92em;\n}\n\n.zw25-table th{\n  background:var(--zw25-navy);\n  color:#ffffff!important;\n  text-align:left;\n  padding:0.75em 0.8em;\n  border-right:1px solid rgba(255,255,255,0.15);\n  white-space:nowrap;\n}\n\n.zw25-table th:last-child{\n  border-right:0;\n}\n\n.zw25-table td{\n  padding:0.66em 0.8em;\n  border-bottom:1px solid var(--zw25-line);\n  vertical-align:middle;\n}\n\n.zw25-table tbody tr:last-child td{\n  border-bottom:0;\n}\n\n.zw25-table tr:nth-child(even) td{\n  background:var(--zw25-bg);\n}\n\n.zw25-table td.zw25-num{\n  text-align:right;\n  font-variant-numeric:tabular-nums;\n  white-space:nowrap;\n}\n\n.zw25-source{\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:0.82em!important;\n  line-height:1.55;\n  color:#8188a0;\n  margin-top:2em!important;\n  border-top:1px solid var(--zw25-line);\n  padding-top:0.9em;\n}\n\n.zw25-flagnote{\n  font-family:Arial,Helvetica,sans-serif;\n  font-size:0.9em;\n  line-height:1.6;\n  color:#704718;\n  background:#fdf3e7;\n  border:1px solid #f0d5ae;\n  border-left:5px solid var(--zw25-amber);\n  border-radius:6px;\n  padding:0.8em 1em;\n  margin:1.2em 0 1.5em;\n}\n\n.zw25-stat-grid{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:14px;\n  margin:1.6em 0;\n}\n\n.zw25-stat{\n  background:#ffffff;\n  border:1px solid var(--zw25-line);\n  border-top:4px solid var(--zw25-amber);\n  border-radius:9px;\n  padding:1em;\n  text-align:center;\n  box-shadow:0 4px 14px rgba(19,31,73,0.05);\n}\n\n.zw25-stat strong{\n  display:block;\n  font-family:Arial,Helvetica,sans-serif;\n  color:var(--zw25-navy);\n  font-size:1.45em;\n  line-height:1.2;\n  margin-bottom:0.3em;\n}\n\n.zw25-stat span{\n  display:block;\n  font-family:Arial,Helvetica,sans-serif;\n  color:#626981;\n  font-size:0.85em;\n  line-height:1.45;\n}\n\n@media (max-width:767px){\n  .zw25-wrap{\n    line-height:1.65;\n  }\n\n  .zw25-wrap h2{\n    font-size:1.35em;\n    margin-top:1.9em;\n  }\n\n  .zw25-wrap h3{\n    font-size:1.1em;\n  }\n\n  .zw25-wrap p{\n    font-size:1em;\n  }\n\n  .zw25-lead{\n    font-size:1.07em!important;\n    padding:1em 1.05em;\n  }\n\n  .zw25-dateline{\n    font-size:0.84em!important;\n  }\n\n  .zw25-stat-grid{\n    grid-template-columns:1fr;\n    gap:10px;\n  }\n\n  .zw25-chart-box{\n    padding:1em 0.65em 0.7em;\n    margin-left:-5px;\n    margin-right:-5px;\n  }\n\n  .zw25-chart-inner{\n    min-height:330px;\n  }\n\n  .zw25-chart-inner canvas{\n    height:330px!important;\n  }\n\n  .zw25-callout{\n    padding:1.1em;\n  }\n}\n\n@media (max-width:480px){\n  .zw25-chart-inner{\n    min-height:310px;\n  }\n\n  .zw25-chart-inner canvas{\n    height:310px!important;\n  }\n\n  .zw25-chart-caption{\n    font-size:0.76em!important;\n  }\n}\n<\/style>\n\n<p class=\"zw25-dateline\">\nData: livestock population as of December 2025. Cattle, sheep and goat numbers \u2014 ARMA administrative register; pig and poultry numbers \u2014 Statistics Poland sample surveys and statistical reporting. Statistics Poland publication: July 2026.\n<\/p>\n\n\n<div class=\"zw25-stat-grid\">\n  <div class=\"zw25-stat\">\n    <strong>6.14 million<\/strong>\n    <span>cattle population in December 2025<\/span>\n  <\/div>\n\n  <div class=\"zw25-stat\">\n    <strong>9.23 million<\/strong>\n    <span>pig population in December 2025<\/span>\n  <\/div>\n\n  <div class=\"zw25-stat\">\n    <strong>247.5 million<\/strong>\n    <span>chicken population in December 2025<\/span>\n  <\/div>\n<\/div>\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Cattle_population_at_its_lowest_level_since_2016\" >Cattle: population at its lowest level since 2016<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Annual_changes_by_voivodeship\" >Annual changes by voivodeship<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Pigs_a_rebound_after_the_decline_recorded_in_2024\" >Pigs: a rebound after the decline recorded in 2024<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Poultry_the_strongest_long-term_growth\" >Poultry: the strongest long-term growth<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Sheep_and_goats_small-scale_production_with_strong_regional_concentration\" >Sheep and goats: small-scale production with strong regional concentration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Slaughter_fewer_cattle_more_pigs\" >Slaughter: fewer cattle, more pigs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Livestock_populations_in_the_leading_voivodeships\" >Livestock populations in the leading voivodeships<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/ceo.com.pl\/en\/polands-cattle-population-falls-to-its-lowest-level-since-2016-2016\/#Key_conclusions_for_the_agri-food_sector\" >Key conclusions for the agri-food sector<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Cattle_population_at_its_lowest_level_since_2016\"><\/span>Cattle: population at its lowest level since 2016<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>\nAt the end of December 2025, Poland\u2019s cattle population stood at 6,143.3 thousand head, down 0.8% from a year earlier. This total included 2,091.0 thousand cows, 0.5% fewer than in December 2024.\n<\/p>\n\n<p>\nThe decline was considerably more pronounced in the June data. In June 2025, the cow population amounted to 2,159.0 thousand head, compared with 2,335.6 thousand a year earlier, representing a decrease of 7.6%.\n<\/p>\n\n<p>\nThe large difference between the annual rates recorded in June and December may reflect changes taking place during the year, although the publication itself does not provide a detailed explanation. Long-term comparisons also require caution because, since 2022, Statistics Poland has used data from the ARMA administrative register for cattle. Earlier figures were based on statistical surveys, which limits the full comparability of the historical series.\n<\/p>\n\n<div class=\"zw25-chart-box\">\n  <div class=\"zw25-chart-inner\">\n    <canvas id=\"zw25-chart-historia\"><\/canvas>\n  <\/div>\n  <p class=\"zw25-chart-caption\">\n    Cattle, pig and chicken populations in Poland, December figures, 1990\u20132025 (thousand head). The scope and methods used to collect some of the data changed over time. Source: Statistics Poland.\n  <\/p>\n<\/div>\n\n<p>\nCattle farming remains strongly concentrated in several parts of the country. At the end of 2025, the three voivodeships of Wielkopolskie, Mazowieckie and Podlaskie accounted for approximately 54% of Poland\u2019s total cattle population.\n<\/p>\n\n<p>\nThe largest herd was located in Wielkopolskie, where 1,231.1 thousand head of cattle were kept, representing approximately 20% of the national total. It was followed by Mazowieckie with 1,109.3 thousand head and Podlaskie with 1,003.3 thousand.\n<\/p>\n\n<p>\nThe largest absolute number of cows was recorded in Mazowieckie, at 419.9 thousand head. Podlaskie followed closely with approximately 410.0 thousand cows. Podlaskie remains one of Poland\u2019s most important dairy production regions, although it did not have the highest proportion of cows in the overall cattle herd.\n<\/p>\n\n<div class=\"zw25-chart-box\">\n  <div class=\"zw25-chart-inner\">\n    <canvas id=\"zw25-chart-regiony\"><\/canvas>\n  <\/div>\n  <p class=\"zw25-chart-caption\">\n    Cattle and pig populations by voivodeship, December 2025 (thousand head). Source: Statistics Poland.\n  <\/p>\n<\/div>\n\n<h3><span class=\"ez-toc-section\" id=\"Annual_changes_by_voivodeship\"><\/span>Annual changes by voivodeship<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p>\nThe largest annual declines in the cattle population were recorded in \u015awi\u0119tokrzyskie, where the number of cattle was equal to 94.5% of the previous year\u2019s level, Ma\u0142opolskie at 95.4%, and Podkarpackie at 95.9%.\n<\/p>\n\n<p>\nAt the opposite end of the ranking was Wielkopolskie, where the cattle population increased by 3.6% and the number of cows rose by 2.0%. The data show that Wielkopolskie continues to strengthen its position in Poland\u2019s cattle farming sector.\n<\/p>\n\n<h2><span class=\"ez-toc-section\" id=\"Pigs_a_rebound_after_the_decline_recorded_in_2024\"><\/span>Pigs: a rebound after the decline recorded in 2024<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>\nThe pig population stood at 9,225.2 thousand head in December 2025, up 1.6% from a year earlier. This represented a recovery after the decline recorded in 2024, although the figure remained significantly below the levels seen at the beginning of the previous decade.\n<\/p>\n\n<p>\nIn June 2025, the pig population amounted to 9,123.5 thousand head, broadly unchanged from June 2024, when it stood at 9,132.0 thousand. In December, the total number of sows reached 618.2 thousand, including 427.9 thousand pregnant sows.\n<\/p>\n\n<p>\nPig farming in Poland is highly concentrated geographically. Wielkopolskie accounted for 2,297.9 thousand head, or almost one-quarter of the national pig population. It was followed by Mazowieckie with 1,613.3 thousand head and \u0141\u00f3dzkie with 1,092.0 thousand.\n<\/p>\n\n<p>\nTogether, these three voivodeships accounted for more than 54% of Poland\u2019s pig population. By comparison, Ma\u0142opolskie and Podkarpackie together had fewer than 180 thousand pigs, representing less than 2% of the national herd.\n<\/p>\n\n<div class=\"zw25-flagnote\">\n<strong>Methodological note:<\/strong> Statistics Poland does not examine the economic reasons behind the increase in the pig population in this publication, such as purchase prices, feed costs, profitability or the situation related to African swine fever. One annual reading alone is not enough to conclude that the long-term downward trend has been permanently reversed.\n<\/div>\n\n<h2><span class=\"ez-toc-section\" id=\"Poultry_the_strongest_long-term_growth\"><\/span>Poultry: the strongest long-term growth<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>\nThe most significant long-term change in the structure of Polish livestock farming can be seen in the poultry sector. In December 1990, Poland\u2019s chicken population stood at approximately 52.0 million head. By December 2025, it had reached 247.5 million, nearly 4.8 times the earlier level.\n<\/p>\n\n<p>\nHistorical comparisons must, however, take into account changes in the scope of the statistics. In different periods, the age criteria for poultry included in the figures were modified. The long-term series therefore illustrates the general direction of the sector\u2019s development, but it should not be treated as fully uniform in methodological terms.\n<\/p>\n\n<p>\nThe combined population of all poultry species included in the tables amounted to approximately 273.0 million head. In addition to 247.5 million chickens, this included 15.9 million turkeys and approximately 8.6 million ducks and other waterfowl.\n<\/p>\n\n<p>\nThe largest chicken population was recorded in Mazowieckie, at 70.1 million head, representing approximately 28% of the national total. Wielkopolskie ranked second with 50.9 million head, accounting for more than 20%.\n<\/p>\n\n<p>\nTogether, the two voivodeships accounted for approximately 49% of Poland\u2019s chicken population. Turkey farming had a different geographical structure. Warmi\u0144sko-Mazurskie was the leading region, with approximately 5.0 million turkeys, or more than 31% of the national population. It was followed by Mazowieckie with approximately 2.4 million and Lubuskie with approximately 1.7 million.\n<\/p>\n\n<h2><span class=\"ez-toc-section\" id=\"Sheep_and_goats_small-scale_production_with_strong_regional_concentration\"><\/span>Sheep and goats: small-scale production with strong regional concentration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>\nThe sheep population stood at 267.9 thousand head in December 2025, compared with 291.7 thousand in June. The difference between the June and December figures may be related, among other factors, to the seasonal nature of farming and animal turnover, although the Statistics Poland publication does not provide a direct explanation.\n<\/p>\n\n<p>\nThe largest sheep population was recorded in Ma\u0142opolskie, at 62.3 thousand head, representing more than 23% of the national total. The region\u2019s leading position is consistent with its pastoral traditions and the importance of sheep farming in mountainous and foothill areas.\n<\/p>\n\n<p>\nMa\u0142opolskie was followed by Wielkopolskie with approximately 29.5 thousand head, Podlaskie with 22.4 thousand and Lubelskie with 18.5 thousand. Wielkopolskie therefore had the second-largest sheep population in Poland.\n<\/p>\n\n<p>\nThe goat population amounted to 64.3 thousand head. The largest herds were found in Wielkopolskie, with approximately 9.3 thousand, and Mazowieckie, with approximately 7.4 thousand head.\n<\/p>\n\n<h2><span class=\"ez-toc-section\" id=\"Slaughter_fewer_cattle_more_pigs\"><\/span>Slaughter: fewer cattle, more pigs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p>\nData from slaughterhouses show contrasting trends in cattle and pig slaughter. In 2025, 2,029.8 thousand cattle were slaughtered, 4.5% fewer than in 2024, when the figure amounted to 2,126.4 thousand head.\n<\/p>\n\n<p>\nThe total live weight of slaughtered cattle fell from 1,261.7 thousand tonnes to 1,228.9 thousand tonnes. This figure should not be described as beef production because the Statistics Poland data refer to the live weight of the animals rather than the weight of meat obtained.\n<\/p>\n\n<p>\nDuring the same period, pig slaughter increased to 20,749.1 thousand head, up approximately 4.1% year on year. The live weight of slaughtered pigs amounted to 2,611.7 thousand tonnes.\n<\/p>\n\n<p>\nThe slaughter of sheep also increased, reaching 90.3 thousand head. Rabbit slaughter rose to 1,240.8 thousand head, compared with 806.5 thousand a year earlier, representing an increase of approximately 54%.\n<\/p>\n\n<div class=\"zw25-chart-box\">\n  <div class=\"zw25-chart-inner\">\n    <canvas id=\"zw25-chart-uboj\"><\/canvas>\n  <\/div>\n  <p class=\"zw25-chart-caption\">\n    Monthly slaughter of cattle and pigs in slaughterhouses in 2025 (head). Due to the difference in scale, the series are presented on two axes. Source: Statistics Poland.\n  <\/p>\n<\/div>\n\n<h2><span class=\"ez-toc-section\" id=\"Livestock_populations_in_the_leading_voivodeships\"><\/span>Livestock populations in the leading voivodeships<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<div class=\"zw25-table-wrap\">\n<table class=\"zw25-table\">\n<thead>\n<tr>\n  <th>Voivodeship<\/th>\n  <th>Cattle<br>(thousand head)<\/th>\n  <th>Pigs<br>(thousand head)<\/th>\n  <th>Chickens<br>(thousand head)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n  <td>Wielkopolskie<\/td>\n  <td class=\"zw25-num\">1,231.1<\/td>\n  <td class=\"zw25-num\">2,297.9<\/td>\n  <td class=\"zw25-num\">50,941.0<\/td>\n<\/tr>\n<tr>\n  <td>Mazowieckie<\/td>\n  <td class=\"zw25-num\">1,109.3<\/td>\n  <td class=\"zw25-num\">1,613.3<\/td>\n  <td class=\"zw25-num\">70,099.9<\/td>\n<\/tr>\n<tr>\n  <td>Podlaskie<\/td>\n  <td class=\"zw25-num\">1,003.3<\/td>\n  <td class=\"zw25-num\">347.7<\/td>\n  <td class=\"zw25-num\">16,466.6<\/td>\n<\/tr>\n<tr>\n  <td>Kujawsko-Pomorskie<\/td>\n  <td class=\"zw25-num\">491.2<\/td>\n  <td class=\"zw25-num\">852.2<\/td>\n  <td class=\"zw25-num\">14,622.3<\/td>\n<\/tr>\n<tr>\n  <td>Warmi\u0144sko-Mazurskie<\/td>\n  <td class=\"zw25-num\">437.2<\/td>\n  <td class=\"zw25-num\">553.4<\/td>\n  <td class=\"zw25-num\">7,128.5<\/td>\n<\/tr>\n<tr>\n  <td>\u0141\u00f3dzkie<\/td>\n  <td class=\"zw25-num\">408.8<\/td>\n  <td class=\"zw25-num\">1,092.0<\/td>\n  <td class=\"zw25-num\">18,993.0<\/td>\n<\/tr>\n<tr>\n  <td>Lubelskie<\/td>\n  <td class=\"zw25-num\">324.0<\/td>\n  <td class=\"zw25-num\">454.0<\/td>\n  <td class=\"zw25-num\">12,772.2<\/td>\n<\/tr>\n<tr>\n  <td>Pomorskie<\/td>\n  <td class=\"zw25-num\">225.1<\/td>\n  <td class=\"zw25-num\">825.9<\/td>\n  <td class=\"zw25-num\">8,261.4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n\n<div class=\"zw25-callout\">\n<h3><span class=\"ez-toc-section\" id=\"Key_conclusions_for_the_agri-food_sector\"><\/span>Key conclusions for the agri-food sector<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p>\nThe 2025 data confirm the growing concentration of livestock farming in a small number of voivodeships. Wielkopolskie and Mazowieckie play a key role in cattle, pig and poultry farming, while Podlaskie retains a particularly strong position in the cattle sector, especially in cow farming.\n<\/p>\n\n<p>\nPoultry remains the most expansive segment from a long-term perspective. The cattle and pig populations are significantly smaller than they were in the 1990s, although the pig population recorded a modest rebound in 2025.\n<\/p>\n\n<p>\nThis does not yet mean that the long-term trend has permanently reversed. Such a conclusion would require further data releases and an analysis of economic factors, including production profitability, feed prices, purchase prices, animal disease risks and foreign trade.\n<\/p>\n\n<p>\nIn the cattle sector, the data indicate a further reduction in herd size. However, these figures alone do not make it possible to determine the future supply of milk or the condition of dairy processors. Such an assessment would also require data on the number of dairy cows, milk yields, milk procurement and the structure of agricultural holdings.\n<\/p>\n<\/div>\n\n<p class=\"zw25-source\">\nSource: Statistics Poland, \u201cLivestock in 2025\u201d, Warsaw 2026. Own analysis based on the publication and the accompanying XLSX tables. Data on cattle, sheep and goats come from the ARMA administrative register, while data on pigs and poultry were compiled from sample surveys and statistical reporting.\n<\/p>\n\n<\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js\" data-cfasync=\"false\" data-nowprocket=\"\">\n<\/script>\n\n<script data-cfasync=\"false\" data-nowprocket=\"\">\n(function(){\n\n  var zw25Attempts = 0;\n  var zw25MaxAttempts = 100;\n  var zw25Timer = setInterval(function(){\n\n    zw25Attempts++;\n\n    if(typeof Chart !== 'undefined'){\n      clearInterval(zw25Timer);\n      zw25InitCharts();\n    }\n\n    if(zw25Attempts >= zw25MaxAttempts){\n      clearInterval(zw25Timer);\n    }\n\n  },100);\n\n  function zw25FormatNumber(value){\n    return new Intl.NumberFormat('en-GB',{\n      maximumFractionDigits:1\n    }).format(value);\n  }\n\n  function zw25DestroyExistingChart(canvas){\n    if(\n      typeof Chart !== 'undefined' &&\n      typeof Chart.getChart === 'function' &&\n      canvas\n    ){\n      var existingChart = Chart.getChart(canvas);\n\n      if(existingChart){\n        existingChart.destroy();\n      }\n    }\n  }\n\n  function zw25GetBaseOptions(){\n    return {\n      responsive:true,\n      maintainAspectRatio:false,\n      animation:{\n        duration:700\n      },\n      interaction:{\n        mode:'index',\n        intersect:false\n      },\n      plugins:{\n        legend:{\n          position:'bottom',\n          labels:{\n            usePointStyle:true,\n            boxWidth:10,\n            padding:16,\n            font:{\n              family:'Arial, Helvetica, sans-serif',\n              size:12\n            }\n          }\n        },\n        tooltip:{\n          callbacks:{\n            label:function(context){\n              var label = context.dataset.label || '';\n              var value = context.parsed.y;\n\n              return label + ': ' + zw25FormatNumber(value);\n            }\n          }\n        }\n      }\n    };\n  }\n\n  function zw25InitCharts(){\n\n    try{\n      var elH = document.getElementById('zw25-chart-historia');\n\n      if(elH){\n        zw25DestroyExistingChart(elH);\n\n        var historyOptions = zw25GetBaseOptions();\n\n        historyOptions.scales = {\n          x:{\n            grid:{\n              display:false\n            },\n            ticks:{\n              font:{\n                family:'Arial, Helvetica, sans-serif',\n                size:11\n              }\n            }\n          },\n          y:{\n            type:'linear',\n            position:'left',\n            beginAtZero:true,\n            title:{\n              display:true,\n              text:'Cattle and pigs (thousand head)',\n              font:{\n                family:'Arial, Helvetica, sans-serif'\n              }\n            },\n            ticks:{\n              callback:function(value){\n                return zw25FormatNumber(value);\n              },\n              font:{\n                family:'Arial, Helvetica, sans-serif',\n                size:10\n              }\n            }\n          },\n          y1:{\n            type:'linear',\n            position:'right',\n            beginAtZero:true,\n            grid:{\n              drawOnChartArea:false\n            },\n            title:{\n              display:true,\n              text:'Chickens (thousand head)',\n              font:{\n                family:'Arial, Helvetica, sans-serif'\n              }\n            },\n            ticks:{\n              callback:function(value){\n                return zw25FormatNumber(value);\n              },\n              font:{\n                family:'Arial, Helvetica, sans-serif',\n                size:10\n              }\n            }\n          }\n        };\n\n        new Chart(elH.getContext('2d'),{\n          type:'line',\n          data:{\n            labels:[\n              '1990',\n              '1995',\n              '2000',\n              '2005',\n              '2010',\n              '2015',\n              '2020',\n              '2021',\n              '2022',\n              '2023',\n              '2024',\n              '2025'\n            ],\n            datasets:[\n              {\n                label:'Cattle (thousand head)',\n                data:[\n                  9024.2,\n                  7193.0,\n                  5723.0,\n                  5385.0,\n                  5561.7,\n                  5762.5,\n                  6278.9,\n                  6378.7,\n                  6448.3,\n                  6267.5,\n                  6190.9,\n                  6143.3\n                ],\n                borderColor:'#131F49',\n                backgroundColor:'rgba(19,31,73,0.08)',\n                pointBackgroundColor:'#131F49',\n                borderWidth:2.5,\n                pointRadius:3,\n                pointHoverRadius:5,\n                yAxisID:'y',\n                tension:0.25\n              },\n              {\n                label:'Pigs (thousand head)',\n                data:[\n                  19739.2,\n                  20342.7,\n                  16991.5,\n                  18711.3,\n                  14775.7,\n                  10590.2,\n                  11727.4,\n                  10242.4,\n                  9624.3,\n                  9769.7,\n                  9078.2,\n                  9225.2\n                ],\n                borderColor:'#e67a2d',\n                backgroundColor:'rgba(230,122,45,0.08)',\n                pointBackgroundColor:'#e67a2d',\n                borderWidth:2.5,\n                pointRadius:3,\n                pointHoverRadius:5,\n                yAxisID:'y',\n                tension:0.25\n              },\n              {\n                label:'Chickens (thousand head, right axis)',\n                data:[\n                  52013.0,\n                  43977.0,\n                  48274.0,\n                  113488.0,\n                  130959.0,\n                  139588.0,\n                  182473.0,\n                  168629.0,\n                  176580.5,\n                  195145.0,\n                  244679.5,\n                  247526.0\n                ],\n                borderColor:'#5a8f5a',\n                backgroundColor:'rgba(90,143,90,0.08)',\n                pointBackgroundColor:'#5a8f5a',\n                borderWidth:2.5,\n                pointRadius:3,\n                pointHoverRadius:5,\n                yAxisID:'y1',\n                tension:0.25\n              }\n            ]\n          },\n          options:historyOptions\n        });\n      }\n    }catch(e){\n      console.error('zw25 historical chart error',e);\n    }\n\n    try{\n      var elR = document.getElementById('zw25-chart-regiony');\n\n      if(elR){\n        zw25DestroyExistingChart(elR);\n\n        var regiony = [\n          'Wielkopolskie',\n          'Mazowieckie',\n          'Podlaskie',\n          'Kujawsko-Pomorskie',\n          'Warmi\u0144sko-Mazurskie',\n          '\u0141\u00f3dzkie',\n          'Lubelskie',\n          'Pomorskie',\n          'Opolskie',\n          '\u015al\u0105skie',\n          '\u015awi\u0119tokrzyskie',\n          'Ma\u0142opolskie',\n          'Zachodniopomorskie',\n          'Dolno\u015bl\u0105skie',\n          'Lubuskie',\n          'Podkarpackie'\n        ];\n\n        var bydlo = [\n          1231.1,\n          1109.3,\n          1003.3,\n          491.2,\n          437.2,\n          408.8,\n          324.0,\n          225.1,\n          139.1,\n          129.5,\n          124.1,\n          142.6,\n          111.8,\n          103.3,\n          95.9,\n          67.0\n        ];\n\n        var swinie = [\n          2297.9,\n          1613.3,\n          347.7,\n          852.2,\n          553.4,\n          1092.0,\n          454.0,\n          825.9,\n          304.5,\n          156.2,\n          140.5,\n          102.0,\n          182.9,\n          139.3,\n          86.9,\n          76.6\n        ];\n\n        var regionOptions = zw25GetBaseOptions();\n\n        regionOptions.indexAxis = window.innerWidth <= 767 ? 'y' : 'x';\n\n        regionOptions.plugins.tooltip.callbacks.label = function(context){\n          var label = context.dataset.label || '';\n          var value = regionOptions.indexAxis === 'y'\n            ? context.parsed.x\n            : context.parsed.y;\n\n          return label + ': ' + zw25FormatNumber(value);\n        };\n\n        if(regionOptions.indexAxis === 'y'){\n          regionOptions.scales = {\n            x:{\n              beginAtZero:true,\n              title:{\n                display:true,\n                text:'thousand head',\n                font:{\n                  family:'Arial, Helvetica, sans-serif'\n                }\n              },\n              ticks:{\n                callback:function(value){\n                  return zw25FormatNumber(value);\n                },\n                font:{\n                  family:'Arial, Helvetica, sans-serif',\n                  size:10\n                }\n              }\n            },\n            y:{\n              grid:{\n                display:false\n              },\n              ticks:{\n                autoSkip:false,\n                font:{\n                  family:'Arial, Helvetica, sans-serif',\n                  size:9\n                }\n              }\n            }\n          };\n        }else{\n          regionOptions.scales = {\n            x:{\n              grid:{\n                display:false\n              },\n              ticks:{\n                autoSkip:false,\n                maxRotation:60,\n                minRotation:60,\n                font:{\n                  family:'Arial, Helvetica, sans-serif',\n                  size:9\n                }\n              }\n            },\n            y:{\n              beginAtZero:true,\n              title:{\n                display:true,\n                text:'thousand head',\n                font:{\n                  family:'Arial, Helvetica, sans-serif'\n                }\n              },\n              ticks:{\n                callback:function(value){\n                  return zw25FormatNumber(value);\n                },\n                font:{\n                  family:'Arial, Helvetica, sans-serif',\n                  size:10\n                }\n              }\n            }\n          };\n        }\n\n        new Chart(elR.getContext('2d'),{\n          type:'bar',\n          data:{\n            labels:regiony,\n            datasets:[\n              {\n                label:'Cattle (thousand head)',\n                data:bydlo,\n                backgroundColor:'#131F49',\n                borderColor:'#131F49',\n                borderWidth:1,\n                borderRadius:3\n              },\n              {\n                label:'Pigs (thousand head)',\n                data:swinie,\n                backgroundColor:'#e67a2d',\n                borderColor:'#e67a2d',\n                borderWidth:1,\n                borderRadius:3\n              }\n            ]\n          },\n          options:regionOptions\n        });\n      }\n    }catch(e){\n      console.error('zw25 regional chart error',e);\n    }\n\n    try{\n      var elU = document.getElementById('zw25-chart-uboj');\n\n      if(elU){\n        zw25DestroyExistingChart(elU);\n\n        var slaughterOptions = zw25GetBaseOptions();\n\n        slaughterOptions.scales = {\n          x:{\n            grid:{\n              display:false\n            },\n            ticks:{\n              font:{\n                family:'Arial, Helvetica, sans-serif',\n                size:11\n              }\n            }\n          },\n          y:{\n            type:'linear',\n            position:'left',\n            beginAtZero:true,\n            title:{\n              display:true,\n              text:'Cattle (head)',\n              font:{\n                family:'Arial, Helvetica, sans-serif'\n              }\n            },\n            ticks:{\n              callback:function(value){\n                return zw25FormatNumber(value);\n              },\n              font:{\n                family:'Arial, Helvetica, sans-serif',\n                size:10\n              }\n            }\n          },\n          y1:{\n            type:'linear',\n            position:'right',\n            beginAtZero:true,\n            grid:{\n              drawOnChartArea:false\n            },\n            title:{\n              display:true,\n              text:'Pigs (head)',\n              font:{\n                family:'Arial, Helvetica, sans-serif'\n              }\n            },\n            ticks:{\n              callback:function(value){\n                return zw25FormatNumber(value);\n              },\n              font:{\n                family:'Arial, Helvetica, sans-serif',\n                size:10\n              }\n            }\n          }\n        };\n\n        new Chart(elU.getContext('2d'),{\n          type:'line',\n          data:{\n            labels:[\n              'Jan',\n              'Feb',\n              'Mar',\n              'Apr',\n              'May',\n              'Jun',\n              'Jul',\n              'Aug',\n              'Sep',\n              'Oct',\n              'Nov',\n              'Dec'\n            ],\n            datasets:[\n              {\n                label:'Cattle slaughter (head)',\n                data:[\n                  190151,\n                  161142,\n                  185429,\n                  184323,\n                  167487,\n                  162199,\n                  175785,\n                  140689,\n                  175854,\n                  181704,\n                  151303,\n                  153743\n                ],\n                borderColor:'#131F49',\n                backgroundColor:'rgba(19,31,73,0.08)',\n                pointBackgroundColor:'#131F49',\n                borderWidth:2.5,\n                pointRadius:3,\n                pointHoverRadius:5,\n                yAxisID:'y',\n                tension:0.25\n              },\n              {\n                label:'Pig slaughter (head, right axis)',\n                data:[\n                  1825045,\n                  1573368,\n                  1714741,\n                  1767491,\n                  1651873,\n                  1643359,\n                  1731160,\n                  1607766,\n                  1780924,\n                  1900687,\n                  1703351,\n                  1849287\n                ],\n                borderColor:'#e67a2d',\n                backgroundColor:'rgba(230,122,45,0.08)',\n                pointBackgroundColor:'#e67a2d',\n                borderWidth:2.5,\n                pointRadius:3,\n                pointHoverRadius:5,\n                yAxisID:'y1',\n                tension:0.25\n              }\n            ]\n          },\n          options:slaughterOptions\n        });\n      }\n    }catch(e){\n      console.error('zw25 slaughter chart error',e);\n    }\n  }\n\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>At the end of 2025, Poland\u2019s cattle population fell to its lowest level since 2016. At the same time, the number of pigs increased after the decline recorded a year earlier, while the chicken population remained at a historically high level. The latest Statistics Poland report, \u201cLivestock in 2025\u201d, also shows that animal production is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6375,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"\ud83d\udc04 Poland\u2019s cattle population has fallen to its lowest level since 2016. At the end of 2025, it stood at 6.14 million animals, down 0.8% from the previous year.\n\nAt the same time, the pig population increased by 1.6% to 9.23 million. The number of chickens also remained at a historically high level, reaching 247.5 million.\n\nData from Statistics Poland also show that livestock farming is becoming increasingly concentrated in a small number of regions. Wielkopolskie, Mazowieckie and Podlaskie account for around 54% of Poland\u2019s cattle population. Meanwhile, almost half of the country\u2019s chickens are raised in the Mazowieckie and Wielkopolskie regions.\n\n\ud83d\udcca See how Poland\u2019s livestock sector is changing and which regions play the most important role.\n\n#Poland #Agriculture #Livestock #Cattle #Pigs #Poultry #Economy","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2662,7],"tags":[2794,2754,64,2732,82],"class_list":["post-6370","post","type-post","status-publish","format-standard","has-post-thumbnail","category-food-agriculture","category-reports-analysis","tag-confirm","tag-play","tag-poland","tag-ranking","tag-warsaw"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/posts\/6370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/comments?post=6370"}],"version-history":[{"count":1,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/posts\/6370\/revisions"}],"predecessor-version":[{"id":6376,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/posts\/6370\/revisions\/6376"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/media\/6375"}],"wp:attachment":[{"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/media?parent=6370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/categories?post=6370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ceo.com.pl\/en\/wp-json\/wp\/v2\/tags?post=6370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}