Bali® Wood Images 2" Composite Wood Blinds

33% off retail {{ model.price | currency: '$' }} {{ model.salePrice | currency: '$' }} + an extra 15% off use code SUMMERTIME at checkout expires 7/31

5 stars from 16 reviews Read reviews Write a review

Blindsgalore Guarantee
 

wide tall x pick your size

Change the size:

Wood Images composite wood blinds from Bali capture the essence and look of real wood blinds, while the moisture resistant slats are perfect for high humidity areas like bathrooms and kitchens.  The advanced polymer coating is also resistant to scratches and dents, making them perfect for high-usage applications.  Popular solid whites and off-whites as well as streaked colors can brighten any decor.  These fine blinds carry a Limited Lifetime Bali Warranty against defects.

{{ selection = model.getActiveOption(section.TypeId);"" }}

{{ model.sectionNumber($index) }} Select a room:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{option.Caption}}

{{ model.sectionNumber($index) }} Select a {{section.TypeId == 'trt.swc.alt' ? 'secondary ' : ''}}product color: ({{section.Options.length}} available)

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ selection.Caption }}

{{ selection.Properties.StyleName }} {{ selection.Properties.StyleName ? ' ' : '' }} {{ selection.Properties.Name }}

{{ selection.Properties.Code }}
(add {{ selection.SalePrice | currency: '$' }})

{{items[0].Properties.StyleName}}

{{ swatchOptions = (items | orderBy: ['SortOrder', 'Caption']);"" }}

{{ model.sectionNumber($index) }} True Paint Match

{{ selection = selection || section.Options[0];"" }} {{ paintColorName = selection.Properties.Brand + ' ' + selection.Properties.ColorName;""}}
{{ selection.Caption }}

Your match is

{{paintColorName}}

or match to another paint color

Blindsgalore stands behind their True Paint Matchmaking skills. If you are not 100% satisfied with the color of the shade(s) you receive we will replace it with any other colored True Paint Matchmaker Shade. *

learn more

{{ model.sectionNumber($index) }} Select a {{section.TypeId == 'trt.swc.alt' ? 'secondary ' : ''}}product color: ({{section.Options.length}} available)

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ selection.Caption }}

{{ selection.Properties.StyleName }} {{ selection.Properties.StyleName ? ' ' : '' }} {{ selection.Properties.Name }}

{{ selection.Properties.Code }}
(add {{ selection.SalePrice | currency: '$' }})

{{items[0].Properties.StyleName}}

{{ swatchOptions = (items | orderBy: ['SortOrder', 'Caption']);"" }}

{{ model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ inputName = !section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ dataKey = section.AllowMultiple ? option.Properties.TypeId : section.TypeId;""}} {{ checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    Best for Kids
    {{ posOpts = (option.Options | filter: model.typeIdContains('.pos'));"" }} {{ hmaOpts = (option.Options | filter: { TypeId: 'hma'}:true);"" }} {{ pwrOpts = (option.Options | filter: { TypeId: 'pwr'}:true);"" }} {{ rmtOpts = (option.Options | filter: { TypeId: 'rmt'}:true);"" }} {{ headrailType = model.data['hrl.typ'];"" }}

{{ model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ inputName = !section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ dataKey = section.AllowMultiple ? option.Properties.TypeId : section.TypeId;""}} {{ checkedVal = section.AllowMultiple ? true : option.Id;"" }}
    Best for Kids
    {{ posOpts = (option.Options | filter: model.typeIdContains('.pos'));"" }} {{ hmaOpts = (option.Options | filter: { TypeId: 'hma'}:true);"" }} {{ pwrOpts = (option.Options | filter: { TypeId: 'pwr'}:true);"" }} {{ rmtOpts = (option.Options | filter: { TypeId: 'rmt'}:true);"" }} {{ headrailType = model.data['hrl.typ'];"" }}
{{ accentColors = model.getDeepOptions(section.TypeId, 'trt.acc.clr');"" }}

{{ model.sectionNumber($index) }} Select a decorative accent: ({{accentColors.length}} available)

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ activeOptionOverride = model.data['trt.acc.stl'] ? 'trt.acc.stl' : null;""}} {{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }} {{ activeSwatch = model.getActiveOption('trt.swc');"" }} {{ activeAccentColor = model.getActiveOption('trt.acc.clr');"" }}

Shown with {{ activeSwatch.Caption }} swatch

{{ activeAccentColor.Caption }}{{ activeSwatch.Caption }}
    {{ accentStyles = model.getDeepOptions(section.TypeId, 'trt.acc.stl');"" }}
  • {{ inputName = section.TypeId + '_' + $index;"" }}
  • {{ inputName = 'trt.acc.stl_' + $index;"" }} {{ hiddenAccTypeId = section.Options[0].Id;""}}
{{ accentSwatches = (accentColors | orderBy: 'SortOrder');"" }}

