<?xml version="1.0"?>
<ownershipDocument>

    <schemaVersion>X0609</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2026-04-10</periodOfReport>

    <issuer>
        <issuerCik>0001815779</issuerCik>
        <issuerName>Hafnia Ltd</issuerName>
        <issuerTradingSymbol>HAFN</issuerTradingSymbol>
        <issuerForeignTradingSymbol>HAFNI.OL</issuerForeignTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0002121526</rptOwnerCik>
            <rptOwnerName>Skov Mikael Opstun</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerNonUSAddressFlag>true</rptOwnerNonUSAddressFlag>
            <rptOwnerStreet1>10 PASIR PANJANG ROAD</rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity>#18-02 MAPLETREE BUSINESS CITY</rptOwnerCity>
            <rptOwnerNonUSStateTerritory></rptOwnerNonUSStateTerritory>
            <rptOwnerCountry>U0</rptOwnerCountry>
            <rptOwnerZipCode>117438</rptOwnerZipCode>
            <rptOwnerStateDescription>SINGAPORE</rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>true</isOfficer>
            <officerTitle>Chief Executive Officer</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <aff10b5One>false</aff10b5One>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Ordinary Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2026-04-10</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>S</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>500000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>8.12</value>
                    <footnoteId id="F1"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>1630978</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Ordinary Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2026-04-13</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>S</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>500000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>8.11</value>
                    <footnoteId id="F2"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>1130978</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <footnotes>
        <footnote id="F1">This price reflects the weighted average sale price for the shares, which were sold in multiple transactions on the Oslo Bors at prices that ranged from NOK76.30 (USD8.04) to NOK78.25 (USD8.24). Upon request, the Reporting Person undertakes to provide information regarding the number of shares acquired at each separate price. The price was converted from NOK77.0623 to USD8.12 based on an exchange rate reported by Norges Bank (NB) of NOK 1 to USD0.10535 as of April 10, 2026.</footnote>
        <footnote id="F2">This price reflects the weighted average sale price for the shares, which were sold in multiple transactions on the Oslo Bors at prices that ranged from NOK76.30 (USD8.03) to NOK78.50 (USD8.26). Upon request, the Reporting Person undertakes to provide information regarding the number of shares acquired at each separate price. The price was converted from NOK77.015 to USD8.11 based on an exchange rate reported by Norges Bank (NB) of NOK 1 to USD0.10528 as of April 13, 2026.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>/s/ Thomas Andersen, as Attorney in Fact for Mikael Opstun Skov</signatureName>
        <signatureDate>2026-04-14</signatureDate>
    </ownerSignature>
</ownershipDocument>
