๐งฎ Tables for terminals, in Go.
See the codeThis is a Go module for rendering tables in the terminal.

Check out the documentation for full features/usage.
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetRowLines(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โ 2 โ Banana โ 88,041 โ
โ 3 โ Cherry โ 342 โ
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetBorders(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
ID โ Fruit โ Stock
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
1 โ Apple โ 14
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
2 โ Banana โ 88,041
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
3 โ Cherry โ 342
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
4 โ Dragonfruit โ 1
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetRowLines(false)
t.SetBorders(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
ID โ Fruit โ Stock
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
1 โ Apple โ 14
2 โ Banana โ 88,041
3 โ Cherry โ 342
4 โ Dragonfruit โ 1
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetRowLines(false)
t.SetBorderLeft(true)
t.SetBorderRight(false)
t.SetBorderTop(true)
t.SetBorderBottom(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโ
โ ID โ Fruit โ Stock
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
โ 1 โ Apple โ 14
โ 2 โ Banana โ 88,041
โ 3 โ Cherry โ 342
โ 4 โ Dragonfruit โ 1
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock")
t.SetRowLines(false)
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.SetFooters("", "Count", "4")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โ 2 โ Banana โ 88,041 โ
โ 3 โ Cherry โ 342 โ
โ 4 โ Dragonfruit โ 1 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ โ Count โ 4 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetPadding(5)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetAlignment(table.AlignLeft, table.AlignCenter, table.AlignRight)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetDividers(table.UnicodeRoundedDividers)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โญโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโฎ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โฐโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโฏ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetDividers(table.Dividers{
ALL: "@",
NES: "@",
NSW: "@",
NEW: "@",
ESW: "@",
NE: "@",
NW: "@",
SW: "@",
ES: "@",
EW: "~",
NS: "!",
})
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! ID ! Fruit ! Stock !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 1 ! Apple ! 14 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 2 ! Banana ! 88,041 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 3 ! Cherry ! 342 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 4 ! Dragonfruit ! 1 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
package main
import (
"os"
"time"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetAutoMerge(true)
t.SetHeaders("System", "Status", "Last Check")
t.AddRow("Life Support", "OK", time.Now().Format(time.Stamp))
t.AddRow("Nuclear Generator", "OK", time.Now().Add(-time.Minute).Format(time.Stamp))
t.AddRow("Weapons Systems", "FAIL", time.Now().Format(time.Stamp))
t.AddRow("Shields", "OK", time.Now().Format(time.Stamp))
t.Render()
}
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ System โ Status โ Last Check โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ Life Support โ OK โ May 2 09:28:05 โ
โโโโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโค
โ Nuclear Generator โ โ May 2 09:27:05 โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ Weapons Systems โ FAIL โ May 2 09:28:05 โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค โ
โ Shields โ OK โ โ
โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
f, err := os.Open("./_examples/12-load-data-from-csv/data.csv")
if err != nil {
panic(err)
}
t := table.New(os.Stdout)
if err := t.LoadCSV(f, true); err != nil {
panic(err)
}
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Id โ Date โ Message โ
โโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1 โ 2022-05-12 โ Hello world! โ
โโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 2 โ 2022-05-12 โ These messages are loaded from a CSV file. โ
โโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 3 โ 2022-05-13 โ Incredible! โ
โโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetDividers(table.MarkdownDividers)
t.SetBorderTop(false)
t.SetBorderBottom(false)
t.SetRowLines(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
| ID | Fruit | Stock |
|----|-------------|--------|
| 1 | Apple | 14 |
| 2 | Banana | 88,041 |
| 3 | Cherry | 342 |
| 4 | Dragonfruit | 1 |
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("Namespace", "Resource", "Vulnerabilities", "Misconfigurations")
t.AddHeaders("Namespace", "Resource", "Critical", "High", "Medium", "Low", "Unknown", "Critical", "High", "Medium", "Low", "Unknown")
t.SetHeaderColSpans(0, 1, 1, 5, 5)
t.SetAutoMergeHeaders(true)
t.AddRow("default", "Deployment/app", "2", "5", "7", "8", "0", "0", "3", "5", "19", "0")
t.AddRow("default", "Ingress/test", "-", "-", "-", "-", "-", "1", "0", "2", "17", "0")
t.AddRow("default", "Service/test", "0", "0", "0", "1", "0", "3", "0", "4", "9", "0")
t.Render()
}
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Namespace โ Resource โ Vulnerabilities โ Misconfigurations โ
โ โ โโโโโโโโโโโโฌโโโโโโโฌโโโโโโโโโฌโโโโโโฌโโโโโโโโโโผโโโโโโโโโโโฌโโโโโโโฌโโโโโโโโโฌโโโโโโฌโโโโโโโโโโค
โ โ โ Critical โ High โ Medium โ Low โ Unknown โ Critical โ High โ Medium โ Low โ Unknown โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโค
โ default โ Deployment/app โ 2 โ 5 โ 7 โ 8 โ 0 โ 0 โ 3 โ 5 โ 19 โ 0 โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโค
โ default โ Ingress/test โ - โ - โ - โ - โ - โ 1 โ 0 โ 2 โ 17 โ 0 โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโค
โ default โ Service/test โ 0 โ 0 โ 0 โ 1 โ 0 โ 3 โ 0 โ 4 โ 9 โ 0 โ
โโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโดโโโโโโโโโดโโโโโโดโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโดโโโโโโโโโดโโโโโโดโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "01234567890123456789012345678901234567890123456789012345678901234567890123456789", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ 01234567890123456789012345678901234567890123456789012345678- โ 14 โ
โ โ 901234567890123456789 โ โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("A", "B", "C")
t.AddRow("๐ฅ unicode ๐ฅ characters ๐ฅ", "2", "3")
t.AddRow("4", "5", "6")
t.Render()
}

package main
import (
"os"
"github.com/aquasecurity/table"
"github.com/liamg/tml"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock", "Description")
t.SetHeaderStyle(table.StyleBold)
t.SetLineStyle(table.StyleBlue)
t.SetDividers(table.UnicodeRoundedDividers)
t.AddRow("1", tml.Sprintf("<green>Apple</green>"), "14", tml.Sprintf("An apple is an edible fruit produced by an apple tree (<italic>Malus domestica</italic>). "))
t.AddRow("2", tml.Sprintf("<yellow>Banana</yellow>"), "88,041", "A banana is an elongated, edible fruit - botanically a berry.")
t.AddRow("3", tml.Sprintf("<red>Cherry</red>"), "342", "A cherry is the fruit of many plants of the genus Prunus, and is a fleshy drupe (stone fruit). ")
t.AddRow("4", tml.Sprintf("<magenta>Dragonfruit</magenta>"), "1", "A dragonfruit is the fruit of several different cactus species indigenous to the Americas.")
t.Render()
}

Overall
Maintained
Code review
Go module
Latest release
Releases this year
56 followers ยท starred Aug 2025
106 followers ยท starred Oct 2022
53 followers ยท starred Aug 2022
124 followers ยท starred Sep 2026
๐งฎ Tables for terminals, in Go.
See the codeThis is a Go module for rendering tables in the terminal.

Check out the documentation for full features/usage.
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetRowLines(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โ 2 โ Banana โ 88,041 โ
โ 3 โ Cherry โ 342 โ
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetBorders(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
ID โ Fruit โ Stock
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
1 โ Apple โ 14
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
2 โ Banana โ 88,041
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
3 โ Cherry โ 342
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
4 โ Dragonfruit โ 1
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetRowLines(false)
t.SetBorders(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
ID โ Fruit โ Stock
โโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
1 โ Apple โ 14
2 โ Banana โ 88,041
3 โ Cherry โ 342
4 โ Dragonfruit โ 1
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetRowLines(false)
t.SetBorderLeft(true)
t.SetBorderRight(false)
t.SetBorderTop(true)
t.SetBorderBottom(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโ
โ ID โ Fruit โ Stock
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโ
โ 1 โ Apple โ 14
โ 2 โ Banana โ 88,041
โ 3 โ Cherry โ 342
โ 4 โ Dragonfruit โ 1
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock")
t.SetRowLines(false)
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.SetFooters("", "Count", "4")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โ 2 โ Banana โ 88,041 โ
โ 3 โ Cherry โ 342 โ
โ 4 โ Dragonfruit โ 1 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ โ Count โ 4 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetPadding(5)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetAlignment(table.AlignLeft, table.AlignCenter, table.AlignRight)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetDividers(table.UnicodeRoundedDividers)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โญโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโฎ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ Apple โ 14 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โฐโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโฏ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetDividers(table.Dividers{
ALL: "@",
NES: "@",
NSW: "@",
NEW: "@",
ESW: "@",
NE: "@",
NW: "@",
SW: "@",
ES: "@",
EW: "~",
NS: "!",
})
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! ID ! Fruit ! Stock !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 1 ! Apple ! 14 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 2 ! Banana ! 88,041 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 3 ! Cherry ! 342 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
! 4 ! Dragonfruit ! 1 !
@~~~~@~~~~~~~~~~~~~@~~~~~~~~@
package main
import (
"os"
"time"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetAutoMerge(true)
t.SetHeaders("System", "Status", "Last Check")
t.AddRow("Life Support", "OK", time.Now().Format(time.Stamp))
t.AddRow("Nuclear Generator", "OK", time.Now().Add(-time.Minute).Format(time.Stamp))
t.AddRow("Weapons Systems", "FAIL", time.Now().Format(time.Stamp))
t.AddRow("Shields", "OK", time.Now().Format(time.Stamp))
t.Render()
}
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ System โ Status โ Last Check โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ Life Support โ OK โ May 2 09:28:05 โ
โโโโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโค
โ Nuclear Generator โ โ May 2 09:27:05 โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ Weapons Systems โ FAIL โ May 2 09:28:05 โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค โ
โ Shields โ OK โ โ
โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
f, err := os.Open("./_examples/12-load-data-from-csv/data.csv")
if err != nil {
panic(err)
}
t := table.New(os.Stdout)
if err := t.LoadCSV(f, true); err != nil {
panic(err)
}
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Id โ Date โ Message โ
โโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1 โ 2022-05-12 โ Hello world! โ
โโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 2 โ 2022-05-12 โ These messages are loaded from a CSV file. โ
โโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 3 โ 2022-05-13 โ Incredible! โ
โโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetDividers(table.MarkdownDividers)
t.SetBorderTop(false)
t.SetBorderBottom(false)
t.SetRowLines(false)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "Apple", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
| ID | Fruit | Stock |
|----|-------------|--------|
| 1 | Apple | 14 |
| 2 | Banana | 88,041 |
| 3 | Cherry | 342 |
| 4 | Dragonfruit | 1 |
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("Namespace", "Resource", "Vulnerabilities", "Misconfigurations")
t.AddHeaders("Namespace", "Resource", "Critical", "High", "Medium", "Low", "Unknown", "Critical", "High", "Medium", "Low", "Unknown")
t.SetHeaderColSpans(0, 1, 1, 5, 5)
t.SetAutoMergeHeaders(true)
t.AddRow("default", "Deployment/app", "2", "5", "7", "8", "0", "0", "3", "5", "19", "0")
t.AddRow("default", "Ingress/test", "-", "-", "-", "-", "-", "1", "0", "2", "17", "0")
t.AddRow("default", "Service/test", "0", "0", "0", "1", "0", "3", "0", "4", "9", "0")
t.Render()
}
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Namespace โ Resource โ Vulnerabilities โ Misconfigurations โ
โ โ โโโโโโโโโโโโฌโโโโโโโฌโโโโโโโโโฌโโโโโโฌโโโโโโโโโโผโโโโโโโโโโโฌโโโโโโโฌโโโโโโโโโฌโโโโโโฌโโโโโโโโโโค
โ โ โ Critical โ High โ Medium โ Low โ Unknown โ Critical โ High โ Medium โ Low โ Unknown โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโค
โ default โ Deployment/app โ 2 โ 5 โ 7 โ 8 โ 0 โ 0 โ 3 โ 5 โ 19 โ 0 โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโค
โ default โ Ingress/test โ - โ - โ - โ - โ - โ 1 โ 0 โ 2 โ 17 โ 0 โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโโโโโค
โ default โ Service/test โ 0 โ 0 โ 0 โ 1 โ 0 โ 3 โ 0 โ 4 โ 9 โ 0 โ
โโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโดโโโโโโโโโดโโโโโโดโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโดโโโโโโโโโดโโโโโโดโโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock")
t.AddRow("1", "01234567890123456789012345678901234567890123456789012345678901234567890123456789", "14")
t.AddRow("2", "Banana", "88,041")
t.AddRow("3", "Cherry", "342")
t.AddRow("4", "Dragonfruit", "1")
t.Render()
}
โโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโ
โ ID โ Fruit โ Stock โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 1 โ 01234567890123456789012345678901234567890123456789012345678- โ 14 โ
โ โ 901234567890123456789 โ โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 2 โ Banana โ 88,041 โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 3 โ Cherry โ 342 โ
โโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 4 โ Dragonfruit โ 1 โ
โโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโ
package main
import (
"os"
"github.com/aquasecurity/table"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("A", "B", "C")
t.AddRow("๐ฅ unicode ๐ฅ characters ๐ฅ", "2", "3")
t.AddRow("4", "5", "6")
t.Render()
}

package main
import (
"os"
"github.com/aquasecurity/table"
"github.com/liamg/tml"
)
func main() {
t := table.New(os.Stdout)
t.SetHeaders("ID", "Fruit", "Stock", "Description")
t.SetHeaderStyle(table.StyleBold)
t.SetLineStyle(table.StyleBlue)
t.SetDividers(table.UnicodeRoundedDividers)
t.AddRow("1", tml.Sprintf("<green>Apple</green>"), "14", tml.Sprintf("An apple is an edible fruit produced by an apple tree (<italic>Malus domestica</italic>). "))
t.AddRow("2", tml.Sprintf("<yellow>Banana</yellow>"), "88,041", "A banana is an elongated, edible fruit - botanically a berry.")
t.AddRow("3", tml.Sprintf("<red>Cherry</red>"), "342", "A cherry is the fruit of many plants of the genus Prunus, and is a fleshy drupe (stone fruit). ")
t.AddRow("4", tml.Sprintf("<magenta>Dragonfruit</magenta>"), "1", "A dragonfruit is the fruit of several different cactus species indigenous to the Americas.")
t.Render()
}

Overall
Maintained
Code review
Go module
Latest release
Releases this year
56 followers ยท starred Aug 2025
106 followers ยท starred Oct 2022
53 followers ยท starred Aug 2022
124 followers ยท starred Sep 2026