{{ model.sectionNumber($index) }} Select a size

{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ inputName = section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ dataKey = section.AllowMultiple ? (option.Properties.TypeId + '_' + option.Id) : section.TypeId;""}} {{ checkedVal = section.AllowMultiple ? true : option.Id;"" }} {{ type}}
    {{model.data[items[0].TypeId]=items[0].Id;""}}
    • {{ items[0].Properties.TypeName}}: {{ items[0].Caption }}

    {{items[0].Properties.CaptionSmall}}

    {{items[0].Caption}}
    Best for Kids
    {{ subDataKey = section.AllowMultiple ? option.Properties.TypeId : option.Options[0].TypeId;"" }}
    {{ optd683fa0adc1c459ea0b33097242fb187 = (option.Options | orderBy: 'SortOrder');"" }}
{{ widthKeyWhole = 'siz.' + num + '.width_whole';"" }} {{ widthKeyFrac = 'siz.' + num + '.width_fraction';"" }} {{ heightKeyWhole = 'siz.' + num + '.height_whole';"" }} {{ heightKeyFrac = 'siz.' + num + '.height_fraction';"" }}

{{selection.Id == 'hrl.typ.01' ? 'Single' : 'Left'}} Blind

Center Blind

Right Blind

{{ model.sectionNumber($index) }} Your existing window

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}

To best configure your shutter, please tell us about your existing window.

{{ model.sectionNumber($index) }} Select a hem option

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ styleOptions = (option.Options | filter: { TypeId: 'trt.hem.stl'}:true);"" }} {{ rodOptions = (option.Options | filter: { TypeId: 'trt.hem.rod'}:true);"" }} {{ trimOptions = (option.Options | filter: { TypeId: 'trt.hem.trm'}:true);"" }} {{ activeHemStyle = model.getActiveOption('trt.hem.stl');""}} {{ activeHemRod = model.getActiveOption('trt.hem.rod');""}}
    {{ activeHemStyle.Caption }}
    {{ activeHemRod.Caption }}

    • Hem Trim:

    {{ hemTrimOptions = (trimOptions | orderBy: 'SortOrder');"" }}

{{ model.sectionNumber($index) }} Select a pull option:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ materialOptions = (option.Options | filter: { TypeId: 'trt.pul.mtr'}:true);"" }} {{ colorOptions = (option.Options | filter: { TypeId: 'trt.pul.clr'}:true);"" }}
    {{model.data['trt.pul.mtr']=materialOptions[0].Id;""}} • Pull Material: {{ materialOptions[0].Caption | raw }}

    • Pull Color:

    {{ pullColorOptions = (colorOptions | orderBy: 'SortOrder');"" }}

{{ model.sectionNumber($index) }} Select a bar option

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ barPlacementOptions = (option.Options | filter: { TypeId: 'trt.bar.plc'}:true);"" }} {{ barColorOptions = (option.Options | filter: { TypeId: 'trt.bar.clr'}:true);"" }} {{ activeBarPlacement = model.getActiveOption('trt.bar.plc');""}} {{ activeBarColor = model.getActiveOption('trt.bar.clr');""}}
    {{model.data['trt.bar.plc']=barPlacementOptions[0].Id;""}}
    • {{ barPlacementOptions[0].Properties.TypeName}}: {{ barPlacementOptions[0].Caption }}

    • Bar Color:

    {{ barColorOptions = (barColorOptions | orderBy: 'SortOrder');"" }}

{{ model.sectionNumber($index) }} Select a heading option

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
{{ prevVal = model.data[section.TypeId];"" }}
  • {{ styleOptions = (option.Options | filter: { TypeId: 'trt.hdg.stl'}:true);"" }} {{ headerOptions = (option.Options | filter: { TypeId: 'trt.hdg.hdr'}:true);"" }} {{ returnOptions = (option.Options | filter: { TypeId: 'trt.hdg.rtn'}:true);"" }} {{ implicitStyle = styleOptions.length == 1 ?styleOptions[0].Id : null;"" }}
    {{model.data['trt.hdg.stl']=styleOptions[0].Id;""}} • Heading Style: {{ styleOptions[0].Caption }}

{{ model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ inputName = section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ dataKey = section.AllowMultiple ? (option.Properties.TypeId + '_' + option.Id) : section.TypeId;""}} {{ checkedVal = section.AllowMultiple ? true : option.Id;"" }} {{ type}}
    {{model.data[items[0].TypeId]=items[0].Id;""}}
    • {{ items[0].Properties.TypeName}}: {{ items[0].Caption }}

    {{items[0].Properties.CaptionSmall}}

    {{items[0].Caption}}
    Best for Kids
    {{ subDataKey = section.AllowMultiple ? option.Properties.TypeId : option.Options[0].TypeId;"" }}
    {{ opt1ef1fa7982e34bf6853d730f1702ee69 = (option.Options | orderBy: 'SortOrder');"" }}

