.cmdiy-tool{font-family:Arial,sans-serif;max-width:700px;margin:2rem auto;padding:1.5rem;border:1px solid #ddd;border-radius:8px;background:#fff}.cmdiy-tool h3{margin-top:0;color:#242424}.cmdiy-tool input{width:100%;padding:.75rem;font-size:1rem;border:2px solid #ccc;border-radius:6px;box-sizing:border-box;text-transform:uppercase}.cmdiy-tool input:focus{border-color:#ED7135;outline:none}.cmdiy-btn{background:#ED7135;color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;border-radius:6px;cursor:pointer;margin-top:1rem;font-weight:bold}.cmdiy-btn:hover{background:#c85e20}.cmdiy-result{margin-top:1.5rem;padding:1rem;background:#f8f8f8;border-radius:6px;border-left:4px solid #ED7135;display:none}.cmdiy-result table{width:100%;border-collapse:collapse}.cmdiy-result td{padding:.4rem .75rem;border-bottom:1px solid #eee}.cmdiy-result td:first-child{font-weight:bold;width:40%;color:#555}.cmdiy-error{color:#c00;margin-top:1rem;display:none}
Enter Your Engine Number
The engine number is stamped on a flat pad on the front face of the block, on the left-hand side near the distributor. It may also appear on the engine plate in the engine bay.
<input type="text" id="eng-input" placeholder="e.g. 8AM-U-H101 or 12H-E-101" maxlength="25" /> <button class="cmdiy-btn" onclick="decodeEngine()">Decode</button>
Number not recognised. Please check and try again.
<script> const engPrefixes={ '8AM':'848cc — Standard (single carb)', '8AH':'848cc — High compression', '9FC':'997cc — Mini Cooper (1961–1964)', '9FA':'997cc — Mini Cooper (low compression)', '10CG':'998cc — Standard (single carb)', '10CC':'998cc — Standard (twin carb)', '10V':'998cc — Van / Traveller', '10CW':'998cc — Clubman', '12G295':'1071cc — Cooper S', '12G940':'1275cc — Cooper S (Mk1)', '12H':'1275cc — Standard or Cooper', '12V':'1275cc — Van / Pickup', '12HJ':'1275cc — Rover-era Cooper', }; const plantCodes={U:'Longbridge',E:'Longbridge (East Works)',K:'Drews Lane / Erdington',M:'Morris Engines Coventry'}; function decodeEngine(){ const raw=document.getElementById('eng-input').value.trim().toUpperCase().replace(/\s/g,''); const err=document.getElementById('eng-error'); const res=document.getElementById('eng-result'); err.style.display='none';res.style.display='none'; if(!raw){err.textContent='Please enter an engine number.';err.style.display='block';return;} let matched=null,prefix=null; const sorted=Object.keys(engPrefixes).sort((a,b)=>b.length-a.length); for(const p of sorted){ if(raw.startsWith(p)){matched=engPrefixes[p];prefix=p;break;} } if(!matched){err.textContent='Prefix not recognised. Please double-check the number — early engines (pre-1963) use different formats.';err.style.display='block';return;} const rest=raw.slice(prefix.length).replace(/^[-]/,''); const parts=rest.split('-'); const plantCode=parts[0]||''; const plant=plantCodes[plantCode]||plantCode; const seq=parts.slice(1).join('-')||rest; res.innerHTML='
'+(plantCode?'':'')+'
| Engine prefix | '+prefix+' |
| Engine type | '+matched+' |
| Plant code | '+plantCode+(plant!==plantCode?' — '+plant:'')+' |
| Sequence | '+seq+' |
'; res.style.display='block'; } document.getElementById('eng-input').addEventListener('keypress',function(e){if(e.key==='Enter')decodeEngine();}); </script>