EV Charger Installation Cost Calculator
About this app
Calculate the estimated cost of installing an EV charger with our friendly interactive calculator for homeowners, renters, and landlords.
EV Charger Installation Cost Calculator EV Charger Installation Cost Calculator Property Type: Detached Semi-detached Terraced Flat or Apartment Consumer Unit Age: Modern (post-2000) Older (pre-2000) Distance from Fuse Box to Parking: Under 5 metres 5-15 metres 15-30 metres Over 30 metres Parking Type: Private Driveway Garage Allocated Space in Block On-street (cross-pavement) Who Lives at the Property? Homeowner with Driveway Renter Flat Owner (Leasehold) Landlord Preferred Charger Speed: 7kW Standard 22kW Three-Phase Calculate Cost
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>EV Charger Installation Cost Calculator</title>
<meta name="description" content="Calculate the estimated cost of installing an EV charger with our friendly interactive calculator for homeowners, renters, and landlords.">
<meta name="keywords" content="EV charger installation, calculator, cost estimation, grant eligibility, electric vehicle charger, OZEV grant">
<!-- Libraries -->
<!-- jQuery (3.6.0) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<!-- Bootstrap CSS (5.3.3) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<!-- Bootstrap JS (5.3.3) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous">
</script>
<!-- Font Awesome (6.6.0) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">
<script type="text/javascript">
try {
// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
const calculateButton = document.getElementById('calculate');
calculateButton.addEventListener('click', calculateCost);
function calculateCost() {
const propertyType = document.querySelector('input[name="property"]:checked').value;
const consumerAge = document.querySelector('input[name="consumer"]:checked').value;
const distance = document.querySelector('input[name="distance"]:checked').value;
const parkingType = document.querySelector('input[name="parking"]:checked').value;
const occupantType = document.querySelector('input[name="occupant"]:checked').value;
const chargerSpeed = document.querySelector('input[name="charger"]:checked').value;
// Base labor cost
let laborCost = 350;
// Charger unit cost
let chargerCost = chargerSpeed === '7kW' ? 350 : 1000;
// Cable run addition
let cableCost = 0;
switch (distance) {
case 'under5':
cableCost = 25;
break;
case '5to15':
cableCost = 175;
break;
case '15to30':
cableCost = 400;
break;
case 'over30':
cableCost = 700;
break;
}
// Consumer unit upgrade cost
let unitCost = consumerAge === 'older' ? 900 : 0;
// Total cost before grant deduction
let estimatedCost = laborCost + chargerCost + cableCost + unitCost;
let grantAmount = 0;
// Grant eligibility logic
if (occupantType === 'renter' || occupantType === 'flat' || occupantType === 'landlord') {
grantAmount = 500;
}
const netCost = estimatedCost - grantAmount;
// Display results
document.getElementById("result").innerHTML = `
<h3>Estimated Installation Cost Range:</h3>
<p>£${Math.round(estimatedCost * 0.9)} - £${Math.round(estimatedCost * 1.1)}</p>
<h3>Grant Eligibility and Amount:</h3>
<p>${grantAmount > 0 ? 'You qualify for a grant of £500.' : 'No grant available.'}</p>
<h3>Estimated Net Cost:</h3>
<p>£${Math.round(netCost * 0.9)} - £${Math.round(netCost * 1.1)} after grant</p>
<p><small>Grant figures are based on the OZEV Electric Vehicle Chargepoint Grant as of May 2026. Grant amounts and eligibility criteria are subject to change. Always verify current grant details at <a href="https://www.gov.uk" target="_blank">gov.uk</a> before booking an installation. Your installer will apply for the grant on your behalf and deduct it from your invoice.</small></p>
`;
}
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
<style>
body {
background: linear-gradient(135deg, #f06, #ffb);
font-family: Arial, sans-serif;
color: #333;
}
#main-container {
padding: 20px;
border-radius: 10px;
background-color: #fff;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
h1, h3 {
color: #2d2d2d;
}
.input-group {
margin: 10px 0;
}
.result {
margin-top: 20px;
padding: 20px;
border: 1px solid #007bff;
border-radius: 5px;
background-color: #e7f1ff;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>EV Charger Installation Cost Calculator</h1>
<form>
<div class="input-group">
<label>Property Type:</label><br>
<input type="radio" name="property" value="detached"> Detached<br>
<input type="radio" name="property" value="semi-detached"> Semi-detached<br>
<input type="radio" name="property" value="terraced"> Terraced<br>
<input type="radio" name="property" value="flat"> Flat or Apartment<br>
</div>
<div class="input-group">
<label>Consumer Unit Age:</label><br>
<input type="radio" name="consumer" value="modern"> Modern (post-2000)<br>
<input type="radio" name="consumer" value="older"> Older (pre-2000)<br>
</div>
<div class="input-group">
<label>Distance from Fuse Box to Parking:</label><br>
<input type="radio" name="distance" value="under5"> Under 5 metres<br>
<input type="radio" name="distance" value="5to15"> 5-15 metres<br>
<input type="radio" name="distance" value="15to30"> 15-30 metres<br>
<input type="radio" name="distance" value="over30"> Over 30 metres<br>
</div>
<div class="input-group">
<label>Parking Type:</label><br>
<input type="radio" name="parking" value="driveway"> Private Driveway<br>
<input type="radio" name="parking" value="garage"> Garage<br>
<input type="radio" name="parking" value="allocated"> Allocated Space in Block<br>
<input type="radio" name="parking" value="onstreet"> On-street (cross-pavement)<br>
</div>
<div class="input-group">
<label>Who Lives at the Property?</label><br>
<input type="radio" name="occupant" value="homeowner"> Homeowner with Driveway<br>
<input type="radio" name="occupant" value="renter"> Renter<br>
<input type="radio" name="occupant" value="flat"> Flat Owner (Leasehold)<br>
<input type="radio" name="occupant" value="landlord"> Landlord<br>
</div>
<div class="input-group">
<label>Preferred Charger Speed:</label><br>
<input type="radio" name="charger" value="7kW"> 7kW Standard<br>
<input type="radio" name="charger" value="22kW"> 22kW Three-Phase<br>
</div>
<button type="button" id="calculate" class="btn btn-primary">Calculate Cost</button>
</form>
<div class="result" id="result"></div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!