Skip to main content
Ratings: ZIPCushions Google

4.9/5

ZIPCushions Etsy

5/5

|
Flat 15% OFF Sitewide, Use Code: ZIPCUSHION15
|
Flat 15% OFF Sitewide, Use Code: ZIPCUSHION15
  • Custom Cushion Experts
    Custom Cushion Experts
  • Any Size Cushions
    Any Size
  • Any Color Custom Cusions
    Any Color
  • Any Shape Custom Cusions
    Any Shape
  • More Than 50000 happy customers
    Loved by 50,000+ Homes

Custom Clipped Trapezoid Seat Cushion

black friday sale

Price with selected options

15% Off - Till Stock Lasts
  • Extensive selection of fabrics, color options, and foam density choices
  • Long-lasting high-density foam core for sustained comfort and support
  • Decorative piping and secure ties are available for enhanced style and functionality
  • Premium YKK zippers on all covers for easy removal and cleaning

Trapezoid cushions are expertly crafted for distinctive seating areas with angled or tapered designs that defy conventional rectangular shapes. These precision-fitted cushions deliver tailored comfort and seamless integration for specialty furniture and architectural features where standard cushions fall short of providing proper fit and aesthetic appeal.

Use Cases

  • Bay Window Seats: Perfect for angled window alcoves that need custom-fitted cushions to match the tapered seating area.

  • Built-in Banquettes: Ideal for dining nooks and corner seating where the trapezoid shape fits angled built-in furniture.

Custom Furniture: Perfect for uniquely shaped chairs, stools, and benches that have trapezoid-shaped seating surfaces.

Our extensive fabric collection consists of premium indoor textiles. Select from plush indoor materials, including cotton, linen, and velvet blends that create warmth and comfort. With choices ranging from understated neutrals for timeless elegance to vibrant hues that add personality, ZIPCushions provides fabric solutions that match your unique style and functional needs.

A tricky corner can make it hard to find a cushion that fits. Our custom trapezoid seat cushions solve that problem by matching the exact angles of your seating. No gaps, no shifting, just a precise fit built for your unique space.

The angled design creates clean, tailored corners, while reinforced stitching and premium foams and fabrics add durability. With optional ties, the cushions stay perfectly in place.

For any corner or uniquely shaped seat, our trapezoid cushions turn an awkward spot into a comfortable and stylish seating area.

Why Choose Our Custom Clipped Trapezoid Seat Cushions

  • Perfect Precision Fit: Each cushion is made to your exact measurements, ensuring optimal comfort and a professional appearance that standard cushions simply cannot achieve.

  • Clipped Corner Design: The specialized clipped construction creates clean lines and secure positioning, preventing shifting while maintaining the tailored look of custom upholstery.

  • Premium Materials: High-density foam cores provide lasting support, while quality fabric options include high-performance indoor textiles.

  • Specialized Expertise: Our experience with trapezoid and specialty-shaped cushions means you get professional results tailored to your unique furniture requirements.

  • Versatile Applications: Perfect for bay windows, banquettes, and any furniture with angled or tapered surfaces that require custom fitting.

Long-Term Value: Quality construction and durable materials ensure your investment provides years of comfort and maintains its attractive appearance.

Use Coupon Code

ZIPCUSHION15 - Get 15% Off Sitewide

Frequently Asked Questions

Getting accurate measurements ensures a flawless fit. Follow these steps:

  1. Front Width: Measure straight across the front edge.
  2. Back Width: Measure straight across the back edge (this captures the angled shape).
  3. Depth: Measure from front to back at the widest point.
  4. Height/Thickness: Measure from bottom to top at the thickest point of the cushion.

Pro Tip: If your cushion has unique contours or angles, take photos from multiple sides or sketch a simple outline. This helps us replicate the shape precisely.

With these details, your new trapezoid cushion will fit perfectly, whether for window seats, dining benches, or any non-standard furniture.

Trapezoid seat cushions are made for those hard-to-furnish corners and angled seats in your home. Standard rectangular cushions often leave gaps, but trapezoid cushions solve the problem by fitting seamlessly into spaces with slanted or tapered edges.

Common uses include:

  • Corner benches and built-ins where one side is longer than the other
  • Dining nooks or breakfast areas with angled seating layouts
  • Custom benches designed to fit into corners or tight spaces
  • Specialty chairs with a wider front and narrower back

