.etch-rate-calculator-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: #f9f9f9;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.erc-calc-box {
background: #ffffff;
padding: 30px;
border-radius: 8px;
border: 1px solid #e0e0e0;
margin-bottom: 40px;
}
.erc-title {
text-align: center;
color: #2c3e50;
margin-bottom: 25px;
font-size: 24px;
font-weight: 700;
}
.erc-input-group {
margin-bottom: 20px;
}
.erc-label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #34495e;
}
.erc-row {
display: flex;
gap: 15px;
flex-wrap: wrap;
}
.erc-col {
flex: 1;
min-width: 200px;
}
.erc-input, .erc-select {
width: 100%;
padding: 12px;
border: 1px solid #dcdcdc;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.erc-input:focus, .erc-select:focus {
outline: none;
border-color: #3498db;
box-shadow: 0 0 5px rgba(52,152,219,0.3);
}
.erc-btn {
display: block;
width: 100%;
padding: 15px;
background-color: #3498db;
color: white;
border: none;
border-radius: 4px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background 0.3s;
margin-top: 10px;
}
.erc-btn:hover {
background-color: #2980b9;
}
.erc-results {
margin-top: 25px;
padding: 20px;
background-color: #f0f8ff;
border-left: 5px solid #3498db;
border-radius: 4px;
display: none;
}
.erc-result-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #daeefc;
}
.erc-result-item:last-child {
border-bottom: none;
}
.erc-result-label {
color: #2c3e50;
font-weight: 600;
}
.erc-result-value {
font-weight: 700;
color: #e74c3c;
font-size: 18px;
}
.erc-content {
line-height: 1.6;
color: #444;
}
.erc-content h2 {
color: #2c3e50;
margin-top: 30px;
font-size: 22px;
}
.erc-content h3 {
color: #34495e;
font-size: 18px;
margin-top: 20px;
}
.erc-content p {
margin-bottom: 15px;
}
.erc-content ul {
margin-bottom: 15px;
padding-left: 20px;
}
.erc-content li {
margin-bottom: 8px;
}
.erc-error {
color: #c0392b;
font-size: 14px;
margin-top: 5px;
display: none;
}
Etch Rate Calculator for Semiconductor Processes
In semiconductor fabrication and materials science, calculating the etch rate is a fundamental task for process engineers. Whether you are performing wet chemical etching or dry plasma etching (RIE/ICP), knowing precisely how fast material is being removed is critical for controlling critical dimensions (CD), ensuring selectivity, and preventing over-etching into underlying layers.
This calculator helps you determine the average etch rate based on film thickness measurements taken before and after the process.
How to Calculate Etch Rate
The formula for etch rate is relatively straightforward. It represents the thickness of material removed over a specific period of time:
Etch Rate (ER) = (Tinitial – Tfinal) / Time
Where:
- Tinitial: The thickness of the film before etching.
- Tfinal: The thickness of the film remaining after etching.
- Time: The duration of the etch process.
Understanding Units in Microfabrication
Etch rates are typically expressed in Angstroms per minute (Å/min) for slow, precise processes like gate oxide etching, or Nanometers per minute (nm/min) and Microns per minute (µm/min) for faster processes like MEMS bulk silicon etching.
- 1 Nanometer (nm) = 10 Angstroms (Å)
- 1 Micron (µm) = 1,000 Nanometers (nm) = 10,000 Angstroms (Å)
Common Etch Rate Examples
- Thermal Oxide (SiO2) in BOE (Buffered Oxide Etch): ~800 – 1000 Å/min (depending on ratio).
- Silicon in KOH (Wet Etch): ~1 µm/min (highly dependent on temperature and crystal orientation).
- Photoresist in O2 Plasma (Ashing): ~100 – 500 nm/min.
Factors Affecting Etch Rate
If your calculated rate differs from your target, consider these variables:
- Temperature: Chemical reaction rates generally increase exponentially with temperature (Arrhenius equation). A variation of just a few degrees can significantly alter the etch rate.
- Concentration: In wet etching, the depletion of the etchant over time leads to a lower etch rate (loading effect).
- Agitation: Stirring or ultrasonic agitation helps remove reaction byproducts from the surface, often increasing the rate and uniformity.
- Plasma Parameters: In dry etching, RF power, chamber pressure, and gas flow rates directly dictate ion density and energy, controlling the physical removal rate.
Using this Calculator
Enter your pre-etch and post-etch thickness measurements. Ensure both measurements use the same unit (Angstroms, nm, or µm) for accuracy within the tool logic, or note the output conversions. If the final thickness is greater than the initial thickness, this indicates deposition (film growth) rather than etching.
function calculateEtchRate() {
// Get input values
var tInitial = parseFloat(document.getElementById('er_initial_thickness').value);
var tFinal = parseFloat(document.getElementById('er_final_thickness').value);
var tUnit = document.getElementById('er_thickness_unit').value;
var timeVal = parseFloat(document.getElementById('er_time').value);
var timeUnit = document.getElementById('er_time_unit').value;
var errorDiv = document.getElementById('er_error_msg');
var resultsDiv = document.getElementById('er_results');
// Reset display
errorDiv.style.display = 'none';
resultsDiv.style.display = 'none';
// Validate inputs
if (isNaN(tInitial) || isNaN(tFinal) || isNaN(timeVal)) {
return; // Do nothing if empty
}
if (timeVal Final)
// Allow 0 removal, but negative removal means deposition
if (tFinal > tInitial) {
errorDiv.style.display = 'block';
errorDiv.innerText = "Final thickness is greater than initial thickness. This indicates deposition, not etching.";
return;
}
// 1. Calculate Amount Removed in Input Units
var removedRaw = tInitial – tFinal;
// 2. Normalize Removed Amount to Angstroms (Å)
var removedAngstroms = 0;
if (tUnit === 'A') {
removedAngstroms = removedRaw;
} else if (tUnit === 'nm') {
removedAngstroms = removedRaw * 10;
} else if (tUnit === 'um') {
removedAngstroms = removedRaw * 10000;
}
// 3. Normalize Time to Minutes
var timeMinutes = 0;
if (timeUnit === 'min') {
timeMinutes = timeVal;
} else if (timeUnit === 'sec') {
timeMinutes = timeVal / 60;
}
// 4. Calculate Base Rate (Å/min)
var rateAngstromsPerMin = removedAngstroms / timeMinutes;
// 5. Calculate Derived Rates
var rateNmPerMin = rateAngstromsPerMin / 10;
var rateAngstromsPerSec = rateAngstromsPerMin / 60;
var rateNmPerSec = rateNmPerMin / 60;
// 6. Display Results
// Format Amount Removed based on input unit
document.getElementById('res_removed').innerText = removedRaw.toFixed(2) + " " + tUnit;
// Display Rates
document.getElementById('res_rate_amin').innerText = rateAngstromsPerMin.toFixed(2);
document.getElementById('res_rate_nmin').innerText = rateNmPerMin.toFixed(2);
document.getElementById('res_rate_asec').innerText = rateAngstromsPerSec.toFixed(2);
document.getElementById('res_rate_nsec').innerText = rateNmPerSec.toFixed(4);
resultsDiv.style.display = 'block';
}