Shown in Americana White
Shown in Americana White

Bali 2" Vinyl Blinds

$80.69 $44.38 you save 45% use code STAR04194 at checkout until 4/29

Blindsgalore Guarantee
 

Change the size:

Bali Horizontal Blinds are one of the most popular types of window coverings. 2" Vinyl blinds are durable and easy to clean. Add color and texture to any space and coordinate with Vertical blinds. 2" Vinyl blinds are suitable for all types of windows and coordinate with Bali Vertical blinds.

{{ selection = model.getActiveOption(section.TypeId);"" }} {{ ::sectIndex = $index;"" }}

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

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

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

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

{{::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)

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

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

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

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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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)

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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');"" }}
    {{ ::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;"" }}
    {{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;"" }}
    {{ ::opt4ff74684a39e472193411d37b7106995 = (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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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:

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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;"" }}
    {{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;"" }}
    {{ ::optebc1931042464d899af521857c2bef3b = (option.Options | orderBy: 'SortOrder');"" }}

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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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:

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

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

{{ ::typeNameDisplay = (section.TypeName == "Swatch") ? "product color" : (section.TypeName == "Room") ? "room selection" : section.TypeName;"" }} Learn more about {{::typeNameDisplay | 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;"" }}
    {{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;"" }}
    {{ ::opt5bc0534bd44b455e85a9bb6c313e215e = (option.Options | orderBy: 'SortOrder');"" }}
Please address the following errors to continue: You're Done!

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

For details on a particular warranty view our warranty page.

How to Install

download install guide

Motorized Installation

download install guide
  • Durable vinyl slats are lead-free and child-safe
  • SureTight™ slim profile steel headrail with premium lightblocking features
  • All styles are neutral to the street
  • 2" slat valance
  • Cord tilter standard, wand tilter optional
  • Limited lifetime warranty on headrail and components, 3 year warranty on slats
  • Color coordinated components

Specifications

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

Please note the following exceptions to the above specifications

Motorized Tilt

  • Width 10" - 84"
  • Height 12" - 108"
  • Maximum square feet 50'
  • Minimum inside-mount depth 1 3/4"
  • Minimum flush-mount depth 3 5/16"
  • Minimum outside-mount space 1 5/8"
  • Headrail depth and height 2 1/4" x 1 5/8"

Need Help?

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