The trapezoid shape ensures every inch of your seating area is usable and comfortable, turning awkward corners into functional and inviting spots.

The ideal thickness of your window cushions depends on the intended use and preference. 2-3 inches of thickness is recommended for kitchen and dining nooks, and 4 inches for living areas. 

For indoor use, high-density foam is the best choice. It provides firm, consistent support, keeps its shape over time, and makes the angled seating area comfortable for daily use. 

Explore More Categories

Customer Reviews

Based on 750 reviews
90%
(675)
8%
(59)
1%
(9)
0%
(3)
1%
(4)
D
Darlene

Excellent quality and fits perfectly . I needed a custom filer cushion for my outdoor set. The support team was so helpful on assisting me with the order.

S
Sam

Awesome in quality and customer support!

M
Marykay Holland (Shawnee, US)
Very Satisfied Customer

My custom made trapezoid cushion was a perfect fit. It was delivered ahead of schedule. They called to verify cushion thickness, and requested I send a photo of the sketch with measurements to recheck. I am very pleased with its appearance and comfort. Great product, carefully constructed and great customer service. I will use again if needed. Thank you. MKHolland Shawnee OK

D
Dena Libner (Portland, US)
fantastic quality

The quality of these cushions are absolutely fantastic, and the selection/purchasing process was seamless. Thrilled to have found ZipCushions!

M
Matina Wielgos (Wood Dale, US)
Perfect custom cushion!

Love my window seat cushion! I ordered a custom size window cushion with piping. Color was exactly what I wanted! Of all the sites I looked at theirs is the most user friendly and clear for customer. I received updates often and it arrived in a timely manner. So pleased!

V
VALARIE

The foam was top-quality..

S
Sherrie

Cushions fit perfectly, well-made, fast shipping!

I
Iana

Exactly the size I requested — the custom dimensions were spot on and it fits perfectly. The quality is excellent: firm, well-shaped, and the material feels durable and well-made. Everything matched my order exactly. Very satisfied with this purchase

L
Lexie Hash (Bel Air, US)
Awesome! So happy with cushion!

Zip Cushions was absolutely amazing to work with. Their team was incredibly thorough and took the time to double check all of my measurements to make sure everything was perfect. I really appreciated the attention to detail and care they put into the process. My new cushion turned out beautifully and fits exactly as I hoped. The quality is excellent and you can tell it was made with precision. Shipping was also very quick which made the whole experience even better. I would highly recommend Zip Cushions to anyone looking for a custom piece done right.

J
Jacquelyne

Perfect fit and fabric. Exactly what I was looking for.

