{% assign use_variant_images = false %}
{% capture vertical_scroll %}{% endcapture %} {%- if use_variant_images and variant.images[0] -%} {%- assign images = variant.images -%} {%- else -%} {%- assign images = product.images -%} {%- endif -%}
{% assign last_slide = 0 %} {% assign imgOffset = 0 %} {% if product.tags contains 'Graphic Overlay' %} {% assign imgOffset = 1 %} {% endif %} {%- for image in images offset: imgOffset -%} {% capture thumbRepsonsive %} {%- if image != blank -%} {%- if image.width > 180 -%}{{ image.src | img_url: '180x' }} 180w {{ 180 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 360 -%}{{ image.src | img_url: '360x' }} 360w {{ 360 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 540 -%}{{ image.src | img_url: '540x' }} 540w {{ 540 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 720 -%}{{ image.src | img_url: '720x' }} 720w {{ 720 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 900 -%}{{ image.src | img_url: '900x' }} 900w {{ 900 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 1080 -%}{{ image.src | img_url: '1080x' }} 1080w {{ 1080 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 1296 -%}{{ image.src | img_url: '1296x' }} 1296w {{ 1296 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 1512 -%}{{ image.src | img_url: '1512x' }} 1512w {{ 1512 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 1728 -%}{{ image.src | img_url: '1728x' }} 1728w {{ 1728 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 1944 -%}{{ image.src | img_url: '1944x' }} 1944w {{ 1944 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 2160 -%}{{ image.src | img_url: '2160x' }} 2160w {{ 2160 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 2376 -%}{{ image.src | img_url: '2376x' }} 2376w {{ 2376 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 2592 -%}{{ image.src | img_url: '2592x' }} 2592w {{ 2592 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 2808 -%}{{ image.src | img_url: '2808x' }} 2808w {{ 2808 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- if image.width > 3024 -%}{{ image.src | img_url: '3024x' }} 3024w {{ 3024 | divided_by: image.aspect_ratio | round }}h,{%- endif -%} {%- assign image_size = image.width | append: 'x' -%} {{ image.src | img_url: image_size }} {{ image.width }}w {{ image.height }}h {%- endif -%} {% endcapture %}
{% assign last_slide = forloop.index %} {% endfor %}
All media depicts mature plants.

Sweet Woodruff

PERENNIAL

Description

  • Aromatic evergreen to semi-evergreen foliage!
  • Clusters of small, white flowers bloom above leaves.
  • Grows quickly, even in the shade.
  • Excellent for steep slopes and beneath trees.
  • Zones 4-9, part sun/shade, 12″ tall x 18″ wide at maturity.
Zone 4-9
Light part sun/shade
low

{% capture DiscountGroup %}1{% endcapture %} {% capture DiscountTier %}3{% endcapture %} {% assign DiscountGroup = DiscountGroup | plus: 0 %} {% assign DiscountTier = DiscountTier | plus: 0 %} {% assign discount_amount = 0 %} {% for group in product.discounts_structure.groups %} {% if group.id == DiscountGroup %} {% for tier in group.tiers %} {% if tier.id == DiscountTier %} {% for discount in tier.discount %} {% if discount.min_quantity > variant.quantity %}{% break %}{% endif %} {% assign discount_amount = discount.discount_amount | times: 100 %} {% endfor %} {% break %} {% endif %} {% endfor %} {% break %} {% endif %} {% endfor %} {% if variant.price < variant.compare_at_price %} Sale {{- variant.price | minus: discount_amount | money | remove: ' ' -}}
{{- variant.compare_at_price | money | remove: ' ' -}} {% else %} {{- variant.price | money | remove: ' ' -}} {% endif %} Each

Buy More, Save More:
    {% for discountGroup in product.discounts_structure.groups %} {% if discountGroup.id == 1 %} {% for discountTier in discountGroup.tiers %} {% if discountTier.id == 3%} {% for discount in discountTier.discount %}
  • {% assign discount_amount = discount.discount_amount | times: 100 %} {% assign tier_ceiling = 10000 %} {% if discountTier.discount[forloop.index] != blank %}{% assign tier_ceiling = discountTier.discount[forloop.index].min_quantity | minus: 1 %}{% endif %}
    {{ variant.price | money | remove: ' ' }} {{ variant.price | minus: discount_amount | money | remove: ' ' }} / {{ discount.min_quantity }}{% if discountTier.discount[forloop.index] != blank %}-{{ discountTier.discount[forloop.index].min_quantity | minus: 1 }}{% else %}+{% endif %} qty.
  • {% endfor %} {% endif %} {% endfor %} {% endif %} {% endfor %}
Total
{% capture DiscountGroup %}1{% endcapture %} {% capture DiscountTier %}3{% endcapture %} {% assign DiscountGroup = DiscountGroup | plus: 0 %} {% assign DiscountTier = DiscountTier | plus: 0 %} {% assign discount_amount = 0 %} {% for group in product.discounts_structure.groups %} {% if group.id == DiscountGroup %} {% for tier in group.tiers %} {% if tier.id == DiscountTier %} {% for discount in tier.discount %} {% if discount.min_quantity > variant.quantity %}{% break %}{% endif %} {% assign discount_amount = variant.quantity | times: discount.discount_amount | times: 100 %} {% endfor %} {% break %} {% endif %} {% endfor %} {% break %} {% endif %} {% endfor %}
{{ variant.price | times: variant.quantity | minus: discount_amount | money | remove: ' ' }}
{% if discount_amount > 0 %} Saved {{ discount_amount | money | remove: ' ' }} {% endif %}
{% for option in product.options_with_values %} {% assign optionIndex = forloop.index0 %} {% assign position = forloop.index %}
{{option.name}}
{% assign sortedvalues = option.values %} {% if option.name contains 'Length' or option.name contains 'Width' or option.name contains 'Height' or option.name contains 'Depth' or option.name contains 'Thickness' or option.name contains 'Weight' %} {% assign sortedvalues = option.values | sort %} {% endif %} {% for value in sortedvalues %} {% assign inventory_quantity = 0 %} {% assign available = false %} {% assign optionVariant = false %} {% if product.options_with_values.size == 3 and optionIndex == 2%} {% for v in product.variants %} {% unless v.bogus %} {% if v.option1 == variant.option1 and v.option2 == variant.option2 and v.option3 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endunless %} {% endfor %} {% elsif product.options_with_values.size == 2 and optionIndex == 1%} {% for v in product.variants %} {% unless v.bogus %} {% if v.option1 == variant.option1 and v.option2 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endunless %} {% endfor %} {% else %} {% for v in product.variants %} {% unless v.bogus %} {% if v.option1 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endunless %} {% endfor %} {% endif %} {% assign checked = "" %} {% if variant.options[optionIndex] == value%}{% assign checked = "checked" %}{% endif %} {% endfor %}
{% endfor %}
{% capture add_to_cart %}Neptune.cart.add({ id:{{ variant.id | json }}, quantity:{{ variant.quantity }}, properties:{ '_growingzone':['4a', '4b', '5a', '5b', '6a', '6b', '7a', '7b', '8a', '8b', '9a', '9b'],'shipping_exclusions':''} }, '.atcprod-{{ variant.id }}', { quantity: {{ variant.quantity }}, image: '//cdn.shopify.com/s/files/1/0472/6394/0775/products/galium-odoratum-sweet-woodruff-1.jpg?v=1609968556', title: 'Sweet Woodruff', option: 'One Quart' }); return false;{% endcapture %} {% assign discontinued = '' %} {% for tag in product.tags %} {% if tag contains 'discontinued' %} {% assign discontinued = 'true' %} {% endif %} {% endfor %} {% if variant.available %} {% else %} {% unless discontinued == 'true' %} Notify Me When Available {% endunless %} {% endif %}
{% if error %}
{{error.description}}
{% endif %}

Hand-picked at our greenhouse

Shipped to your door

Arrives as young plant

background image

More Information

Description Galium odoratum, or sweet woodruff, is not a shy garden addition! This ground cover is vigorous, weaving through your garden and suppressing weeds. Delicate white flowers rise above the lush foliage in late spring and summer.  It's excellent for spots where other shade ground covers fail. Plant it on steep, shaded banks for erosion control, beneath trees, or around rocks. Aromatic evergreen or semi-evergreen leaves emit a sweet fragrance when crushed. Try drying the leaves and use them in homemade sachets or potpourris!
Buying landscape plugs? Here is how much area they will cover:
  • 6" spacing of 32 landscape plugs covers 6 sq feet
  • 8" spacing covers 7.5 sq feet
  • 10" spacing covers 11 sq feet
  • 12" spacing covers 16 sq feet
Details Botanical name: Galium odoratum
Common name: Sweet woodruff, sweet-scented bedstraw, sweet bedstraw
Zone: 4 - 9
Sun exposure: Part-sun (4-6 hours sun) to shade (< 4 hours sun)
Height x width: 8-10" X 12-18"
Flower color: White
Foliage color: Green
Season of interest: Spring
Bloom time: Spring
Features: Wet soils, suitable for slopes, rabbit resistant, ground covers, fragrant, deer resistant, cold tolerant, best for beginners
Uses: Alpine gardens, edging, erosion control, ground cover, massing, rain garden, rock garden, slopes, underplanting, waterside, woodland
 
How To Grow Soil: Easily grown in average, medium to wet, well-drained soils.
Light: Part-sun (4-6 hours sun) to shade (< 4 hours sun)
Water: Medium to wet
Spacing: 10 to 18 inches
Fertilizing: Generally unnecessary in average soils.
Winterizing: No specific care is needed.
Maintenance & pruning: Spreads by creeping roots and self-seeding to form an attractive ground cover in moist, shady areas. To maintain control, plants can be mowed with a rotary mower on a high setting or easily pulled. Dig and move clumps in early spring when new growth appears if desired.

Did you know?

Ground Covers For Suppressing Weeds

Fight plants with plants and transform your garden into a lush landscape in the process with these ground covers.

groundcover great for suppressing weeds

Customer Reviews

Based on 20 reviews
85%
(17)
10%
(2)
5%
(1)
0%
(0)
0%
(0)
P
P. (Oregon)
Awesome!

When my plants arrived they were all very healthy. They’ve been in the ground for a while now, and all of them are thriving!

M
M.Z. (Missouri)
Nice plants

Sweet woodruff is doing well

M
M.B.D.C. (Rhode Island)
Sweet Woodruff finds a happy home.

Our plants arrived right on time and imperfect condition. The young plants were vigorous and healthy and are settling in nicely.

K
Katharine N. (Michigan)
Great Groundcover

Sweet Woodruff landscape plugs did the trick! Perfect number of plants for the location, decent size w/good root systems. Arrived in good shape, green and healthy & well watered. I only wish I could get more plants as plugs as I’m landscaping a sizeable area and need smaller plant starts with which to work.

V
V. (New York)
Sweet Woodruff

These plants arrived quite hardy. I installed them just two days after receiving them - and within two weeks a few of them had started to spread out - doing just what I purchased them for - to fill in under a spruce tree! I am looking forward to seeing the flowers next spring.