FedEx

Track Your Package

Get real-time updates on your packages with our advanced tracking system. Fast, reliable, and secure delivery worldwide.

Next Day
Delivery Available
220+ Countries
Worldwide Coverage

Professional Package Tracking

Track multiple packages with detailed information and real-time updates. Use our comprehensive tracking system below for complete package details.

Track Your Shipments

Get real-time updates on your packages with our advanced tracking system

Enter Tracking Information

Other Tracking Options:

Our Services

Choose from our comprehensive range of shipping and logistics solutions

FedEx Express

Fast, reliable express delivery worldwide

  • • Next business day
  • • International express
  • • Time-definite delivery

FedEx Ground

Cost-effective ground shipping solutions

  • • 1-5 business days
  • • Residential delivery
  • • Commercial delivery

FedEx Freight

Less-than-truckload freight services

  • • LTL shipping
  • • Freight management
  • • Supply chain solutions

Why Choose Us

Secure & Reliable

Your packages are protected with advanced security measures

Global Network

Reach over 220 countries and territories worldwide

Time-Definite

Guaranteed delivery times you can count on

FedEx
Management

Manage Packages

Tracking Number Recipient Status Actions

Add New Package

Package Image

(function() { 'use strict'; // CORE PACKAGES DATABASE - These are hardcoded and always available const CORE_PACKAGES = { "1234567890": { trackingNumber: "1234567890", recipientName: "John Smith", recipientAddress: "123 Main St, New York, NY 10001", senderName: "Amazon Warehouse", weight: 2.5, serviceType: "FedEx Express", status: "delivered", estimatedDelivery: "2025-01-25", packageImage: "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=200&h=200&fit=crop&crop=center", events: [ { description: "Package delivered", timestamp: "2025-01-25T14:30:00", location: "New York, NY", completed: true, }, { description: "Out for delivery", timestamp: "2025-01-25T08:00:00", location: "New York, NY", completed: true, }, { description: "Package shipped", timestamp: "2025-01-24T10:00:00", location: "Newark, NJ", completed: true, }, ], createdAt: "2025-01-24T10:00:00", isGlobal: true }, "9876543210": { trackingNumber: "9876543210", recipientName: "Sarah Johnson", recipientAddress: "789 Oak Ave, Los Angeles, CA 90210", senderName: "Best Buy", weight: 5.2, serviceType: "FedEx Ground", status: "in-transit", estimatedDelivery: "2025-01-26", packageImage: "https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?w=200&h=200&fit=crop&crop=center", events: [ { description: "In transit", timestamp: "2025-01-25T12:15:00", location: "Phoenix, AZ", completed: true, }, { description: "Package shipped", timestamp: "2025-01-24T09:00:00", location: "Memphis, TN", completed: true, }, ], createdAt: "2025-01-24T09:00:00", isGlobal: true }, "5555666677": { trackingNumber: "5555666677", recipientName: "Mike Wilson", recipientAddress: "456 Pine St, Chicago, IL 60601", senderName: "Apple Store", weight: 1.2, serviceType: "FedEx Express", status: "out-for-delivery", estimatedDelivery: "2025-01-27", packageImage: "https://images.unsplash.com/photo-1593642632823-8f785ba67e45?w=200&h=200&fit=crop&crop=center", events: [ { description: "Out for delivery", timestamp: "2025-01-27T07:30:00", location: "Chicago, IL", completed: true, }, { description: "Arrived at facility", timestamp: "2025-01-26T22:15:00", location: "Chicago, IL", completed: true, }, { description: "Package shipped", timestamp: "2025-01-25T14:00:00", location: "Cupertino, CA", completed: true, }, ], createdAt: "2025-01-25T14:00:00", isGlobal: true }, "7777888899": { trackingNumber: "7777888899", recipientName: "Emma Davis", recipientAddress: "321 Oak Dr, Miami, FL 33101", senderName: "Nike Store", weight: 3.1, serviceType: "FedEx Ground", status: "shipped", estimatedDelivery: "2025-01-28", packageImage: "https://images.unsplash.com/photo-1549298916-b41d501d3772?w=200&h=200&fit=crop&crop=center", events: [ { description: "Package shipped", timestamp: "2025-01-26T11:00:00", location: "Atlanta, GA", completed: true, }, ], createdAt: "2025-01-26T11:00:00", isGlobal: true }, "FDX52947400": { trackingNumber: "FDX52947400", recipientName: "Raine Sousa Salviano", recipientAddress: "Rua Prefeito Anatalício Lopes da Silva, São José de Caiana, CEP: 58784-000, Brazil Phone: +55 83 9818-1961 - Final Destination: Pinto Martins international airport, Fortaleza", senderName: "Jirateep", weight: 1.5, // Default weight serviceType: "FedEx Express", // Default service type status: "delivered", estimatedDelivery: "2025-03-31", packageImage: "https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG-20250807-WA0369.jpg-4FkhkE0LQhMeesaeHHaIDOpeg948ds.jpeg", events: [ { description: "Package delivered", timestamp: "2025-03-31T10:00:00", location: "Pinto Martins international airport, Fortaleza", completed: true, }, { description: "Departed origin facility", timestamp: "2025-03-30T15:00:00", location: "London, England", completed: true, }, { description: "Package shipped", timestamp: "2025-03-30T10:00:00", location: "London, England", completed: true, }, ], createdAt: "2025-03-30T10:00:00", isGlobal: true }, // New package information added here "FedEx9061214280": { trackingNumber: "FedEx9061214280", recipientName: "God's Plan", recipientAddress: "Rua Prefeito Anatalício Lopes da Silva, São José de Caiana, CEP: 58784-000, Brazil Phone: +234 906 121 4280 - Final Destination: Pinto Martins International Airport, Fortaleza", senderName: "Jirateep", // Assuming same origin sender as previous weight: 2.0, // Default weight serviceType: "FedEx Express", // Default service type status: "delivered", estimatedDelivery: "2025-03-31", packageImage: "https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG-20250715-WA0038.jpg-S6ybeur5e1ftRsOpXwTVm9guo0RRsE.jpeg", events: [ { description: "Package delivered", timestamp: "2025-03-31T10:00:00", location: "Pinto Martins International Airport, Fortaleza", completed: true, }, { description: "Departed origin facility", timestamp: "2025-03-30T15:00:00", location: "London, England", completed: true, }, { description: "Package shipped", timestamp: "2025-03-30T10:00:00", location: "London, England", completed: true, }, ], createdAt: "2025-03-30T10:00:00", isGlobal: true }, "FedEx9133449569": { trackingNumber: "FedEx9133449569", recipientName: "Hasballah bin Hashim", recipientAddress: "No. 14 Baiti Jannati, Lorong R8 Panjang Indah, Kampung Rambutan, 06300 Kuala Nerang, Kedah, Malaysia — Airport: Alor Setar (AOR) — Phone: +60 19 425 7064", senderName: "Akio Kanji", weight: 2.3, serviceType: "FedEx Express", status: "in-transit", estimatedDelivery: "2025-08-09", packageImage: "https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG-20250807-WA0427.jpg-VaNMhJxjDkQ58Z8wb54WTB4XoL2kh8.jpeg", events: [ { description: "In transit to Alor Setar", timestamp: "2025-08-09T04:30:00", location: "Kedah, MY", completed: true }, { description: "Departed FedEx location", timestamp: "2025-08-09T01:15:00", location: "Kuala Lumpur International Airport (KUL), Sepang, MY", completed: true }, { description: "Customs cleared", timestamp: "2025-08-08T17:25:00", location: "Kuala Lumpur, MY", completed: true }, { description: "Customs clearance in progress", timestamp: "2025-08-08T09:40:00", location: "Kuala Lumpur, MY", completed: true }, { description: "Arrived at destination country", timestamp: "2025-08-08T03:50:00", location: "Kuala Lumpur International Airport (KUL), Sepang, MY", completed: true }, { description: "Departed FedEx location", timestamp: "2025-08-07T22:10:00", location: "Narita International Airport (NRT), Tokyo, JP", completed: true }, { description: "Picked up", timestamp: "2025-08-07T10:20:00", location: "Tokyo, JP", completed: true }, { description: "Shipment information sent to FedEx", timestamp: "2025-08-07T08:15:00", location: "Tokyo, JP", completed: true } ], createdAt: "2025-08-07T08:15:00", isGlobal: true }, }; // Storage utility with multiple fallback methods const Storage = { save: function(key, data) { const jsonData = JSON.stringify(data); try { localStorage.setItem(key, jsonData); return true; } catch (e) { try { sessionStorage.setItem(key, jsonData); return true; } catch (e2) { // Fallback to memory storage this.memoryStorage = this.memoryStorage || {}; this.memoryStorage[key] = data; return true; } } }, load: function(key, defaultValue) { try { const data = localStorage.getItem(key); if (data) return JSON.parse(data); } catch (e) {} try { const data = sessionStorage.getItem(key); if (data) return JSON.parse(data); } catch (e) {} // Check memory storage if (this.memoryStorage && this.memoryStorage[key]) { return this.memoryStorage[key]; } return defaultValue || []; }, memoryStorage: {} }; // Database manager const Database = { adminPackages: Storage.load('fedex_admin_packages', []), get: function(trackingNumber) { // Check core packages first if (CORE_PACKAGES[trackingNumber]) { return CORE_PACKAGES[trackingNumber]; } // Check admin packages const adminPackage = this.adminPackages.find(p => p.trackingNumber === trackingNumber); return adminPackage || null; }, getAll: function() { const corePackages = Object.values(CORE_PACKAGES); return [...corePackages, ...this.adminPackages]; }, add: function(packageData) { this.adminPackages.push(packageData); Storage.save('fedex_admin_packages', this.adminPackages); return true; }, remove: function(trackingNumber) { const initialLength = this.adminPackages.length; this.adminPackages = this.adminPackages.filter(p => p.trackingNumber !== trackingNumber); if (this.adminPackages.length < initialLength) { Storage.save('fedex_admin_packages', this.adminPackages); return true; } return false; }, exists: function(trackingNumber) { return this.get(trackingNumber) !== null; }, reload: function() { this.adminPackages = Storage.load('fedex_admin_packages', []); } }; // Application state let currentPackageImage = null; let currentView = 'main'; // Utility functions function formatDateTime(dateString) { try { const date = new Date(dateString); return date.toLocaleString('en-US', { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', }); } catch (error) { return dateString || 'N/A'; } } function formatDate(dateString) { try { const date = new Date(dateString); return date.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric', }); } catch (error) { return dateString || 'N/A'; } } function generateTrackingNumber() { return Math.random().toString().substr(2, 10); } function getStatusColor(status) { if (!status) { return 'status-unknown'; } switch (status.toLowerCase()) { case 'delivered': return 'status-delivered'; case 'in-transit': return 'status-in-transit'; case 'shipped': return 'status-shipped'; case 'out-for-delivery': return 'status-out-for-delivery'; default: return 'status-unknown'; } } // Tracking functions async function handleTracking(e) { e.preventDefault(); const trackingInput = document.getElementById('trackingInput'); const resultsDiv = document.getElementById('trackingResults'); const buttonText = document.getElementById('trackingButtonText'); const spinner = document.getElementById('trackingSpinner'); if (!trackingInput || !resultsDiv || !buttonText || !spinner) { console.error('Required elements not found'); return; } const inputValue = trackingInput.value.trim(); if (!inputValue) { resultsDiv.innerHTML = '
Please enter at least one tracking number
'; return; } const trackingNumbers = inputValue.split('\n').filter(num => num.trim()); // Show loading state buttonText.textContent = 'Tracking...'; spinner.classList.remove('hidden'); // Simulate API delay await new Promise(resolve => setTimeout(resolve, 1000)); let resultsHTML = ''; let foundCount = 0; trackingNumbers.forEach(trackingNumber => { const trimmedNumber = trackingNumber.trim(); if (trimmedNumber) { const pkg = Database.get(trimmedNumber); if (pkg) { resultsHTML += generateTrackingCard(pkg); foundCount++; } else { resultsHTML += generateNotFoundCard(trimmedNumber); } } }); resultsDiv.innerHTML = resultsHTML; resultsDiv.classList.add('fade-in'); // Reset button state buttonText.textContent = 'Track Packages'; spinner.classList.add('hidden'); console.log(`Tracking completed: ${foundCount}/${trackingNumbers.length} packages found`); } function generateTrackingCard(pkg) { // Add safety checks for package data if (!pkg) { return '
Error: Package data not found
'; } const safeStatus = pkg.status || 'unknown'; const safeEvents = pkg.events || []; const statusClass = getStatusColor(safeStatus); const eventsHTML = safeEvents.map(event => `
${event.description || 'N/A'}
${event.timestamp ? formatDateTime(event.timestamp) : 'N/A'}
${event.location || 'N/A'}
`).join(''); const packageImageHTML = pkg.packageImage ? `
Package Image
` : ''; return `

Hello ${pkg.recipientName || 'Customer'}!

Your package was sent through FedEx and is being carefully handled throughout its journey to you. We're committed to delivering your package safely and on time.

Tracking #: ${pkg.trackingNumber || 'N/A'} ${safeStatus}

Recipient: ${pkg.recipientName || 'N/A'}

Destination: ${pkg.recipientAddress || 'N/A'}

Sender: ${pkg.senderName || 'N/A'}

Service: ${pkg.serviceType || 'N/A'}

Weight: ${pkg.weight || 'N/A'} lbs

Estimated Delivery: ${pkg.estimatedDelivery ? formatDate(pkg.estimatedDelivery) : 'N/A'}

${packageImageHTML}

Tracking History

${eventsHTML}
`; } function generateNotFoundCard(trackingNumber) { return `
Tracking #: ${trackingNumber} Not Found

No information found for this tracking number.

`; } // Admin functions function showAdminPanel() { const password = prompt("Enter admin password:"); if (password === "admin123") { document.getElementById('mainSite').classList.add('admin-hidden'); document.getElementById('adminPanel').classList.remove('admin-hidden'); currentView = 'admin'; loadPackages(); } else { alert("Access denied"); } } function showMainSite() { document.getElementById('adminPanel').classList.add('admin-hidden'); document.getElementById('mainSite').classList.remove('admin-hidden'); currentView = 'main'; } function logout() { showMainSite(); } function showAdminSection(section) { // Update tab states document.getElementById('packagesTab').className = 'w-full text-left px-4 py-3 text-gray-700 hover:bg-gray-100 rounded-md'; document.getElementById('addPackageTab').className = 'w-full text-left px-4 py-3 text-gray-700 hover:bg-gray-100 rounded-md'; // Hide all sections document.getElementById('packagesSection').classList.add('admin-hidden'); document.getElementById('addPackageSection').classList.add('admin-hidden'); if (section === 'packages') { document.getElementById('packagesTab').className = 'w-full text-left px-4 py-3 bg-fedex-purple text-white rounded-md'; document.getElementById('packagesSection').classList.remove('admin-hidden'); loadPackages(); } else if (section === 'add-package') { document.getElementById('addPackageTab').className = 'w-full text-left px-4 py-3 bg-fedex-purple text-white rounded-md'; document.getElementById('addPackageSection').classList.remove('admin-hidden'); } } function initializeAdminForm() { const trackingNumberInput = document.getElementById('trackingNumber'); const estimatedDeliveryInput = document.getElementById('estimatedDelivery'); const imagePreview = document.getElementById('imagePreview'); const imageUrlInput = document.getElementById('imageUrlInput'); if (trackingNumberInput) { trackingNumberInput.value = generateTrackingNumber(); } if (estimatedDeliveryInput) { const tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); estimatedDeliveryInput.value = tomorrow.toISOString().split('T')[0]; } // Reset image currentPackageImage = null; if (imagePreview) imagePreview.classList.add('hidden'); if (imageUrlInput) imageUrlInput.value = ''; } function handleImageUpload(e) { const file = e.target.files[0]; if (file) { const reader = new FileReader(); reader.onload = function(e) { currentPackageImage = e.target.result; const preview = document.getElementById('imagePreview'); if (preview) { preview.src = currentPackageImage; preview.classList.remove('hidden'); } }; reader.readAsDataURL(file); } } function loadImageFromUrl() { const imageUrlInput = document.getElementById('imageUrlInput'); const imagePreview = document.getElementById('imagePreview'); if (!imageUrlInput || !imagePreview) return; const imageUrl = imageUrlInput.value.trim(); if (imageUrl) { currentPackageImage = imageUrl; imagePreview.src = imageUrl; imagePreview.classList.remove('hidden'); imagePreview.onload = function() { console.log('Image loaded successfully'); }; imagePreview.onerror = function() { alert('Failed to load image. Please check the URL.'); imagePreview.classList.add('hidden'); currentPackageImage = null; }; } } function handleAddPackage(e) { e.preventDefault(); const formData = { trackingNumber: document.getElementById('trackingNumber').value || generateTrackingNumber(), recipientName: document.getElementById('recipientName').value, recipientAddress: document.getElementById('recipientAddress').value, senderName: document.getElementById('senderName').value, weight: parseFloat(document.getElementById('packageWeight').value), serviceType: document.getElementById('serviceType').value, status: document.getElementById('packageStatus').value, estimatedDelivery: document.getElementById('estimatedDelivery').value, packageImage: currentPackageImage || 'https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=200&h=200&fit=crop&crop=center', events: [ { description: 'Package created', timestamp: new Date().toISOString(), location: 'Origin facility', completed: true, } ], createdAt: new Date().toISOString(), isGlobal: false }; // Check if tracking number already exists if (Database.exists(formData.trackingNumber)) { alert('Tracking number already exists. Please use a different number.'); return; } // Add to database if (Database.add(formData)) { alert('Package added successfully! It will be available for tracking immediately.'); // Reset form document.getElementById('addPackageForm').reset(); initializeAdminForm(); // Reload packages list loadPackages(); } else { alert('Error adding package. Please try again.'); } } function loadPackages() { Database.reload(); const packages = Database.getAll(); const tbody = document.getElementById('packagesTableBody'); if (!tbody) return; tbody.innerHTML = packages.map(pkg => ` ${pkg.trackingNumber || 'N/A'} ${pkg.recipientName || 'N/A'} ${pkg.status || 'unknown'} ${pkg.isGlobal ? 'Global Package' : `` } `).join(''); } function deletePackage(trackingNumber) { if (confirm('Are you sure you want to delete this package?')) { if (Database.remove(trackingNumber)) { loadPackages(); alert('Package deleted successfully.'); } else { alert('Cannot delete this package.'); } } } function filterPackages() { const searchInput = document.getElementById('packageSearch'); const statusSelect = document.getElementById('statusFilter'); if (!searchInput || !statusSelect) return; const searchTerm = searchInput.value.toLowerCase(); const statusFilter = statusSelect.value; const packages = Database.getAll(); const filteredPackages = packages.filter(pkg => { const matchesSearch = (pkg.trackingNumber && pkg.trackingNumber.toLowerCase().includes(searchTerm)) || (pkg.recipientName && pkg.recipientName.toLowerCase().includes(searchTerm)) || (pkg.recipientAddress && pkg.recipientAddress.toLowerCase().includes(searchTerm)); const matchesStatus = !statusFilter || pkg.status === statusFilter; return matchesSearch && matchesStatus; }); const tbody = document.getElementById('packagesTableBody'); if (!tbody) return; tbody.innerHTML = filteredPackages.map(pkg => ` ${pkg.trackingNumber || 'N/A'} ${pkg.recipientName || 'N/A'} ${pkg.status || 'unknown'} ${pkg.isGlobal ? 'Global Package' : `` } `).join(''); } function trackSample(trackingNumber) { const trackingInput = document.getElementById('trackingInput'); if (trackingInput) { trackingInput.value = trackingNumber; handleTracking({ preventDefault: () => {} }); } } // Make functions globally available window.showAdminPanel = showAdminPanel; window.showMainSite = showMainSite; window.logout = logout; window.showAdminSection = showAdminSection; window.loadImageFromUrl = loadImageFromUrl; window.deletePackage = deletePackage; window.trackSample = trackSample; // Initialize the application function initializeApp() { console.log('FedEx Tracking System Initialized'); // Set up event listeners const trackingForm = document.getElementById('trackingForm'); const addPackageForm = document.getElementById('addPackageForm'); const packageSearch = document.getElementById('packageSearch'); const statusFilter = document.getElementById('statusFilter'); const packageImageInput = document.getElementById('packageImageInput'); if (trackingForm) trackingForm.addEventListener('submit', handleTracking); if (addPackageForm) addPackageForm.addEventListener('submit', handleAddPackage); if (packageSearch) packageSearch.addEventListener('input', filterPackages); if (statusFilter) statusFilter.addEventListener('change', filterPackages); if (packageImageInput) packageImageInput.addEventListener('change', handleImageUpload); // Initialize admin form initializeAdminForm(); console.log('Admin password: admin123'); } // Initialize when DOM is ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initializeApp); } else { initializeApp(); } })();