Estimate postage costs for local and international mail
Local Mail (within HK)
Air Mail (International)
Surface Mail (International)
Local (Hong Kong)
Zone 1 (China, Macau, Taiwan, etc.)
Zone 2 (Japan, UK, USA, etc.)
Small Letter (Up to 165mm x 245mm x 5mm)
Large Letter (Up to 305mm x 381mm x 20mm)
Packet (Up to 900mm length+width+depth)
Estimated Postage:
HK$ 0.00
Understanding Hong Kong Postage Rates
Calculating postage for Hong Kong Post depends on three primary factors: the weight of the item, the destination zone, and the physical dimensions (format) of the mail piece. This tool provides an estimate based on standard public postal rates for letters and packets.
Postage Categories Explained
Small Letters: Items weighing under 50g and within 165mm x 245mm dimensions.
Large Letters: Items weighing under 500g and within 305mm x 381mm dimensions.
Packets: Items up to 2kg that exceed large letter dimensions.
Destination Zones
Hong Kong Post classifies destinations into different zones. Zone 1 typically covers nearby regions like Mainland China, Macau, Taiwan, and parts of Southeast Asia. Zone 2 covers most other international destinations including the UK, USA, and Europe.
Example Calculation:
Sending a 25g Small Letter to the UK (Zone 2) via Air Mail usually costs approximately HK$7.50. Sending the same item locally would cost only HK$2.20.
function calculateHKPostRate() {
var category = document.getElementById('mailCategory').value;
var weight = parseFloat(document.getElementById('mailWeight').value);
var zone = document.getElementById('mailZone').value;
var format = document.getElementById('mailFormat').value;
var resultDiv = document.getElementById('resultDisplay');
var costSpan = document.getElementById('postageCost');
var notePara = document.getElementById('rateNote');
if (isNaN(weight) || weight <= 0) {
alert('Please enter a valid weight in grams.');
return;
}
var cost = 0;
var message = "";
if (category === "local") {
// Local Rates
if (format === "smallLetter") {
if (weight <= 30) cost = 2.2;
else if (weight <= 50) cost = 3.3;
else {
cost = 3.7;
message = "Note: Weight exceeds small letter limit, calculated as Large Letter.";
}
} else if (format === "largeLetter") {
if (weight <= 50) cost = 3.7;
else if (weight <= 100) cost = 5.4;
else if (weight <= 250) cost = 8.0;
else if (weight <= 500) cost = 15.5;
else {
cost = 22.0;
message = "Note: Weight exceeds Large Letter limit, calculated as Packet.";
}
} else { // Packet
if (weight <= 100) cost = 5.4;
else if (weight <= 250) cost = 8.0;
else if (weight <= 500) cost = 15.5;
else if (weight <= 1000) cost = 30.0;
else if (weight <= 2000) cost = 48.0;
else cost = 48.0 + (Math.ceil((weight – 2000) / 1000) * 20);
}
} else if (category === "airMail") {
// Air Mail Rates (Standard estimates)
var baseZoneMultiplier = (zone === "zone2") ? 1.5 : 1.0;
if (format === "smallLetter") {
if (weight <= 20) cost = (zone === "zone1") ? 3.7 : 5.0;
else if (weight <= 30) cost = (zone === "zone1") ? 5.4 : 7.5;
else if (weight <= 40) cost = (zone === "zone1") ? 6.6 : 9.5;
else cost = (zone === "zone1") ? 8.0 : 12.0;
} else {
// Packets / Large letters via Air
if (weight <= 50) cost = (zone === "zone1") ? 9.0 : 14.0;
else if (weight <= 100) cost = (zone === "zone1") ? 14.0 : 23.0;
else if (weight <= 250) cost = (zone === "zone1") ? 28.0 : 45.0;
else if (weight <= 500) cost = (zone === "zone1") ? 50.0 : 85.0;
else cost = (weight / 100) * (zone === "zone1" ? 12 : 18);
}
} else {
// Surface Mail
if (zone === "zone0") {
cost = 2.2;
message = "Surface mail is typically for international. Local rate applied.";
} else {
if (weight <= 20) cost = (zone === "zone1") ? 3.1 : 4.2;
else if (weight <= 50) cost = (zone === "zone1") ? 5.5 : 8.0;
else if (weight <= 100) cost = (zone === "zone1") ? 8.5 : 12.0;
else cost = (weight / 100) * (zone === "zone1" ? 7 : 10);
}
}
costSpan.innerHTML = cost.toFixed(2);
notePara.innerHTML = message || "This is an estimate for standard postage. Registered mail or tracking may incur additional fees.";
resultDiv.style.display = 'block';
}
Frequently Asked Questions
How long does local mail take?
Most local mail in Hong Kong is delivered the next working day after posting.
What is the maximum weight for a packet?
The standard weight limit for international packets is 2kg. Items over 2kg should be sent via the Parcel service.
Do I need a customs declaration?
Yes, for any international mail containing goods (not documents), you must attach a CN22 or CN23 customs declaration form.