# Interactive tables in Quarto

**URL:** https://discourse.julialang.org/t/interactive-tables-in-quarto/136010
**Category:** General Usage
**Tags:** question, html, interactivity, quarto
**Created:** [March 4, 2026, 1:40pm UTC](https://discourse.julialang.org/t/interactive-tables-in-quarto/136010 "2026-03-04T13:40:54Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![jromanowska](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jromanowska/32/211061_2.png) [@jromanowska](https://discourse.julialang.org/u/jromanowska)
#### Post date: [March 4, 2026, 1:40pm UTC](https://discourse.julialang.org/t/interactive-tables-in-quarto/136010/1 "2026-03-04T13:40:54Z")

</div>

I was wondering if there are packages that can create an **interactive**.html table, to be included in a Quarto document?  
In R, there is [DT](https://rstudio.github.io/DT/), which outputs basically JS-code for interactive tables in the html.

---

<div class="post-metadata">

### Author: ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)
#### Post date: [March 4, 2026, 6:00pm UTC](https://discourse.julialang.org/t/interactive-tables-in-quarto/136010/2 "2026-03-04T18:00:08Z")

</div>

It should be possible with PlotlyJS.jl

> **[Tables · PlotlyJS](https://juliaplots.org/PlotlyJS.jl/stable/examples/tables/)**
>
> Documentation for PlotlyJS.

---

<div class="post-metadata">

### Author: ![technocrat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/technocrat/32/220947_2.png) [@technocrat](https://discourse.julialang.org/u/technocrat)
#### Post date: [March 5, 2026, 7:03am UTC](https://discourse.julialang.org/t/interactive-tables-in-quarto/136010/3 "2026-03-05T07:03:00Z")

</div>

> [@jromanowska](#):
>
> I was wondering if there are packages that can create an **interactive**.html table, to be included in a Quarto document?  
> In R, there is [DT](https://rstudio.github.io/DT/), which outputs basically JS-code for interactive tables in the html.

The only other pure Julia option beside’s @langestefan’s suggestion for PlotlyJS tables is `Dash`, but it’s sort of a kludge to use with Quarto through an `<iframe>`

```julia-auto
using Dash, DataFrames

app = dash()

df = DataFrame(
  name = ["Alice", "Bob", "Charlie"],
  age = [25, 30, 35],
  city = ["Seattle", "NYC", "LA"]
)
data = [Dict(names(df) .=> collect(row)) for row in eachrow(df)]
app.layout = html_div() do
    dash_datatable(
        id="table",
        columns=[Dict("name" => i, "id" => i) for i in names(df)],
        data=[Dict(names(df) .=> collect(row)) for row in eachrow(df)],
        sort_action="native",
        filter_action="native",
        page_size=10,
        style_cell=Dict("textAlign" => "left")
    )
end

run_server(app, "0.0.0.0", 8050)

```

---

<div class="post-metadata">

### Author: ![jromanowska](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jromanowska/32/211061_2.png) [@jromanowska](https://discourse.julialang.org/u/jromanowska)
#### Post date: [March 5, 2026, 7:41am UTC](https://discourse.julialang.org/t/interactive-tables-in-quarto/136010/4 "2026-03-05T07:41:26Z")

</div>

Thank you, @langestefan and @technocrat!  
The PlotlyJS is only providing a picture, while I was thinking about interactivity such as filtering or ordering by column, which is exactly what Dash provides 🙂  
I’ve been actually looking at that, but didn’t know how to use it in Julia - thank you @technocrat for the example code!

---

<div class="post-metadata">

### Author: ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)
#### Post date: [March 5, 2026, 7:07pm UTC](https://discourse.julialang.org/t/interactive-tables-in-quarto/136010/5 "2026-03-05T19:07:26Z")

</div>

> [@jromanowska](#):
>
> The PlotlyJS is only providing a picture, while I was thinking about interactivity such as filtering or ordering by column, which is exactly what Dash provides

The PlotlyJS.jl tables also have interactivity, but it seems somewhat limited in what it can do. I looked at the plotly.js javascript examples, and they are also quite limited: [Tables in JavaScript](https://plotly.com/javascript/table/)
