How to display a multi-column product image gallery grid in Amazon Quick Sight (Amazon Quick)?

Is it possible to build a Pinterest-style
multi-column image gallery in QuickSight /
Quick Suite 2025?

Hi QuickSight Community,

We are building a product dashboard for an
enterprise fashion/retail platform
(WindowsWear) using Amazon QuickSight
Enterprise (Quick Suite).

━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT WE ARE TRYING TO ACHIEVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━
We want to display products in a
Pinterest-style image grid like this:

┌──────┬──────┬──────┬──────┬──────┐
│[img] │[img] │[img] │[img] │[img] │
│Name │Name │Name │Name │Name │
│$29 │$39 │$19 │$49 │$59 │
├──────┼──────┼──────┼──────┼──────┤
│[img] │[img] │[img] │[img] │[img] │
│Name │Name │Name │Name │Name │
└──────┴──────┴──────┴──────┴──────┘

Requirements:
• 4-6 product images per row
• Images sourced from S3 URLs
(productImage_s3 column)
• Product name, brand, price per card
• Search, filter, sort, pagination
• Mobile responsive

━━━━━━━━━━━━━━━━━━━━━━━━━━━
OUR DATA SOURCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Amazon OpenSearch (millions of records)
• Connected via SPICE dataset in QuickSight
• Key fields available:

  • productImage_s3 (S3 image URLs)
  • name, brand, sale_price
  • retail_price, availability
  • category_primary, ProductRank
  • productUrl, sku_number

━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT WE HAVE ALREADY TRIED
━━━━━━━━━━━━━━━━━━━━━━━━━━━

  1. :cross_mark: Custom Visual Plugins
    → “Custom visual plugins” option
    is NOT available in Manage QuickSight
    → Appears deprecated in Quick Suite
    (late 2025)

  2. :cross_mark: Pivot Table with Images
    → Configured Gallery_Row (ROWS) and
    Gallery_Col1/2/3 (VALUES)
    → Only shows COUNT of records
    → No “Display as image” option
    available in pivot table cells
    → String fields only offer
    COUNT/COUNT DISTINCT in VALUES

  3. :cross_mark: Custom Content Visual (URL Embed)
    → Accepts static URL only
    → Cannot bind to dataset columns
    → No field wells available
    → No search/filter/pagination

  4. :cross_mark: Highcharts Custom Visual
    → Designed for charts only
    → Cannot display images from
    dataset columns

  5. :white_check_mark: Table Visual with Image Display
    → This WORKS for showing images
    → BUT produces single-column layout
    → Does NOT achieve gallery grid

━━━━━━━━━━━━━━━━━━━━━━━━━━━
SPECIFIC QUESTIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━

  1. Is there ANY native QuickSight visual
    type that supports multi-column
    image grid layout in 2025/2026?

  2. Is the Custom Visual Plugin feature
    permanently deprecated in Quick Suite,
    or is it available under a different
    menu location?

  3. Can the Pivot Table be configured to
    display cell values as images?
    We see “Display as image” mentioned
    in older documentation but cannot
    find this option.

  4. Has anyone successfully built an
    image gallery grid in QuickSight
    using any workaround?

  5. Is the Custom Content Visual able to
    receive dataset parameters via URL
    query strings for dynamic filtering?

━━━━━━━━━━━━━━━━━━━━━━━━━━━
CALCULATED FIELDS WE BUILT
━━━━━━━━━━━━━━━━━━━━━━━━━━━

Gallery_Row:
floor((ProductRank - 1) / 3)

Gallery_Col1:
ifelse(
rank([{product_id} ASC], , PRE_AGG) % 3 = 1,
{productImage_s3},
NULL
)

Gallery_Col2:
ifelse(
rank([{product_id} ASC], , PRE_AGG) % 3 = 2,
{productImage_s3},
NULL
)

Gallery_Col3:
ifelse(
rank([{product_id} ASC], , PRE_AGG) % 3 = 0,
{productImage_s3},
NULL
)

These fields work correctly and produce
the right row/column structure, but the
pivot table only shows COUNT values
instead of rendering the image URLs.

━━━━━━━━━━━━━━━━━━━━━━━━━━━
CURRENT WORKAROUND PLAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━
We are currently building a standalone
HTML gallery page hosted on S3 with an
API Gateway + Lambda connecting to
OpenSearch, then embedding the URL
in a Custom Content Visual.

However this has limitations:
• No integration with QuickSight filters
• Separate from main dashboard context
• Requires external infrastructure

Would love to know if there is a
native or semi-native solution we
have missed before going fully external.

Thank you in advance for any guidance!

Platform: Amazon QuickSight Enterprise
(Quick Suite)
Region: us-east-1
Dataset: OpenSearch via SPICE
Version: April 2026

Hi @anubhav.s and welcome to the Quick Community!

So the current workaround that I can think of to achieve the desired design is to utilize a table visual. Restating your design below:

┌──────┬──────┬──────┬──────┬──────┐
│[img] │[img] │[img] │[img] │[img] │
│Name │Name │Name │Name │Name │
│$29 │$39 │$19 │$49 │$59 │
├──────┼──────┼──────┼──────┼──────┤
│[img] │[img] │[img] │[img] │[img] │
│Name │Name │Name │Name │Name │
└──────┴──────┴──────┴──────┴──────┘

You can recreate the first line (img, name, and price) through a table visual and to get it in the right layout you will have to ‘swap rows and columns’

Now to get the second line (img and name), the only way I can think of for that one is to have that be a secondary table visual that you line up to make it look like one visual from a viewer’s perspective. As you have stated, you properly identified the current limitations and unfortunately, the workarounds require you to get a little crafty with it by doing something like multiple visuals.

Hi @anubhav.s

It’s been a while since we last heard from you. If you have any further questions, please let us know how we can assist you.

If we don’t hear back within the next 3 business days, we’ll proceed with close/archive this topic.

Thank you!

Hi @anubhav.s ,

Since I haven’t received any further updates from you, I’ll treat this inquiry as complete for now. If you have any additional questions, feel free to create a new post in the community and link this discussion for context.

Thank you

HI @JacobR ,

it still not working as expected .

can you suggest a different solution.

Thank you

HI @anubhav.s ,

I found a previous community post that I think solves a similar case if you want to check it out (Gallery Option - Q&A - Amazon Quick Community). Otherwise, I think based on what you have so far with the calculated fields that you have created, here is my thought process for this:

Select a Table visual, put ‘Gallery_Row’ in Group by, and your ‘Gallery_Col1/2/3’ fields in Values. Then go to Format visual → Field styling, select each column field, and choose “Show URLs as images.”

Regarding your external HTML workaround, Custom Content Visuals do support parameter-driven content through navigation actions, so you can dynamically update what’s displayed based on user filter selections. This means your S3-hosted gallery doesn’t have to be disconnected from the rest of your dashboard. See the Custom Content Visual docs for setup details.

Let me know if you have any further questions, this has been a very interesting use case to work on!