Planning permission and building regulations
Many extensions are allowed under permitted development, but some need planning permission. Check with your council before work starts. Most building work also needs Building Regulations approval, from your council’s building control or a private building control body.
In England and Wales, work on a shared wall, or digging close to a neighbour’s foundations, can need a notice under the Party Wall etc. Act 1996.
Signs of a sound builder
Membership of the Federation of Master Builders (FMB) or TrustMark, the government-endorsed quality scheme, means the firm has been checked. Ask for addresses of past jobs you can look at.
For bigger projects, use a written contract that sets out the price, the stages, the payment for each stage and how changes are agreed. The FMB and JCT publish standard contracts for home building work.
Get quotes in writing
Ask two or three firms to quote for the same job, in writing. A quote is a fixed price. An estimate is only a best guess, and the final bill can be higher.
The quote should say what is included: materials, waste removal, making good, and any access equipment.
Check insurance and pay in stages
Ask to see their public liability insurance. Agree staged payments tied to finished work. A deposit for materials is normal on bigger jobs, but avoid paying the full price before the work starts.
Your rights
Under the Consumer Rights Act 2015, a trader must do the work with reasonable care and skill, in a reasonable time, and for a reasonable price if no price was agreed.
If you agree the job in your own home, you usually have 14 days to cancel under the Consumer Contracts Regulations 2013. If you ask for work to start sooner, you may have to pay for work already done.
For free advice on a problem with a trader, contact the Citizens Advice consumer helpline. In Northern Ireland, contact Consumerline.
This guide is general information, not legal advice. Rules differ between England, Scotland, Wales and Northern Ireland.
Find a builder near you
London
- London14
- Barking and Dagenham2
- Barnet2
- Bexley2
- Brent2
- Bromley2
- Camden4
- Croydon3
- Ealing2
- Enfield3
- Greenwich3
- Hackney3
- Hammersmith and Fulham2
- Haringey2
- Harrow2
- Havering2
- Hillingdon2
- Hounslow2
- Islington5
- Kensington and Chelsea2
- Kingston upon Thames2
- Lambeth2
- Lewisham2
- Merton2
- Newham2
- Redbridge2
- Richmond upon Thames2
- Southwark2
- Sutton2
- Tower Hamlets3
- Waltham Forest3
- Wandsworth2
- Westminster2
- Ilford0
- Romford1
- Hayes0
- Dagenham0
- Wembley0
- Southall0
- Edgware0
- Uxbridge0
- Barking0
- Hornchurch0
- Orpington0
- Ruislip0
- Greenford0
- Loughton0
- Waltham Cross0
- Mitcham0
- Morden0
- Stanmore0
- Feltham0
- Northolt0
- Woodford Green0
- South Croydon1
- Rainham0
- Pinner0
- Beckenham0
- Waltham Abbey0
- Isleworth0
- West Drayton0
- South Ockendon0
- Wallington0
- Carshalton0
- Surbiton0
- Potters Bar0
- Staines-upon-Thames0
- Thornton Heath0
- Hoddesdon0
- Swanley0
- Upminster0
- Twickenham0
- Caterham0
- Richmond0
- Chigwell0
- Weybridge0
- New Malden0
- Brentford0
- Chessington0
- Leatherhead0
- Walton-on-Thames0
- Coulsdon0
- Worcester Park0
- Northwood0
- Chislehurst0
- Addlestone0
- Buckhurst Hill0
- Chertsey0
- Banstead0
- Tadworth0
- Egham0
- Sunbury-on-Thames0
- West Wickham0
- Tilbury0
- Hampton0
- Cobham0
- Shepperton0
- Teddington0
- Purley0
- Broxbourne0
- East Ham0
- Cheshunt0
- West Byfleet0
- Palmers Green0
- West Molesey0
- Esher0
- Keston0
- Warlingham0
- Purfleet0
- Swanley Village0
- Kenley0
- Ashtead0
- Whyteleafe0
- Cuffley0
- Cockfosters0
- Thames Ditton0
- Southgate0
- Chadwell Heath0
North East
- Newcastle upon Tyne5
- Sunderland2
- Durham2
- Middlesbrough2
- Gateshead2
- Darlington2
- Hartlepool2
- Stockton-on-Tees2
- South Shields2
- Blyth1
- Cramlington3
- Ashington1
- Hexham2
- Bishop Auckland2
- Peterlee2
- Consett2
- Redcar2
- North Shields0
- Wallsend0
- Whitley Bay0
- Chester le Street0
- Houghton le Spring0
- Billingham0
- Morpeth0
- Washington0
- Stanley0
- Newton Aycliffe0
- Northallerton0
- Jarrow0
- Hebburn0
- Seaham0
- Bedlington0
- Guisborough0
- Spennymoor0
- Alnwick0
- Crook0
- Ferryhill0
- Barnard Castle0
- Blaydon-on-Tyne0
- Yarm0
- Tyne & Wear0
- Saltburn-by-the-Sea0
- Northumberland0
- Leyburn0
- Shildon0
North West
- Manchester5
- Liverpool6
- Salford2
- Preston3
- Lancaster2
- Carlisle2
- Chester3
- Bolton2
- Wigan2
- Stockport2
- Blackpool2
- Blackburn2
- Warrington3
- Oldham2
- Birkenhead2
- Southport2
- Burnley2
- Bury2
- Rochdale2
- St Helens2
- Widnes2
- Runcorn2
- Crewe2
- Macclesfield2
- Northwich2
- Kendal2
- Barrow-in-Furness2
- Workington2
- Morecambe2
- Accrington2
- Chorley2
- Leyland2
- Skelmersdale1
- Ormskirk3
- Ellesmere Port2
- Altrincham4
- Sale2
- Cheadle0
- Ashton-under-Lyne0
- Congleton0
- Hyde0
- Leigh0
- Heywood0
- Wilmslow0
- Bootle0
- Rossendale0
- Nelson0
- Clitheroe0
- Cheshire0
- Penrith0
- Darwen0
- Wallasey0
- Thornton Cleveleys0
- Prescot0
- Carnforth0
- Nantwich0
- Sandbach0
- Deeside0
- Knutsford0
- Stalybridge0
- Lytham St. Annes0
- Glossop0
- High Peak0
- Colne0
- Cumbria0
- Cockermouth0
- Winsford0
- Ulverston0
- Fleetwood0
- Poulton-le-Fylde0
- Merseyside0
- Bromborough0
- Dukinfield0
- Middlewich0
- Prenton0
- Todmorden0
- Neston0
- Tarporley0
- Maryport0
- Wigton0
- Lymm0
- Holywell0
- Newton-le-Willows0
- Windermere0
- Flintshire0
- Flint0
- Grange-Over-Sands0
- Barnoldswick0
- Buckley0
- Alderley Edge0
- Whitehaven0
- Lancs0
- Bacup0
Yorkshire and the Humber
- Leeds5
- Sheffield6
- Bradford3
- York3
- Hull3
- Wakefield2
- Doncaster3
- Huddersfield2
- Rotherham2
- Barnsley2
- Halifax2
- Harrogate3
- Scarborough2
- Grimsby3
- Dewsbury2
- Keighley3
- Pontefract3
- Castleford2
- Selby2
- Beverley3
- Scunthorpe2
- Bridlington2
- Whitby2
- Ripon2
- Batley2
- Gainsborough0
- Retford0
- Shipley0
- Mexborough0
- Pudsey0
- Skipton0
- Goole0
- Wetherby0
- Cleckheaton0
- Holmfirth0
- West Yorkshire0
- Cleethorpes0
- Ossett0
- Hessle0
- Malton0
- Driffield0
- Cottingham0
- Ilkley0
- Dronfield0
- Brough0
- Otley0
- Brighouse0
- Elland0
- Knaresborough0
- Mirfield0
- Normanton0
- North Yorkshire0
- Brigg0
- Liversedge0
- Thirsk0
- South Yorkshire0
- Bingley0
- Hebden Bridge0
- Baildon0
- Sowerby Bridge0
- East Yorkshire0
- Tadcaster0
East Midlands
- Nottingham5
- Leicester6
- Derby2
- Lincoln2
- Northampton2
- Mansfield2
- Chesterfield2
- Loughborough2
- Kettering2
- Corby2
- Wellingborough2
- Grantham3
- Boston2
- Skegness2
- Newark-on-Trent2
- Worksop2
- Ilkeston2
- Long Eaton2
- Hinckley2
- Coalville2
- Market Harborough2
- Buxton2
- Matlock2
- Spalding2
- Stamford2
- Burton-on-Trent0
- Newark0
- Swadlincote0
- Melton Mowbray0
- Rushden0
- Belper0
- Alfreton0
- Daventry0
- Sleaford0
- Sutton-in-Ashfield0
- Towcester0
- Wigston0
- Lutterworth0
- Market Rasen0
- Brackley0
- Ripley0
- Louth0
- Heanor0
- Derbyshire0
- Ashby-De-La-Zouch0
- Ashbourne0
- Leicestershire0
- Oakham0
- Northamptonshire0
- Nottinghamshire0
- Lincolnshire0
- Alford0
- Horncastle0
West Midlands
- Birmingham6
- Coventry3
- Wolverhampton3
- Stoke-on-Trent4
- Worcester2
- Hereford2
- Lichfield2
- Telford2
- Walsall2
- Dudley2
- Solihull3
- Shrewsbury3
- Nuneaton2
- Stafford2
- Kidderminster2
- Redditch4
- Bromsgrove2
- Tamworth2
- Burton upon Trent2
- Cannock2
- Leamington Spa2
- Warwick2
- Rugby2
- West Bromwich2
- Sutton Coldfield2
- Stourbridge3
- Halesowen4
- Newcastle-under-Lyme2
- Leek2
- Ludlow2
- Wednesbury0
- Oldbury0
- Smethwick0
- Newcastle0
- Willenhall0
- Kingswinford0
- Brierley Hill0
- Bilston0
- Evesham0
- Rugeley0
- Kington0
- Oswestry0
- Droitwich0
- Tipton0
- Stratford-upon-Avon0
- Burntwood0
- Cradley Heath0
- Malvern0
- Whitchurch0
- Alcester0
- Market Drayton0
- Kenilworth0
- Bridgnorth0
- Bedworth0
- Staffordshire0
- Leominster0
- Rowley Regis0
- Pershore0
- Uttoxeter0
- Ross-on-Wye0
- Stone0
- Atherstone0
- Stourport-on-Severn0
- Southam0
- Shifnal0
- Newtown0
- Welshpool0
- Bewdley0
- Worcestershire0
- Ledbury0
- Warwickshire0
- Church Stretton0
- Shropshire0
East of England
- Cambridge2
- Norwich3
- Peterborough2
- Ipswich2
- Colchester2
- Chelmsford2
- Luton2
- Southend-on-Sea2
- St Albans2
- Ely2
- Bedford2
- Watford2
- Basildon2
- Stevenage2
- Harlow2
- Brentwood2
- Braintree2
- Clacton-on-Sea2
- Lowestoft4
- Great Yarmouth2
- King's Lynn2
- Bury St Edmunds2
- Huntingdon2
- St Neots2
- Hemel Hempstead2
- Hitchin2
- Hertford2
- Letchworth Garden City2
- Welwyn Garden City3
- Grays2
- Dunstable0
- Leigh-on-Sea0
- Borehamwood0
- Benfleet0
- Wickford0
- Wisbech0
- Billericay0
- Hatfield0
- Bishops Stortford0
- Leighton Buzzard0
- Rickmansworth0
- Maldon0
- Canvey Island0
- Ware0
- Rayleigh0
- Stanford-le-Hope0
- Rochford0
- Halstead0
- Newmarket0
- Sudbury0
- Witham0
- Thetford0
- Stowmarket0
- Dereham0
- Dunmow0
- Saffron Walden0
- Royston0
- Epping0
- St. Ives0
- Woodbridge0
- Bushey0
- Mildenhall0
- Ongar0
- Harpenden0
- Biggleswade0
- Sawbridgeworth0
- Haverhill0
- Westcliff-on-Sea0
- West Horndon0
- March0
- Hockley0
- Ingatestone0
- Swaffham0
- Bourne0
- Kings Langley0
- Diss0
- Norfolk0
- Sandy0
- Suffolk0
- Wymondham0
- Fakenham0
- Beccles0
- Burnham-on-Crouch0
- Attleborough0
- Buntingford0
- Downham Market0
- Shefford0
- Halesworth0
- Radlett0
- Welwyn0
- Harleston0
- Hadleigh0
- Abbots Langley0
- Manningtree0
- Harwich0
- Chatteris0
- Felixstowe0
- Bungay0
- Brandon0
- Chorleywood0
- Stansted0
- London Colney0
- Baldock0
- Saxmundham0
- Frinton-on-Sea0
- Tiptree0
- Great Chesterford0
- North Walsham0
- Cromer0
South East
- Brighton and Hove2
- Southampton3
- Portsmouth4
- Oxford3
- Reading4
- Milton Keynes2
- Canterbury2
- Chichester2
- Winchester2
- Maidstone2
- Crawley2
- Guildford2
- Slough2
- High Wycombe2
- Basingstoke2
- Eastbourne2
- Hastings2
- Worthing2
- Aylesbury2
- Woking2
- Medway Towns2
- Tunbridge Wells2
- Ashford2
- Folkestone2
- Margate2
- Ramsgate2
- Dover2
- Sevenoaks3
- Dartford2
- Gravesend2
- Tonbridge2
- Bracknell2
- Wokingham2
- Maidenhead2
- Newbury2
- Andover2
- Farnborough2
- Aldershot2
- Fareham3
- Gosport2
- Havant2
- Bognor Regis2
- Horsham2
- Reigate2
- Epsom2
- Banbury2
- Bicester2
- Witney2
- Abingdon3
- Didcot3
- Isle of Wight2
- Lewes3
- Bexhill-on-Sea3
- Waterlooville0
- Brighton0
- Rochester0
- Chatham0
- Sidcup1
- Gillingham0
- Eastleigh0
- Hove0
- Camberley0
- Sittingbourne0
- Farnham0
- Bexleyheath0
- Redhill0
- Erith0
- Haywards Heath0
- West Malling0
- Westerham0
- Hailsham0
- Welling0
- East Grinstead0
- Chesham0
- Windsor0
- Burgess Hill0
- Southsea0
- Herne Bay0
- Gerrards Cross0
- Littlehampton0
- Horley0
- Dorking0
- Aylesford0
- Fleet0
- Romsey0
- Whitstable0
- Beaconsfield0
- Thatcham0
- Belvedere0
- Iver0
- Godalming0
- Sheerness0
- Hook0
- Hampshire0
- Buckingham0
- Lancing0
- Alton0
- Crowborough0
- Rye0
- Marlow0
- Berkhamsted0
- Shoreham-by-Sea0
- Wantage0
- Tring0
- Ascot0
- St. Leonards-on-Sea0
- Newport Pagnell0
- Kidlington0
- Polegate0
- Uckfield0
- Bordon0
- Deal0
- Lymington0
- Faversham0
- Hungerford0
- Amersham0
- Cranleigh0
- Broadstairs0
- Petersfield0
- East Sussex0
- Edenbridge0
- Swanscombe0
- Cranbrook0
- Oxted0
- Heathfield0
- Hassocks0
- Haslemere0
- Sandhurst0
- Longfield0
- Greenhithe0
- Thame0
- Crowthorne0
- West Sussex0
- Tadley0
- Wallingford0
- Peacehaven0
- Berkshire0
- Hayling Island0
- Ryde0
- Tenterden0
- Lingfield0
- Liphook0
- Newhaven0
- Henley-on-Thames0
- Battle0
- Pulborough0
- Princes Risborough0
- Billingshurst0
- Bedfordshire0
- Seaford0
- Emsworth0
- Chipping Norton0
- Cowes0
- Bagshot0
- Yateley0
- Herts0
- New Romney0
- Bexhill0
- Steyning0
- Hythe0
- Oxfordshire0
- Carterton0
- Bourne End0
- Sandown0
- Henfield0
- Alresford0
- Snodland0
- Chandlers Ford0
- Buckinghamshire0
- Forest Row0
- Chinnor0
- Sandwich0
- Arundel0
- Biggin Hill0
- Southwick0
- Cosham0
- Pevensey0
- Olney0
- Godstone0
- Stockbridge0
- Chalfont St. Giles0
- Pevensey Bay0
South West
- Bristol6
- Plymouth3
- Exeter4
- Bath3
- Gloucester3
- Swindon2
- Bournemouth2
- Poole2
- Cheltenham4
- Torquay2
- Truro2
- Salisbury2
- Wells2
- Taunton2
- Weston-super-Mare2
- Yeovil2
- Bridgwater2
- Exmouth2
- Barnstaple2
- Newquay2
- Falmouth2
- Penzance2
- St Austell2
- Frome2
- Chippenham2
- Trowbridge2
- Stroud2
- Dorchester2
- Weymouth2
- Christchurch3
- Newton Abbot2
- Paignton2
- Tiverton2
- Wimborne0
- Radstock0
- Ferndown0
- Cirencester0
- Redruth0
- Bideford0
- Ivybridge0
- Ringwood0
- Crediton0
- Tewkesbury0
- Melksham0
- Helston0
- Clevedon0
- Saltash0
- Devon0
- Dorset0
- Devizes0
- Calne0
- Teignmouth0
- Stonehouse0
- Swanage0
- Liskeard0
- New Milton0
- Bodmin0
- Blandford Forum0
- Sherborne0
- Westbury0
- Honiton0
- Broadstone0
- Camborne0
- Wellington0
- Marlborough0
- Lydney0
- Shepton Mallet0
- Bude0
- Tetbury0
- Kingsbridge0
- Shaftesbury0
- Somerset0
- Bridport0
- Dursley0
- Wiltshire0
- Warminster0
- Cinderford0
- Glastonbury0
- Cullompton0
- Portland0
- Gloucestershire0
- Somerton0
- Launceston0
- Axminster0
- Okehampton0
- Ilminster0
- Totnes0
- Cornwall0
- Verwood0
- Wadebridge0
- Callington0
- Wotton-under-Edge0
- Sturminster Newton0
- Fordingbridge0
- Holsworthy0
- Street0
- Penryn0
- Chard0
- Brixham0
- Hayle0
- Wareham0
- Martock0
- Seaton0
- Coleford0
- Faringdon0
- Malmesbury0
- Minehead0
- Langport0
- Buckfastleigh0
- Corsham0
- Bradford-on-Avon0
- Tavistock0
- Newent0
- Dawlish0
- Warmley0
Scotland
- Glasgow7
- Edinburgh7
- Aberdeen3
- Dundee3
- Inverness3
- Perth2
- Stirling2
- Dunfermline2
- Paisley2
- East Kilbride2
- Livingston2
- Ayr2
- Kilmarnock2
- Falkirk2
- Motherwell2
- Hamilton2
- Cumbernauld3
- Greenock2
- Irvine1
- Dumfries2
- Glenrothes2
- Kirkcaldy2
- Elgin3
- Fort William2
- Oban1
- Arbroath2
- Peterhead2
- St Andrews2
- Galashiels2
- Airdrie1
- Coatbridge0
- Bathgate0
- Clydebank0
- Dalkeith0
- Lanark0
- Musselburgh0
- Wishaw0
- Larkhall0
- Bellshill0
- Inverurie0
- Renfrew0
- Broxburn0
- Shetland0
- Montrose0
- Penicuik0
- Alloa0
- Loanhead0
- Grangemouth0
- Fraserburgh0
- Dingwall0
- Hawick0
- Tain0
- Leven0
- Buckie0
- Lochgelly0
- Tranent0
- Forfar0
- Dumbarton0
- Johnstone0
- Kinross0
- Turriff0
- Cupar0
- Westhill0
- Carluke0
- Thurso0
- Blairgowrie0
- Helensburgh0
- Banchory0
- Ellon0
- Berwick upon Tweed0
- Cowdenbeath0
- Nairn0
- Carnoustie0
- Stonehaven0
- Kelso0
- Rosyth0
- Dalry0
- Crieff0
- Prestonpans0
- Prestwick0
- Cumnock0
- Alexandria0
- Denny0
Wales
- Cardiff5
- Swansea3
- Newport3
- Wrexham2
- Bangor (Gwynedd)3
- St Davids1
- St Asaph4
- Barry2
- Neath3
- Bridgend2
- Llanelli2
- Merthyr Tydfil4
- Aberystwyth1
- Rhyl4
- Llandudno4
- Caernarfon3
- Carmarthen2
- Haverfordwest2
- Pontypridd2
- Caerphilly3
- Cwmbran2
- Port Talbot3
- Abergavenny2
- Brecon2
- Colwyn Bay3
- Holyhead2
- Mold2
- Bangor0
- Pontypool0
- Blackwood0
- Aberdare0
- Ammanford0
- Pontyclun0
- Tredegar0
- Monmouth0
- Milford Haven0
- Penarth0
- Mountain Ash0
- Chepstow0
- Porth0
- Pwllheli0
- Tonypandy0
- Caldicot0
- Cardigan0
- Prestatyn0
- Ebbw Vale0
- Cowbridge0
- Abertillery0
- Porthcawl0
- Treorchy0
- Maesteg0
- Llandrindod Wells0
- Treharris0
- Llandeilo0
- Hengoed0
- Bargoed0
- Fishguard0
Northern Ireland
- Belfast7
- Derry/Londonderry2
- Lisburn2
- Newry2
- Armagh1
- Bangor (County Down)2
- Ballymena1
- Newtownabbey2
- Coleraine2
- Omagh2
- Enniskillen3
- Larne2
- Carrickfergus2
- Portadown3
- Lurgan2
- Dungannon2
- Banbridge3
- Antrim2
- Londonderry0
- Craigavon0
- Magherafelt0
- Newtownards0
- Derry0
- Strabane0
- Limavady0
- Downpatrick0
- Cookstown0
- Castlewellan0
- Maghera0
- Dromore0
- Ballynahinch0
- Ballymoney0
- Ballyclare0
- Co Tyrone0
- Co Down0
- Dungiven0