: * * * ARCHITECTURE NOTE — why this is one-shot install: * The JS sends BOTH: * - pubsub_token: best-guess parsed source_id from cookie * - cookie_raw: the raw cookie value * The server tries to extract source_id from `pubsub_token` first; if that * fails (e.g. Chatwoot changes cookie format in a future version) it falls * back to decoding `cookie_raw` server-side. This means future Chatwoot * upgrades won't require theme re-uploads — just bot_server updates. */ (function () { 'use strict'; // ========================================================================= // CONFIG — replace with your bot_server's public URL // ========================================================================= var FLASK_SYNC_URL = 'https://monitors-truly-designer-postings.trycloudflare.com/cart-tracker/sync'; var DEBOUNCE_MS = 600; // ========================================================================= // HELPERS // ========================================================================= function getCookie(name) { var m = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return m ? decodeURIComponent(m[3]) : null; } /** * Extract source_id from a Chatwoot cw_conversation cookie value. * Tries every known format. Returns null if none work — the server-side * fallback (cookie_raw) will handle it instead. */ function extractSourceId(raw) { if (!raw) return null; // Format 1: JWT with payload {source_id, inbox_id, exp, iat} if (raw.split('.').length === 3) { try { var payload = raw.split('.')[1]; // base64url -> base64 payload = payload.replace(/-/g, '+').replace(/_/g, '/'); while (payload.length % 4) payload += '='; var decoded = JSON.parse(atob(payload)); if (decoded.source_id) return decoded.source_id; if (decoded.pubsub_token) return decoded.pubsub_token; } catch (e) { /* fall through */ } } // Format 2: JSON object if (raw.charAt(0) === '{') { try { var parsed = JSON.parse(raw); return parsed.source_id || parsed.pubsub_token || parsed.token || null; } catch (e) { /* fall through */ } } // Format 3: looks like a plain UUID if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(raw)) { return raw; } return null; } function getChatwootIdentifier() { return (window.$chatwoot && window.$chatwoot.identifier) || null; } function getChatwootEmail() { return (window.$chatwoot && window.$chatwoot.user && window.$chatwoot.user.email) || null; } function fetchCart() { return fetch('/cart.js', { credentials: 'same-origin', headers: { 'Accept': 'application/json' }, }).then(function (r) { if (!r.ok) throw new Error('cart fetch failed: ' + r.status); return r.json(); }); } function pushSnapshot(reason) { var rawCookie = getCookie('cw_conversation'); if (!rawCookie) return; // Chatwoot widget hasn't set its cookie yet var sourceId = extractSourceId(rawCookie); fetchCart().then(function (cart) { var payload = { // Best-guess client-side parsed token. Server prefers this. pubsub_token: sourceId, // Raw cookie as fallback. If pubsub_token is null OR the server's // cart→conversation matching fails, the server can decode this itself. cookie_raw: rawCookie, identifier: getChatwootIdentifier(), email: getChatwootEmail(), cart: cart, shop_domain: window.location.host, reason: reason, client_version: 'v2', }; if (reason === 'unload' && navigator.sendBeacon) { var blob = new Blob([JSON.stringify(payload)], { type: 'application/json' }); navigator.sendBeacon(FLASK_SYNC_URL, blob); } else { fetch(FLASK_SYNC_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload), keepalive: true, }).catch(function () { /* silent — never break shopper UX */ }); } }).catch(function () { /* silent */ }); } var debounceTimer = null; function pushDebounced(reason) { if (debounceTimer) clearTimeout(debounceTimer); debounceTimer = setTimeout(function () { pushSnapshot(reason); }, DEBOUNCE_MS); } // ========================================================================= // TRIGGER 1: Widget ready — initial sync // ========================================================================= window.addEventListener('chatwoot:ready', function () { pushSnapshot('widget_ready'); }); if (window.$chatwoot && window.$chatwoot.hasLoaded) { setTimeout(function () { pushSnapshot('widget_already_ready'); }, 500); } // ========================================================================= // TRIGGER 2: Cart mutations — intercept fetch + XHR to Shopify cart endpoints // ========================================================================= var CART_MUTATION_PATHS = [ '/cart/add', '/cart/update', '/cart/change', '/cart/clear', '/cart/add.js', '/cart/update.js', '/cart/change.js', '/cart/clear.js', ]; function isCartMutation(url) { if (!url) return false; var s = typeof url === 'string' ? url : (url.url || ''); for (var i = 0; i < CART_MUTATION_PATHS.length; i++) { if (s.indexOf(CART_MUTATION_PATHS[i]) !== -1) return true; } return false; } if (window.fetch) { var origFetch = window.fetch; window.fetch = function () { var urlArg = arguments[0]; var p = origFetch.apply(this, arguments); if (isCartMutation(urlArg)) { p.then(function () { pushDebounced('cart_mutation_fetch'); }).catch(function () {}); } return p; }; } if (window.XMLHttpRequest) { var OrigXHR = window.XMLHttpRequest; var origOpen = OrigXHR.prototype.open; var origSend = OrigXHR.prototype.send; OrigXHR.prototype.open = function (method, url) { this.__ccpCartMutation = isCartMutation(url); return origOpen.apply(this, arguments); }; OrigXHR.prototype.send = function () { var self = this; if (this.__ccpCartMutation) { this.addEventListener('loadend', function () { if (self.status >= 200 && self.status < 400) { pushDebounced('cart_mutation_xhr'); } }); } return origSend.apply(this, arguments); }; } // ========================================================================= // TRIGGER 3: Page unload — last-chance sync // ========================================================================= window.addEventListener('pagehide', function () { pushSnapshot('unload'); }); document.addEventListener('visibilitychange', function () { if (document.visibilityState === 'hidden') { pushSnapshot('visibility_hidden'); } }); })();