{"id":922864,"date":"2025-12-30T06:18:47","date_gmt":"2025-12-30T11:18:47","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/"},"modified":"2025-12-30T06:18:47","modified_gmt":"2025-12-30T11:18:47","slug":"euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/","title":{"rendered":"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025"},"content":{"rendered":"<div class=\"xn-newslines\">\n<p class=\"xn-distributor\">PR Newswire<\/p>\n<\/p><\/div>\n<div class=\"xn-content\">\n<p>\n        <span class=\"legendSpanClass\">HONG KONG<\/span>, <span class=\"legendSpanClass\">Dec. 30, 2025<\/span> \/PRNewswire\/ &#8212; Euro Tech Holdings Company Limited (Nasdaq: CLWT) today reported its unaudited financial results for the six months ended June 30, 2025.<\/p>\n<p>The Company&#8217;s revenue for the six months ended June 30, 2025 (&#8220;1H 2025&#8221;) were US$5,888,000, a 18.9% decrease as compared to\u00a0 US$7,259,000 for the six months ended June 30, 2024 (&#8220;1H 2024&#8221;). Revenue from trading activities decreased significantly, primarily due to lowered sales of U.S. products to China following U.S. tariffs and Chinese retaliatory measures.<\/p>\n<p>Gross profit decreased by 5.2% to US$1,697,000 for 1H 2025 as compared to US$1,790,000 for 1H 2024. The decrease was due to the decrease in revenue. However the gross profit margin % for 1H 2025 increased by 4.2% to 28.8% as compared to 24.6% for 1H 2024.<\/p>\n<p>General and administrative expenses decreased by US$102,000 to US$2,065,000 for 1H 2025 as compared to US$2,167,000 for 1H 2024.<\/p>\n<p>The Company&#8217;s net loss for 1H 2025 was US$127,000 as compared to net income of US$44,000 for 1H 2024 resulting from decrease in revenue and equity in income of affiliate.<\/p>\n<p>Mr. David Leung, CEO of the company commented,<\/p>\n<p>\u00a0&#8220;Despite the challenging business environment, we have seen a remarkable increase in sales orders, achieving double-digit growth in the first half of the year. This growth is primarily driven by heightened engineering activities in water and wastewater treatment (&#8220;WWT&#8221;),\u00a0although the delivery timelines will be extended until the end of this year or early next year.<\/p>\n<p>Recently, we have also secured additional purchase orders from international markets, including Mongolia, Norway, and <span>Dubai<\/span>, for both WWT and ballast water treatment systems (&#8220;BWTS&#8221;).\u00a0<\/p>\n<p>In the coming days, we intend to diversify our sales channels and explore new product applications in high-growth regions and industries to further leverage this momentum.&#8221;<\/p>\n<p>About BWTS<\/p>\n<p>BWTS are an imminent requirement by The International Maritime Organization (&#8220;IMO&#8221;) to prevent the biological unbalance caused by the estimated 12 billion tons of ballast water transported across the seas by ocean-going vessels when their ballast water tanks are emptied or refilled. In 2012, ballast water discharge standard became a law in the US. Any vessel constructed in December 2013 or later will need to comply when entering US waters, and existing vessels will follow shortly after. IMO&#8217;s Ballast Water Management Convention entered into force for new-built vessels on September 8, 2017 after ratification by 52 States, representing 35.1441% of world merchant shipping tonnage. In July 2017, IMO decided that the phase-in period for ballast water system retrofits started on 8 September 2019.\u00a0<\/p>\n<p>The company obtained type approval certificate from China&#8217;s Classification Society for its 200, 300, 500, 750, 1200 and 1250 Cubic Meters per hour BWTS in 2016.<\/p>\n<p>The IMO convention stipulates that type approval for revised G8 requirements must be obtained for all BWTS installed on or after October 28, 2020, and the company have been in compliance with such requirements.<\/p>\n<p>The ballast water port solution system is a system installed in port to offer ballast water treatment services for ocean going ships without their own BWTS and for those with damaged BWTS.<\/p>\n<p>Certain statements in this news release regarding the Company&#8217;s expectations, estimates, present view of circumstances or events, and statements containing words such as estimates, anticipates, intends, or expects, or words of similar import, constitute forward looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Such statements indicate uncertainty and the Company can give no assurance with regard to actual outcomes. Specific risk factors may include, without limitation, having the Company&#8217;s offices and operations situated in Hong Kong and China, doing business in China, competing with Chinese manufactured products, competing with the Company&#8217;s own suppliers, dependence on vendors, and lack of long term written agreements with suppliers and customers, development of new products, entering new markets, possible downturns in business conditions, increased competition, loss of significant customers, availability of qualified personnel, negotiating definitive agreements, new marketing efforts and the timely development of resources. See the &#8220;Risk Factor&#8221; discussions in the Company&#8217;s filings with the Securities and Exchange Commission, including its Annual Report on Form 20-F for its fiscal year ended December 31, 2024.<\/p>\n<p>\n        <b>EURO TECH HOLDINGS COMPANY LIMITED<\/b>\n      <\/p>\n<p>\n        <b>CONSOLIDATED BALANCE SHEETS<\/b>\n      <\/p>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\" class=\"prnbcc\">\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>As of<\/b><br \/>\n                <\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>June 30,<\/b><br \/>\n                <\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2025<\/b><br \/>\n                <\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>(Unaudited)<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>As of<\/b><br \/>\n                <\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>December 31,<\/b><br \/>\n                <\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>2024<\/b><br \/>\n                <\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>(Audited)<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>US$&#8217;000<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>US$&#8217;000<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>ASSETS<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Current assets:<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Cash and cash equivalents<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">4,493<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">5,805<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Restricted cash<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,517<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,132<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Accounts receivable, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,342<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,386<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Prepayments and other current assets<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">437<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">271<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Contract assets <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">80<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">135<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Inventories<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">302<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Total current assets<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">8,171<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9,229<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Property, plant and equipment, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">157<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">159<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Investments in affiliates<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9,774<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9,947<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Goodwill<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,071<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,071<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Operating lease right-of-use assets, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">231<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">101<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Deferred tax assets<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">80<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">62<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Restricted cash<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">315<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">139<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Total non-current assets<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">11,628<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">11,479<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>TOTAL ASSETS<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">19,799<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">20,708<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>LIABILITIES AND SHAREHOLDERS&#8217; EQUITY<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Current liabilities:<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Accounts payable<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,547<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">2,279<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Contract liabilities <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">761<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">593<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Other payables and accrued expenses<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">895<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,050<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Current portion of long-term operating lease liabilities<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">127<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">83<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Total current liabilities<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">3,330<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">4,005<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Long-term operating lease liabilities, net of current portion<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">95<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Total non-current liabilities <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">95<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>TOTAL LIABILITIES <\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">3,425<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">4,014<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Commitments and contingencies<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>SHAREHOLDERS&#8217; EQUITY:<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml10\">\n                <span class=\"prnews_span\">Ordinary share, <\/span>\n              <\/p>\n<p class=\"prnml10\">\n                <span class=\"prnews_span\">20,000,000 shares authorized and no par value; 7,899,832 and 7,899,832 <br \/>shares issued as of June 30, 2025 and\u00a0 December 31, 2024, respectively<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">123<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">123<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Additional paid-in capital<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9,774<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">9,774<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Treasury stock, 330,306 and 183,533 shares at cost as of June 30, 2025 and <br \/>\u00a0 December 31, 2024, respectively<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(981)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(807)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">PRC statutory reserves<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">345<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">345<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Accumulated other comprehensive income<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">734<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">713<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Retained earnings<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">5,468<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">5,595<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Total shareholders&#8217; equity attributable to Euro Tech Holdings Company <br \/>\u00a0 Limited<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">15,463<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">15,743<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Noncontrolling interests<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">911<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">951<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Shareholders&#8217; equity<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">16,374<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">16,694<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>TOTAL LIABILITIES AND SHAREHOLDERS&#8217; EQUITY<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">19,799<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">20,708<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<p>\n        <b>EURO TECH HOLDINGS COMPANY LIMITED <\/b>\n      <\/p>\n<p>\n        <b>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME<br \/><\/b><br \/>\n        <b>FOR THE <\/b><br \/>\n        <b>SIX MONTHS ENDED <\/b><br \/>\n        <b>JUNE 30, 2025 AND 2024<\/b>\n      <\/p>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\" class=\"prnbcc\">\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">2025<\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(Unaudited)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">2024<\/span>\n              <\/p>\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(Unaudited)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">US$&#8217;000<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">US$&#8217;000<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Revenue, net:<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">Trading and manufacturing<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">3,424<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">5,138<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">Engineering<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">2,464<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">2,121<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">5,888<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">7,259<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Cost of revenue<\/b><br \/>\n                  <b>:<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">Trading and manufacturing<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(2,566)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(3,997)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">Engineering<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(1,625)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(1,472)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(4,191)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(5,469)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Gross profit<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,697<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">1,790<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Operating expenses:<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u00a0Finance costs<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">&#8211;<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(1)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u00a0General and administrative expenses<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(2,065)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(2,167)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>LOSS FROM OPERATION<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(368)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(378)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Interest income<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">43<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">45<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Other income, net<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">10<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">10<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Equity in income of affiliates<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">148<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">232<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>LOSS BEFORE INCOME TAXES<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(167)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(91)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Income tax credit \/ (expense) <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">3<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(10)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>NET LOSS<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(164)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(101)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Net loss attributable to noncontrolling interests<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">37<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">145<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Net \u00a0(loss) \/ income attributable to Euro Tech <br \/>\u00a0 Holdings Company Limited<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(127)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">44<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Other comprehensive (loss)<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0 Net (loss) <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(164)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(101)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u00a0\u00a0\u00a0 Foreign currency adjustments<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">21<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(9)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>COMPREHENSIVE LOSS <\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(143)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(110)<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">Comprehensive (income) \/ loss attributable to <br \/>\u00a0 noncontrolling interests<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(3)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">151<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Comprehensive <\/b><br \/>\n                  <b>(loss) \/ <\/b><br \/>\n                  <b>income attributable <br \/>\u00a0 to Euro Tech Holdings Company Limited<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">(146)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">41<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen2\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\" class=\"prnbcc\">\n<tr>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Net<\/b><br \/>\n                  <b> (loss) \/ income <\/b><br \/>\n                  <b>per <\/b><br \/>\n                  <b>ordinary <\/b><br \/>\n                  <b>share<\/b><br \/>\n                  <b><br \/>\n                    <br \/>\u00a0 attributable to Euro Tech Holdings <br \/>\u00a0 Company Limited<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">&#8211; Basic<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">$\u00a0 US(0.02)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">$\u00a0 US0.01<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">&#8211; Diluted<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">$\u00a0 US(0.02)<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">$\u00a0 US0.01<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\"><br \/>\n                  <b>Weighted average <\/b><br \/>\n                  <b>number of ordinary<br \/><\/b><br \/>\n                  <b>\u00a0 shares outstanding<\/b><br \/>\n                <\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">&#8211; Basic<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">7,660,243<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">7,717,695<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml6\">\n                <span class=\"prnews_span\">&#8211; Diluted<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">7,660,243<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">7,717,695<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen3\" colspan=\"1\" rowspan=\"1\">\n              \n            <\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<td class=\"prngen4\" colspan=\"1\" rowspan=\"1\">\n<p class=\"prnml4\">\n                <span class=\"prnews_span\">\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/span>\n              <\/p>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<p>\u00a0<\/p>\n<p id=\"PURL\">\n        <img loading=\"lazy\" decoding=\"async\" title=\"Cision\" width=\"12\" height=\"12\" alt=\"Cision\" src=\"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30\" \/> View original content:<a id=\"PRNURL\" rel=\"nofollow\" href=\"https:\/\/www.prnewswire.com\/news-releases\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025-302650596.html\" target=\"_blank\">https:\/\/www.prnewswire.com\/news-releases\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025-302650596.html<\/a><\/p>\n<p>SOURCE EURO TECH HOLDINGS COMPANY LIMITED<\/p>\n<\/p><\/div>\n<p>    <img decoding=\"async\" alt=\"\" src=\"https:\/\/rt.prnewswire.com\/rt.gif?NewsItemId=HK54662&amp;Transmission_Id=202512300600PR_NEWS_USPR_____HK54662&amp;DateId=20251230\" style=\"border:0px;width:1px;height:1px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PR Newswire HONG KONG, Dec. 30, 2025 \/PRNewswire\/ &#8212; Euro Tech Holdings Company Limited (Nasdaq: CLWT) today reported its unaudited financial results for the six months ended June 30, 2025. The Company&#8217;s revenue for the six months ended June 30, 2025 (&#8220;1H 2025&#8221;) were US$5,888,000, a 18.9% decrease as compared to\u00a0 US$7,259,000 for the six months ended June 30, 2024 (&#8220;1H 2024&#8221;). Revenue from trading activities decreased significantly, primarily due to lowered sales of U.S. products to China following U.S. tariffs and Chinese retaliatory measures. Gross profit decreased by 5.2% to US$1,697,000 for 1H 2025 as compared to US$1,790,000 for 1H 2024. The decrease was due to the decrease in revenue. However the gross profit margin % for 1H 2025 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-922864","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025 - Market Newsdesk<\/title>\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.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025 - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"PR Newswire HONG KONG, Dec. 30, 2025 \/PRNewswire\/ &#8212; Euro Tech Holdings Company Limited (Nasdaq: CLWT) today reported its unaudited financial results for the six months ended June 30, 2025. The Company&#8217;s revenue for the six months ended June 30, 2025 (&#8220;1H 2025&#8221;) were US$5,888,000, a 18.9% decrease as compared to\u00a0 US$7,259,000 for the six months ended June 30, 2024 (&#8220;1H 2024&#8221;). Revenue from trading activities decreased significantly, primarily due to lowered sales of U.S. products to China following U.S. tariffs and Chinese retaliatory measures. Gross profit decreased by 5.2% to US$1,697,000 for 1H 2025 as compared to US$1,790,000 for 1H 2024. The decrease was due to the decrease in revenue. However the gross profit margin % for 1H 2025 &hellip; Continue reading &quot;Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-30T11:18:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025\",\"datePublished\":\"2025-12-30T11:18:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/\"},\"wordCount\":997,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/edge.prnewswire.com\\\/c\\\/img\\\/favicon.png?sn=HK54662&amp;sd=2025-12-30\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/\",\"name\":\"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025 - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/edge.prnewswire.com\\\/c\\\/img\\\/favicon.png?sn=HK54662&amp;sd=2025-12-30\",\"datePublished\":\"2025-12-30T11:18:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#primaryimage\",\"url\":\"https:\\\/\\\/edge.prnewswire.com\\\/c\\\/img\\\/favicon.png?sn=HK54662&amp;sd=2025-12-30\",\"contentUrl\":\"https:\\\/\\\/edge.prnewswire.com\\\/c\\\/img\\\/favicon.png?sn=HK54662&amp;sd=2025-12-30\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\",\"name\":\"Market Newsdesk\",\"description\":\"Latest Business News in Real Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\",\"name\":\"Newsdesk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"caption\":\"Newsdesk\"},\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/author\\\/newsdesk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025 - Market Newsdesk","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.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/","og_locale":"en_US","og_type":"article","og_title":"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025 - Market Newsdesk","og_description":"PR Newswire HONG KONG, Dec. 30, 2025 \/PRNewswire\/ &#8212; Euro Tech Holdings Company Limited (Nasdaq: CLWT) today reported its unaudited financial results for the six months ended June 30, 2025. The Company&#8217;s revenue for the six months ended June 30, 2025 (&#8220;1H 2025&#8221;) were US$5,888,000, a 18.9% decrease as compared to\u00a0 US$7,259,000 for the six months ended June 30, 2024 (&#8220;1H 2024&#8221;). Revenue from trading activities decreased significantly, primarily due to lowered sales of U.S. products to China following U.S. tariffs and Chinese retaliatory measures. Gross profit decreased by 5.2% to US$1,697,000 for 1H 2025 as compared to US$1,790,000 for 1H 2024. The decrease was due to the decrease in revenue. However the gross profit margin % for 1H 2025 &hellip; Continue reading \"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/","og_site_name":"Market Newsdesk","article_published_time":"2025-12-30T11:18:47+00:00","og_image":[{"url":"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025","datePublished":"2025-12-30T11:18:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/"},"wordCount":997,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#primaryimage"},"thumbnailUrl":"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/","name":"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025 - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#primaryimage"},"thumbnailUrl":"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30","datePublished":"2025-12-30T11:18:47+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#primaryimage","url":"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30","contentUrl":"https:\/\/edge.prnewswire.com\/c\/img\/favicon.png?sn=HK54662&amp;sd=2025-12-30"},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/euro-tech-holdings-company-limited-reports-interim-results-for-the-six-months-ended-june-30-2025\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"Euro Tech Holdings Company Limited Reports Interim Results For The Six Months Ended June 30, 2025"}]},{"@type":"WebSite","@id":"https:\/\/www.marketnewsdesk.com\/#website","url":"https:\/\/www.marketnewsdesk.com\/","name":"Market Newsdesk","description":"Latest Business News in Real Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marketnewsdesk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979","name":"Newsdesk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","caption":"Newsdesk"},"url":"https:\/\/www.marketnewsdesk.com\/index.php\/author\/newsdesk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/922864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/comments?post=922864"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/922864\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=922864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=922864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=922864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}