Navigating New York City via yellow cab involves a specific fare structure mandated by the Taxi & Limousine Commission (TLC). Unlike rideshare apps that often use dynamic upfront pricing, NYC taxis operate on a strict metered rate that combines distance, time, and specific surcharges. This TLC Rate Calculator helps passengers estimate the cost of a trip based on the current official fare rules.
How the Meter Calculates Fares
The standard metered fare is a combination of an initial charge, a mileage rate, and a time rate for when the taxi is moving slowly or stopped. As of the latest rate adjustments, the breakdown is as follows:
Initial Drop: The meter starts at $3.00 immediately upon hiring the taxi.
Mileage Rate: The cost is $0.70 for every 1/5 of a mile. This equates to approximately $3.50 per mile when moving at standard speeds.
Time Rate: If the taxi is stopped or traveling under 12 MPH, the meter charges $0.70 every 60 seconds.
Mandatory and Conditional Surcharges
In addition to the rolling meter, several fixed costs are added to every trip:
Improvement Surcharge: A mandatory $1.00 fee to support accessibility improvements.
State Surcharge: A $0.50 MTA tax applied to all trips within NYC.
Rush Hour Surcharge: An additional $2.50 is added on weekdays between 4:00 PM and 8:00 PM.
Overnight Surcharge: An additional $1.00 is added daily between 8:00 PM and 6:00 AM.
Congestion Surcharge: A $2.50 fee applies to all trips that start in, end in, or pass through Manhattan south of 96th Street.
Airport Flat Rates
While this calculator focuses on standard metered trips, it is important to note that trips between Manhattan and JFK Airport carry a flat fare (currently $70.00) plus surcharges and tolls. Trips to LaGuardia and Newark Airport remain on the standard metered rate.
Disclaimer: This tool provides an estimate based on official TLC rates. Actual fares may vary due to route changes, heavy traffic conditions, bridge/tunnel tolls, and meter calibration.
function calculateFare() {
// 1. Get Input Values
var distance = parseFloat(document.getElementById('tripDistance').value);
var time = parseFloat(document.getElementById('stoppedTime').value);
var tipPercent = parseFloat(document.getElementById('tipPercent').value);
var isRushHour = document.getElementById('rushHour').checked;
var isOvernight = document.getElementById('overnight').checked;
var isCongestion = document.getElementById('congestionZone').checked;
// 2. Validate Inputs
if (isNaN(distance) || distance < 0) {
alert("Please enter a valid trip distance in miles.");
return;
}
if (isNaN(time) || time < 0) {
time = 0; // Default to 0 if empty
}
// 3. Define Rate Constants (Based on NYC TLC Official Rules)
var BASE_FARE = 3.00;
var UNIT_CHARGE = 0.70; // Per 1/5 mile or 60 seconds
var SURCHARGE_IMPROVEMENT = 1.00;
var SURCHARGE_STATE = 0.50;
var SURCHARGE_RUSH = 2.50;
var SURCHARGE_NIGHT = 1.00;
var SURCHARGE_CONGESTION = 2.50;
// 4. Calculate Metered Portion
// Distance cost: $0.70 per 1/5 mile = $3.50 per mile
var mileageCost = distance * 5 * UNIT_CHARGE;
// Time cost: $0.70 per minute (slow traffic/stopped)
var timeCost = time * UNIT_CHARGE;
// 5. Calculate Surcharges
var surcharges = SURCHARGE_IMPROVEMENT + SURCHARGE_STATE; // Always applied
if (isRushHour) {
surcharges += SURCHARGE_RUSH;
}
if (isOvernight) {
surcharges += SURCHARGE_NIGHT;
}
if (isCongestion) {
surcharges += SURCHARGE_CONGESTION;
}
// 6. Calculate Subtotal
var subtotal = BASE_FARE + mileageCost + timeCost + surcharges;
// 7. Calculate Tip
var tipAmount = subtotal * (tipPercent / 100);
// 8. Calculate Final Total
var total = subtotal + tipAmount;
// 9. Display Results
var resultDiv = document.getElementById('result');
resultDiv.style.display = "block";
resultDiv.innerHTML = `