The Team Behind Utah’s
Most Talked About Landscapes
The Team Behind Utah’s Most Talked About
Landscapes
Exceptional landscaping starts with obsession-worthy attention to detail. At Worx, we deliver timeless landscapes for Utah’s most distinctive homes and commercial properties.
Our Happy Clients
Worx has earned a top reputation in its field, thanks to glowing client reviews that praise the team’s creativity, professionalism, and attention to detail. Customers consistently highlight on-time delivery, friendly service, and impressive results—making every project a smooth and rewarding experience.
Your Property. Your Legacy. Our Obsession.
Luxury Landscaping for Salt Lake City and the Wasatch Front
At Worx Landscaping & Snow Removal, we don’t just install landscapes. We engineer timeless outdoor environments tailored for Utah’s most discerning homeowners and commercial developers. From modern retreats to large-scale commercial spaces, we deliver high-end landscape design, construction, and year-round maintenance with unmatched craftsmanship, creativity, and local expertise. Serving Salt Lake City, Park City, Draper, and the entire Wasatch Front, we’re the trusted partner for clients who demand excellence and expect results that last.
Residential Landscaping That Reflects Your Lifestyle
Your outdoor space should reflect the same intention and sophistication as the rest of your home. Whether it’s a sleek xeriscape in Park City, a fire-lit patio in Cottonwood Heights, or an outdoor kitchen in Draper, we turn your vision into a custom-designed reality. Every detail is tailored to your lifestyle and Utah’s unique climate. We deliver 3D renderings within five business days and use materials chosen for lasting performance.
Commercial Spaces That Make a Statement
From HOA communities and retail centers to office parks and public spaces, we help commercial clients create landscapes that enhance brand image and long-term property value. Whether it’s tree care in Herriman, turf installation in Lehi, or snow and ice management in Millcreek, every service is delivered with professionalism, precision, and code compliance in mind.

