Expert Masonry Services and Chimney Repair St Louis MO

The art of masonry can bring lasting value to your St. Louis home. More homeowners count on Bone Dry Roofing for masonry in St. Louis than any other local contractor and have for over 20 years!

Chimney Installation & Repairs

Our expert team is deeply experienced in the proper installation and repair of chimneys in St. Louis. With the sharp, trained eye that only comes with 20+ years of masonry experience, we work with homeowners to ensure that their chimney is properly installed using top quality materials. And should your existing chimney fall into disrepair, we offer dedicated chimney inspection and repair services. This is a vital service, as chimney damage can lead to extensive damage throughout your home, which could include the need for a full roof replacement.

Chimney Caps & Covers

To reduce the odds of needing chimney repairs or a chimney rebuild in St. Louis, Bone Dry can also install top quality chimney caps and covers. These durable systems direct the flow of water away from the structure of your chimney, down off of your roof, through your gutters and downspouts, and safely away from your home. Caps and covers also ensure birds or critters don’t end up in your chimney. Our expert roofing contractors can oversee the full system, ensuring that it all works together cohesively. 

Chimney Sweeps

If your home has a chimney needing to be swept, Bone Dry Roofing should be your first call. The National Fire Protection Association recommends chimneys to be inspected and cleaned at least once per year. Bone Dry’s certified chimney sweeps will thoroughly and safely remove debris and residue build up to allow your chimney to function properly. 

Chimney & Fireplace Repair

Bone Dry Masonry will carefully inspect the interior and exterior condition of your chimney to provide you peace of mind and ensure it is safe of fire hazard!

Who to call when everyone else is blowing smoke

As the highest point on your house, your chimney gets the brunt of Mother Nature. Rain, snow and temperature swings take a toll over time and Bone Dry can help fix and maintain your chimney’s beauty and operation. Inside and out, from cracks and leaks, to caps and dampers, our certified techs do it all. Call Bone Dry Roofing for a free inspection and estimate to repair your chimney!

Google Reviews

  • May 4th, 2022

    Service was fast and efficient

    Bryan Geisler
  • April 11th, 2022

    I was blown away by Adnan and Josh’s service. Very polite, straightforward, and I wasn’t over sold. They were honest, gave me some options, and let me choose without any pressure. The work was do..

    Shaun Hautly
  • April 9th, 2022

    My sales representative Travis was very professional. Took the time to check everything out and tell me exactly what needed to be done. Very throughly explained the job from top to bottom. He took a t..

    Ian Dal

VIEW ALL REVIEWS

Get an Estimate on Chimney Repair and Chimney Rebuild in St. Louis

Call us at (636) 489-1830 or use our convenient online form for a free, no obligation estimate for expert masonry services in St. Louis.

(function(cookieName, domain){ var traffic_source_COOKIE_TOKEN_SEPARATOR = ">>"; //separating between concatenated lead source var traffic_source_date_SEPARATOR = "|>"; var NONE = "(website)"; domain = domain || window.location.hostname; function getCookie(cookieName){ var name = cookieName + "="; var cookieArray = document.cookie.split(';'); //break cookie into array for(var i = 0; i < cookieArray.length; i++){ var cookie = cookieArray[i].replace(/^\s+|\s+$/g, ''); //replace all space with '' = delete it if (cookie.indexOf(name)==0){ return cookie.substring(name.length,cookie.length); // } } return null; } function getURLParameter(param){ var pageURL = window.location.search.substring(1); //get the query string parameters without the "?" var URLVariables = pageURL.split('&'); //break the parameters and values attached together to an array for (var i = 0; i -1) { if(end === -1) { end = utmzCookie.length; } cookieCampaignName = "utmz:" + utmzCookie.substring((start + UTMSRC.length), end); //get the value of the UTMZ, without the parameter name } } if(cookieCampaignName != "" && isNotNullOrEmpty(urlParamSRC)){ //if there is a campaign name AND there is SRC value traffic_source = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; //concateane the SRC with the existing campaign name // traffic_source = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; // Optional: add the session time } else if(cookieCampaignName != ""){ //if there is campaign name traffic_source = cookieCampaignName; //just use it for the new cookie } else if(urlParamSRC != null) { //if there is not campaign name but we have SRC traffic_source = decodeURI(urlParamSRC); // decode URI of the SRC parameter // traffic_source = decodeURI(urlParamSRC) + currTime(); // Optional: add the session time } else if(document.referrer != ""){ //if there is not campaign, and no src, check if there is a referrer, var referrerHostName = removeProtocol(document.referrer); var GOOGLE = /www.google/; var YAHOO = /search.yahoo/; var BING = /www.bing/; if(GOOGLE.test(referrerHostName)){ traffic_source = "Google Search"; //traffic_source = "Google Search" + currTime(); // + Optional: Add the current session time. Choose one of them. } else if(YAHOO.test(referrerHostName)){ traffic_source = "Yahoo Search"; //traffic_source = "Yahoo Search" + currTime(); } else if(BING.test(referrerHostName)){ traffic_source = "Bing Search"; //traffic_source = "Bing Search" + currTime(); } else { traffic_source = referrerHostName; //traffic_source = referrerHostName + currTime(); } } else { traffic_source = NONE; } setCookie(cookieName, traffic_source); //set the cookie } else if(isNotNullOrEmpty(urlParamSRC)){ //if there is a cookie, add the SRC to the cookie, unless the same src already exists as the first token. var firstToken = getFirstTokenFromCookie(getCookie(cookieName)); if(firstToken !== "" && urlParamSRC !== firstToken) { var newTrafficSourceCookie = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); //concetenate new SRC with old cookie values // var newTrafficSourceCookie = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); // Optional: add the time of current session setCookie(cookieName, newTrafficSourceCookie); } } })("traffic_source", ".bonedry.com"); function getCookie(name) { //Gets the value of traffic_source var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function addTrafficSourceToForm(){ //injects the traffic_source value to the form jQuery(".lead_source input").each(function() { this.value = getCookie("traffic_source"); console.log("Executing"); }); } addTrafficSourceToForm() //initates the process