Search
Show prices tax inclusive Show prices tax exclusive
Show prices tax inclusive
All Categories
    Menu Close

    Building Materials

    Building Materials for Trade Professionals and DIY Projects

    At County Building Supplies, we stock a complete range of trade-quality building materials—covering everything from structural blocks, bricks, and lintels to finishing essentials like plaster, plasterboard, and adhesives. Whether you're starting groundwork with cement & aggregates, tackling damp control with damp proofing, or completing interiors with plaster & plasterboard, our products provide strength, durability, and reliable performance across residential and commercial projects. Explore categories such as builders metalwork and timber & sheet materials to find everything you need in one place.

    View as Grid List
    Sort by
    Display per page
    Picture of Expamet Masonry Joist Hanger 100x47mm SPHS10047

    Expamet Masonry Joist Hanger 100x47mm SPHS10047

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £6.07
    Picture of Expamet Masonry Joist Hanger 125x47mm SPHS12547

    Expamet Masonry Joist Hanger 125x47mm SPHS12547

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £6.07
    Picture of Expamet Masonry Joist Hanger 150x47mm SPHS15047

    Expamet Masonry Joist Hanger 150x47mm SPHS15047

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £5.56
    Picture of Expamet Masonry Joist Hanger 200x47mm SPHS20047

    Expamet Masonry Joist Hanger 200x47mm SPHS20047

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £6.63
    Picture of Expamet Masonry Joist Hanger 200x75mm SPHS20075

    Expamet Masonry Joist Hanger 200x75mm SPHS20075

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £9.97
    Picture of Expamet Masonry Joist Hanger 225x47mm SPHS22547

    Expamet Masonry Joist Hanger 225x47mm SPHS22547

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options Payment icons Visa Mastercard PayPal ApplePay
    £7.19
    Picture of Expamet Multi-purpose Fixing Band 20x1mm 10m

    Expamet Multi-purpose Fixing Band 20x1mm 10m

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £17.77
    Picture of Expamet Safe Edge Frame Cramp 100x50mm SEFC150#125

    Expamet Safe Edge Frame Cramp 100x50mm SEFC150#125

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £0.51
    Picture of Expamet Safe Edge Frame Cramp 150x50mm SEFC200#125

    Expamet Safe Edge Frame Cramp 150x50mm SEFC200#125

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £0.50
    Picture of Expamet Safe Edge Frame Cramp 200x50mm SEFC250#125

    Expamet Safe Edge Frame Cramp 200x50mm SEFC250#125

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options Payment icons Visa Mastercard PayPal ApplePay
    £0.50
    Picture of Expamet Speedy Minor Joist Hanger 50mm SM50

    Expamet Speedy Minor Joist Hanger 50mm SM50

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £1.62
    Picture of Expamet Stainless Steel Expanded Metal Lath Sheet 2500x700mm 95S

    Expamet Stainless Steel Expanded Metal Lath Sheet 2500x700mm 95S

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £66.78
    Picture of Expamet Std Leg Speedy Joist Hanger 100mm ST100

    Expamet Std Leg Speedy Joist Hanger 100mm ST100

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £2.17
    Picture of Expamet Std Leg Speedy Joist Hanger 47mm ST47

    Expamet Std Leg Speedy Joist Hanger 47mm ST47

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £2.17
    Picture of Expamet Std Leg Speedy Joist Hanger 75mm ST75

    Expamet Std Leg Speedy Joist Hanger 75mm ST75

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £2.17
    Picture of Expamet Std Leg Speedy Joist Hanger 91mm ST91

    Expamet Std Leg Speedy Joist Hanger 91mm ST91

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £2.17
    Picture of Expamet Std Restraint Strap 1000mm Bent 100mm 2mm ST1000B100

    Expamet Std Restraint Strap 1000mm Bent 100mm 2mm ST1000B100

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options Payment icons Visa Mastercard PayPal ApplePay
    £6.63
    Picture of Expamet Std Restraint Strap 1000mm Twist 100mm 2mm ST1000T100

    Expamet Std Restraint Strap 1000mm Twist 100mm 2mm ST1000T100

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £6.63
    Picture of Expamet Std Restraint Strap 1200mm Bent 100mm 2mm ST1200B100

    Expamet Std Restraint Strap 1200mm Bent 100mm 2mm ST1200B100

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £7.74
    Picture of Expamet Std Restraint Strap 1200mm Twist 100mm 2mm ST1200T100

    Expamet Std Restraint Strap 1200mm Twist 100mm 2mm ST1200T100

    Free delivery over £250 (Exceptions Apply)
    Further delivery information
    30 Day Return Policy
    Need help or advice? Get in Touch
    Payment options
    £7.74
    // JavaScript Document let currentUnit = 'metric'; function setUnit(unit) { currentUnit = unit; document.getElementById('brick-results').style.display = 'none'; const btnMetric = document.getElementById('btn-metric'); const btnImperial = document.getElementById('btn-imperial'); const selectBox = document.getElementById('brick-size'); const jointInput = document.getElementById('mortar-joint'); if (unit === 'metric') { btnMetric.classList.add('active'); btnImperial.classList.remove('active'); document.getElementById('label-length').innerText = 'Main Wall Length (metres):'; document.getElementById('label-width').innerText = 'Main Wall Height (metres):'; document.getElementById('wall-length').placeholder = 'e.g. 6'; document.getElementById('wall-height').placeholder = 'e.g. 2.4'; document.getElementById('label-b-length').innerText = 'Unit Length (mm):'; document.getElementById('label-b-height').innerText = 'Unit Height (mm):'; document.getElementById('brick-length').placeholder = 'e.g. 215'; document.getElementById('brick-height').placeholder = 'e.g. 65'; document.getElementById('label-joint').innerText = 'Mortar Joint Thickness (mm):'; jointInput.value = "10"; document.getElementById('label-b-width').innerText = 'Individual Unit Depth / Width (mm):'; } else { btnImperial.classList.add('active'); btnMetric.classList.remove('active'); document.getElementById('label-length').innerText = 'Main Wall Length (feet):'; document.getElementById('label-width').innerText = 'Main Wall Height (feet):'; document.getElementById('wall-length').placeholder = 'e.g. 20'; document.getElementById('wall-height').placeholder = 'e.g. 8'; document.getElementById('label-b-length').innerText = 'Unit Length (inches):'; document.getElementById('label-b-height').innerText = 'Unit Height (inches):'; document.getElementById('brick-length').placeholder = 'e.g. 8.5'; document.getElementById('brick-height').placeholder = 'e.g. 2.6'; document.getElementById('label-joint').innerText = 'Mortar Joint Thickness (inches):'; jointInput.value = "0.4"; document.getElementById('label-b-width').innerText = 'Individual Unit Depth / Width (inches):'; } handleSizeChange(); for (let option of selectBox.options) { if (option.value !== 'custom') { option.text = unit === 'metric' ? option.getAttribute('data-metric') : option.getAttribute('data-imperial'); } } const rows = document.querySelectorAll('.opening-row'); rows.forEach(row => { const wLabel = row.querySelector('.op-w-label'); const hLabel = row.querySelector('.op-h-label'); wLabel.innerText = unit === 'metric' ? 'Width (m):' : 'Width (ft):'; hLabel.innerText = unit === 'metric' ? 'Height (m):' : 'Height (ft):'; }); } function handleSizeChange() { const selectBox = document.getElementById('brick-size'); const val = selectBox.value; const selectedOption = selectBox.options[selectBox.selectedIndex]; document.getElementById('custom-fields-wrapper').style.display = (val === 'custom') ? 'block' : 'none'; document.getElementById('brick-results').style.display = 'none'; if (val !== 'custom') { let defaultWidth = parseFloat(selectedOption.getAttribute('data-width')); if (currentUnit === 'imperial') { defaultWidth = (defaultWidth / 25.4).toFixed(1); } document.getElementById('brick-width').value = defaultWidth; } } function handleOpeningsToggle() { const isChecked = document.getElementById('toggle-openings').checked; const container = document.getElementById('openings-fields-wrapper'); container.style.display = isChecked ? 'block' : 'none'; document.getElementById('brick-results').style.display = 'none'; if (isChecked && document.getElementById('openings-list').children.length === 0) { addOpeningRow(); } } function handleMortarToggle() { const isChecked = document.getElementById('toggle-mortar').checked; document.getElementById('mortar-fields-wrapper').style.display = isChecked ? 'block' : 'none'; document.getElementById('brick-results').style.display = 'none'; } function addOpeningRow() { const list = document.getElementById('openings-list'); const wLabelText = currentUnit === 'metric' ? 'Width (m):' : 'Width (ft):'; const hLabelText = currentUnit === 'metric' ? 'Height (m):' : 'Height (ft):'; const row = document.createElement('div'); row.className = 'opening-row'; row.innerHTML = `
    `; list.appendChild(row); } function calculateBricks() { const wallLength = parseFloat(document.getElementById('wall-length').value); const wallHeight = parseFloat(document.getElementById('wall-height').value); const selectBox = document.getElementById('brick-size'); const selectedSize = selectBox.value; const selectedOption = selectBox.options[selectBox.selectedIndex]; const skinMultiplier = parseInt(document.getElementById('wall-skin').value); const wastageMultiplier = parseFloat(document.getElementById('wastage').value); const rawJoint = parseFloat(document.getElementById('mortar-joint').value); if (isNaN(wallLength) || wallLength <= 0 || isNaN(wallHeight) || wallHeight <= 0 || isNaN(rawJoint) || rawJoint < 0) { alert('Please enter valid positive numbers for main wall dimensions.'); return; } // Process subtraction values with physical boundary limit checking loops let totalOpeningArea = 0; if (document.getElementById('toggle-openings').checked) { const widths = document.querySelectorAll('.op-width'); const heights = document.querySelectorAll('.op-height'); const unitLabelText = currentUnit === 'metric' ? 'm' : 'ft'; for (let i = 0; i < widths.length; i++) { let w = parseFloat(widths[i].value) || 0; let h = parseFloat(heights[i].value) || 0; // Direct individual opening dimensional validation checks if (w > wallLength) { alert(`Validation Error: Opening #${i+1} width (${w}${unitLabelText}) cannot be wider than the actual wall length (${wallLength}${unitLabelText}).`); return; } if (h > wallHeight) { alert(`Validation Error: Opening #${i+1} height (${h}${unitLabelText}) cannot be taller than the actual wall height (${wallHeight}${unitLabelText}).`); return; } totalOpeningArea += (w * h); } } let rawWallArea = wallLength * wallHeight; let netCalculatedArea = rawWallArea - totalOpeningArea; if (netCalculatedArea <= 0) { alert('Validation Error: The cumulative surface area of your doors/windows matches or completely exceeds your structural wall area boundary layer.'); return; } let bLengthMm = 0; let bHeightMm = 0; let jointMm = currentUnit === 'metric' ? rawJoint : rawJoint * 25.4; let typeLabel = "Units"; if (selectedSize === 'custom') { const rawLength = parseFloat(document.getElementById('brick-length').value); const rawHeight = parseFloat(document.getElementById('brick-height').value); if (isNaN(rawLength) || rawLength <= 0 || isNaN(rawHeight) || rawHeight <= 0) { alert('Please enter valid positive numbers for custom block dimensions.'); return; } bLengthMm = currentUnit === 'metric' ? rawLength : rawLength * 25.4; bHeightMm = currentUnit === 'metric' ? rawHeight : rawHeight * 25.4; } else { const parts = selectedSize.split(','); bLengthMm = parseFloat(parts[0]); bHeightMm = parseFloat(parts[1]); typeLabel = selectedOption.getAttribute('data-type') === 'block' ? 'Blocks' : 'Bricks'; } const effectiveBrickAreaSqm = ((bLengthMm + jointMm) / 1000) * ((bHeightMm + jointMm) / 1000); let baseBricksNeeded = 0; if (currentUnit === 'metric') { baseBricksNeeded = netCalculatedArea / effectiveBrickAreaSqm; } else { const totalNetAreaSqm = netCalculatedArea * 0.092903; baseBricksNeeded = totalNetAreaSqm / effectiveBrickAreaSqm; } const totalBricksFinal = Math.ceil(baseBricksNeeded * skinMultiplier * wastageMultiplier); document.getElementById('res-area').innerText = netCalculatedArea.toFixed(2); document.getElementById('res-unit-label').innerText = currentUnit === 'metric' ? 'm²' : 'sq ft'; document.getElementById('res-material-type').innerText = typeLabel; document.getElementById('res-bricks').innerText = totalBricksFinal.toLocaleString(); if (document.getElementById('toggle-mortar').checked) { const rawBWidth = parseFloat(document.getElementById('brick-width').value); if (isNaN(rawBWidth) || rawBWidth <= 0) { alert('Please enter a valid unit thickness parameter to calculate mortar details.'); return; } let bWidthMm = currentUnit === 'metric' ? rawBWidth : rawBWidth * 25.4; let brickVol = (bLengthMm / 1000) * (bHeightMm / 1000) * (bWidthMm / 1000); let blockUnitVol = ((bLengthMm + jointMm) / 1000) * ((bHeightMm + jointMm) / 1000) * (bWidthMm / 1000); let individualMortarVolM3 = blockUnitVol - brickVol; let totalMortarM3 = individualMortarVolM3 * (baseBricksNeeded * skinMultiplier) * 1.25; let totalWeightKg = totalMortarM3 * 1800; let cementKg = totalWeightKg * 0.20; let sandKg = totalWeightKg * 0.80; const chosenCementBagSize = parseFloat(document.getElementById('bag-size-cement').value); const chosenSandBagSize = parseFloat(document.getElementById('bag-size-sand').value); if (currentUnit === 'metric') { document.getElementById('res-sand').innerText = Math.ceil(sandKg).toLocaleString(); document.getElementById('res-sand-unit').innerText = 'kg'; document.getElementById('res-cement').innerText = Math.ceil(cementKg).toLocaleString(); document.getElementById('res-cement-unit').innerText = 'kg'; let cementBagsCount = Math.ceil(cementKg / chosenCementBagSize); let sandUnitsCount = Math.ceil(sandKg / chosenSandBagSize); document.getElementById('res-cement-bags').innerText = cementBagsCount; document.getElementById('res-sand-bags').innerText = sandUnitsCount + (chosenSandBagSize >= 850 ? " Bulk Bag(s)" : " Handy Bag(s)"); } else { let sandLbs = sandKg * 2.20462; let cementLbs = cementKg * 2.20462; document.getElementById('res-sand').innerText = Math.ceil(sandLbs).toLocaleString(); document.getElementById('res-sand-unit').innerText = 'lbs'; document.getElementById('res-cement').innerText = Math.ceil(cementLbs).toLocaleString(); document.getElementById('res-cement-unit').innerText = 'lbs'; let imperialCementBagLb = chosenCementBagSize === 25 ? 50 : 90; let imperialSandBagLb = chosenSandBagSize === 850 ? 2000 : 50; let cementBagsCount = Math.ceil(cementLbs / imperialCementBagLb); let sandUnitsCount = Math.ceil(sandLbs / imperialSandBagLb); document.getElementById('res-cement-bags').innerText = cementBagsCount; document.getElementById('res-sand-bags').innerText = sandUnitsCount + (imperialSandBagLb >= 2000 ? " Tonne Bulk Bag(s)" : " Handy Bag(s)"); } document.getElementById('sand-output').style.display = 'block'; document.getElementById('sand-bags-output').style.display = 'block'; document.getElementById('cement-output').style.display = 'block'; document.getElementById('cement-bags-output').style.display = 'block'; } else { document.getElementById('sand-output').style.display = 'none'; document.getElementById('sand-bags-output').style.display = 'none'; document.getElementById('cement-output').style.display = 'none'; document.getElementById('cement-bags-output').style.display = 'none'; } document.getElementById('brick-results').style.display = 'block'; } function resetBricks() { document.getElementById('wall-length').value = ''; document.getElementById('wall-height').value = ''; document.getElementById('brick-length').value = ''; document.getElementById('brick-height').value = ''; document.getElementById('openings-list').innerHTML = ''; document.getElementById('brick-size').selectedIndex = 0; document.getElementById('wall-skin').selectedIndex = 0; document.getElementById('wastage').selectedIndex = 0; document.getElementById('toggle-openings').checked = false; document.getElementById('toggle-mortar').checked = false; document.getElementById('custom-fields-wrapper').style.display = 'none'; document.getElementById('openings-fields-wrapper').style.display = 'none'; document.getElementById('mortar-fields-wrapper').style.display = 'none'; document.getElementById('brick-results').style.display = 'none'; document.getElementById('res-area').innerText = '0'; document.getElementById('res-bricks').innerText = '0'; document.getElementById('res-sand').innerText = '0'; document.getElementById('res-cement').innerText = '0'; setUnit(currentUnit); }