Landscaping Services for Salt Lake City and the Wasatch Front
A Full Suite of
Worx Landscaping & Snow Removal delivers premium landscaping solutions for residential and commercial properties across Salt Lake City, Park City, Draper, and surrounding communities along the Wasatch Front. Whether you're envisioning a serene backyard escape, increasing curb appeal, or managing the needs of a commercial site, our team brings experience, craftsmanship, and a deep understanding of Utah’s unique terrain and climate.
Outdoor Living Spaces
From custom patios and fire features to full outdoor kitchens and integrated lighting, we build spaces that invite connection and elevate everyday living. Designed for Utah’s seasons and your lifestyle, our outdoor environments blend beauty, comfort, and long-term durability.
Custom Landscape Design
Our landscape architects and designers partner with you to create tailored plans that reflect your property’s layout, your goals, and your aesthetic. Whether you’re in Cottonwood Heights, The Avenues, or Alpine, your design will be rooted in function, climate-conscious planning, and refined visual appeal.
Precision Landscape Construction
We bring your design to life with expert construction, using materials and methods built to withstand Utah’s four-season extremes. From hardscape installation and drainage to plantings and water features, we manage every detail—including permits and code compliance.
Comprehensive Maintenance Services
Keep your property pristine year-round with proactive maintenance services including mowing, edging, sprinkler tuning, pruning, weed control, and seasonal cleanups. Our team services homes and businesses throughout Salt Lake City, South Jordan, Lehi, and other Wasatch Front communities with care and consistency.
Commercial Landscaping for Utah Properties
From office parks and retail centers to HOAs and municipal spaces, we offer full-scale commercial landscaping—design, installation, and maintenance included. We tailor each solution to your site, schedule, and budget, whether you’re managing a development in Herriman or a public space in Heber.
Ready to Make Your Yard Unforgettable?
Ready to Make Your
Yard Unforgettable?
Worx Landscaping: Built For Utah. Backed by Results.
Let’s skip the fluff. You want a yard that makes people stop and stare. Whether you’re dreaming up an outdoor living space with soul, need commercial landscaping that makes your brand look buttoned up, or just want your weekends back from lawn chores, we’ve got the crew, the gear, and the grit to pull it off. We’ve transformed backyards in The Avenues, wowed clients in Park City, and kept driveways snow-free in Draper before most folks pour their coffee. That’s just what we do.
If you’re ready to stop Googling and start building, we’re here to make it happen. Tell us a bit about your project, and we’ll take it from there. Your dream outdoor space starts with a simple conversation. Fill out our contact form to get started on your project.
(function() {
class WordRotate {
constructor(element) {
this.element = element;
this.originalText = element.innerText;
this.words = (element.getAttribute('data-word-rotate-words') || '').split(',').map(word => word.trim());
this.duration = parseInt(element.getAttribute('data-word-rotate-duration') || 2500, 10);
this.animationSpeed = parseInt(element.getAttribute('data-word-rotate-speed') || 350, 10);
this.animationType = element.getAttribute('data-word-rotate-type') || 'fade';
if (this.words.length <= 1) return;
this.setupStyles();
this.createStructure();
this.startRotation();
}
setupStyles() {
const styleId = 'word-rotate-styles';
if (!document.getElementById(styleId)) {
const style = document.createElement('style');
style.id = styleId;
const baseTransition = `${this.animationSpeed}ms cubic-bezier(0.45, 0, 0.15, 1)`;
style.textContent = `
.word-rotate-wrapper {
display: inline-block;
position: relative;
overflow: hidden;
vertical-align: top;
}
.word-rotate-item {
display: block;
position: absolute;
left: 0;
top: 0;
white-space: nowrap;
opacity: 0;
width: 100%;
}
.word-rotate-item.active {
position: relative;
opacity: 1;
}
.word-rotate-item[style*="background-clip: text"],
.word-rotate-item[style*="background-image"] {
padding-bottom: 5px;
}
.word-rotate-fade .word-rotate-item {
transform: translateY(0);
transition: opacity ${baseTransition};
}
.word-rotate-slide-up .word-rotate-item:not(.active) {
transform: translateY(30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-up .word-rotate-item.active {
transform: translateY(0);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-up .word-rotate-item.previous {
transform: translateY(-30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-down .word-rotate-item:not(.active) {
transform: translateY(-30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-down .word-rotate-item.active {
transform: translateY(0);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-down .word-rotate-item.previous {
transform: translateY(30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-left .word-rotate-item:not(.active) {
transform: translateX(30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-left .word-rotate-item.active,
.word-rotate-slide-right .word-rotate-item.active {
transform: translateX(0);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-left .word-rotate-item.previous {
transform: translateX(-30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-right .word-rotate-item:not(.active) {
transform: translateX(-30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
.word-rotate-slide-right .word-rotate-item.previous {
transform: translateX(30px);
transition: transform ${baseTransition}, opacity ${baseTransition};
}
`;
document.head.appendChild(style);
}
}
createStructure() {
const computedStyle = window.getComputedStyle(this.element);
const hasGradient =
computedStyle.backgroundImage.includes('gradient') &&
(computedStyle.backgroundClip === 'text' ||
computedStyle.webkitBackgroundClip === 'text' ||
computedStyle.color === 'rgba(0, 0, 0, 0)' ||
computedStyle.color === 'transparent');
this.wrapper = document.createElement('span');
this.wrapper.className = `word-rotate-wrapper word-rotate-${this.animationType}`;
if (hasGradient) {
this.wrapper.style.paddingBottom = '5px';
}
this.words.forEach((word, index) => {
const wordElement = document.createElement('span');
wordElement.className = `word-rotate-item ${index === 0 ? 'active' : ''}`;
wordElement.innerHTML = word;
if (hasGradient) {
this.applyGradientStyles(wordElement, computedStyle);
}
this.wrapper.appendChild(wordElement);
});
this.element.innerHTML = '';
this.element.appendChild(this.wrapper);
this.setWrapperDimensions();
this.resizeHandler = this.setWrapperDimensions.bind(this);
window.addEventListener('resize', this.resizeHandler);
}
applyGradientStyles(element, computedStyle) {
element.style.color = 'transparent';
element.style.backgroundImage = computedStyle.backgroundImage;
element.style.backgroundSize = computedStyle.backgroundSize;
element.style.backgroundPosition = computedStyle.backgroundPosition;
element.style.backgroundRepeat = computedStyle.backgroundRepeat;
element.style.webkitBackgroundClip = 'text';
element.style.backgroundClip = 'text';
if (computedStyle.webkitTextFillColor) {
element.style.webkitTextFillColor = computedStyle.webkitTextFillColor;
}
element.style.paddingBottom = '5px';
}
setWrapperDimensions() {
let maxWidth = 0;
let maxHeight = 0;
const wordElements = this.wrapper.querySelectorAll('.word-rotate-item');
const computedStyle = window.getComputedStyle(this.element);
const hasGradient =
computedStyle.backgroundImage.includes('gradient') &&
(computedStyle.backgroundClip === 'text' ||
computedStyle.webkitBackgroundClip === 'text');
wordElements.forEach(element => {
const prevOpacity = element.style.opacity;
const prevPosition = element.style.position;
element.style.opacity = '1';
element.style.position = 'static';
const rect = element.getBoundingClientRect();
maxWidth = Math.max(maxWidth, rect.width);
maxHeight = Math.max(maxHeight, rect.height);
element.style.opacity = prevOpacity;
element.style.position = prevPosition;
});
this.wrapper.style.minWidth = `${maxWidth}px`;
this.wrapper.style.height = `${maxHeight + (hasGradient ? 6 : 0)}px`;
}
startRotation() {
this.interval = setInterval(() => {
const items = this.wrapper.querySelectorAll('.word-rotate-item');
const current = this.wrapper.querySelector('.word-rotate-item.active');
const currentIndex = Array.from(items).indexOf(current);
current.classList.remove('active');
current.classList.add('previous');
setTimeout(() => {
current.classList.remove('previous');
}, this.animationSpeed);
const nextIndex = (currentIndex + 1) % items.length;
items[nextIndex].classList.add('active');
}, this.duration);
}
destroy() {
if (this.interval) {
clearInterval(this.interval);
}
this.element.innerHTML = this.originalText;
window.removeEventListener('resize', this.resizeHandler);
}
}
// Inicialización y manejadores de eventos
const initWordRotate = () => {
document.querySelectorAll('[data-word-rotate]').forEach(element => {
if (!element._wordRotate) {
element._wordRotate = new WordRotate(element);
}
});
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initWordRotate);
} else {
setTimeout(initWordRotate, 100);
}
window.addEventListener('resize', () => setTimeout(initWordRotate, 200));
if (typeof window.bricksIsFrontend !== 'undefined') {
document.addEventListener('bricks/layout_rendered', () => setTimeout(initWordRotate, 200));
}
})();