{{ model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ styleOptions = (option.Options | filter: { TypeId: 'val.stl'}:true);"" }} {{ sizeOptions = (option.Options | filter: { TypeId: 'val.siz'}:true);"" }} {{ endOptions = (option.Options | filter: { TypeId: 'val.end'}:true);"" }} {{ colorOptions = (option.Options | filter: { TypeId: 'val.clr'}:true);"" }}
    {{model.data['val.siz']=sizeOptions[0].Id;""}} • Valance size: {{sizeOptions[0].Caption | raw}}

    • Valance End:

    {{ valanceEndOptions = (endOptions | orderBy: 'SortOrder');"" }}

    • Valance Color:

    {{ valanceColorOptions = (colorOptions | orderBy: 'SortOrder');"" }}

{{ model.sectionNumber($index) }} Optional information:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}

{{ model.sectionNumber($index) }} Select a {{section.TypeName.toLowerCase()}} option:

{{ typeNameDispaly = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{typeNameDispaly | lowercase}}
{{ swatch = model.getActiveOption('trt.swc');"" }} {{ activeOption = model.getActiveOption(activeOptionOverride) || model.getActiveOption(section.TypeId);""}}
{{ activeOption.Caption }}

{{ model.getActiveOption(section.TypeId).Caption }}

{{ activeOptionOverride = null;"" }}
  • {{ inputType = section.AllowMultiple ? 'checkbox' : 'radio';"" }} {{ inputName = section.AllowMultiple ? (section.SafeTypeId + '_' + $index) : option.Id;"" }} {{ dataKey = section.AllowMultiple ? (option.Properties.TypeId + '_' + option.Id) : section.TypeId;""}} {{ checkedVal = section.AllowMultiple ? true : option.Id;"" }} {{ type}}
    {{model.data[items[0].TypeId]=items[0].Id;""}}
    • {{ items[0].Properties.TypeName}}: {{ items[0].Caption }}

    {{items[0].Properties.CaptionSmall}}

    {{items[0].Caption}}
    Best for Kids
    {{ subDataKey = section.AllowMultiple ? option.Properties.TypeId : option.Options[0].TypeId;"" }}
    {{ optacb0b766afca49479eeeb300eb085cca = (option.Options | orderBy: 'SortOrder');"" }}
Please address the following errors to continue: You're Done!

Write a Review for Bali® Wood Images 2" Composite Wood Blinds

Product Rating

Tell other customers about yourself

Include a Photo

Add Photo

Please tell us what you think about Blindsgalore


Customer Reviews of Bali® Wood Images 2" Composite Wood Blinds

There are no reivews.

Write a Review

{{review.Title}}

By {{review.Nickname}} from {{review.Location}} on {{review.Date | date:"MMMM d, yyyy"}}

read more

Construction
Value
Ease of Installment

Every custom ordered window treatment purchased from Blindsgalore is backed by a factory warranty.

For details on a particular warranty view our warranty page.

How to Install

How to Install - Inside Mount

download install guide

How to Install - Outside Mount

download install guide

Motorized Installation

download install guide
  • Blinds under 16 1/8" must have the lift and tilt controls on opposite sides
  • Engineered polymer slats are ideal for high moisture areas
  • Patented SureTight™ headrail
  • Trapezoid bottomrail for tighter blind closure
  • Oeko-tex certified and certified GreenGuard.  Made with low-emitting building materials reducing chemical emissions
  • Lifetime limited warranty

Specifications

  • Width 12" - 96"
  • Height 12" - 120"
  • Minimum inside-mount depth 3/4"
  • Minimum flush-mount depth 3 9/16"
  • Minimum outside-mount space 3/4"
  • Headrail depth and height 2 1/4" x 1 5/8"

Please note the following exceptions to the above specifications

Cordless Lift

  • Width 13" - 66"
  • Height 12" - 72"
  • Maximum square feet 29'
  • Minimum inside-mount depth 3/4"
  • Minimum flush-mount depth 3 9/16"
  • Minimum outside-mount space 3/4"
  • Headrail depth and height 2 1/4" x 2"

Motorized Tilt

  • Width 19" - 96"
  • Height 10" - 102"
  • Minimum inside-mount depth 3/4"
  • Minimum flush-mount depth 3 5/16"
  • Minimum outside-mount space 3/4"
  • Headrail depth and height 2 1/4" x 1 5/8"

Wand Tilt

  • Width 12" - 96"
  • Height 12" - 120"
  • Maximum square feet 27'
  • Minimum inside-mount depth 3/4"
  • Minimum flush-mount depth 4 1/4"
  • Headrail depth and height 2 1/4" x 1 5/8"

Need Help?

Do It Yourself Guides, Expert Advice and Learn About an In-Home Consultation.