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

    <schemaVersion>X0609</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2026-04-07</periodOfReport>

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

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0002115691</rptOwnerCik>
            <rptOwnerName>Van Echtelt Petrus Wouter</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerNonUSAddressFlag>true</rptOwnerNonUSAddressFlag>
            <rptOwnerStreet1>10 PASIR PANJANG ROAD</rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity>#18-01 MAPLETREE BUSINESS CITY</rptOwnerCity>
            <rptOwnerNonUSStateTerritory></rptOwnerNonUSStateTerritory>
            <rptOwnerCountry>U0</rptOwnerCountry>
            <rptOwnerZipCode>117438</rptOwnerZipCode>
            <rptOwnerStateDescription>SINGAPORE</rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>true</isOfficer>
            <officerTitle>Chief Financial Officer</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <aff10b5One>false</aff10b5One>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Ordinary Shares</value>
            </securityTitle>
            <transactionDate>
                <value>2026-04-07</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>S</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionAmounts>
                <transactionShares>
                    <value>90000</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>8.22</value>
                    <footnoteId id="F1"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>91994</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 at prices that ranged from NOK79.275 (USD8.19) to NOK79.80 (USD8.25). Upon request, the Reporting Person undertakes to provide information regarding the number of shares acquired at each separate price. The price was converted from NOK79.5052 to USD8.22 based on an exchange rate reported by Norges Bank (NB) of NOK 1 to USD0.1033 as of April 7, 2026.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>/s/ Thomas Andersen, as Attorney in Fact for Petrus Wouter Van Echtelt</signatureName>
        <signatureDate>2026-04-09</signatureDate>
    </ownerSignature>
</ownershipDocument>
