Ventoy Theme Plugin

What do you feel when you first see Ventoy ? Not so pretty right? Now you can customize your own theme!
Ventoy is based on grub2, so all grub2 themes can be used on Ventoy.
This website collects many beautiful grub themes GRUB Themes -

  • Json Configuration

Recommend to use VentoyPlugson, a GUI ventoy.json configurator. Refer VentoyPlugson
A theme object is defined to describe the theme configuration in /ventoy/ventoy.json.
It should be noted that, you don't need to configure every option, you can also configure only some or one of them.

    "theme": {
        "file": "/ventoy/theme/blur/theme.txt",
        "gfxmode": "1920x1080",
        "display_mode": "GUI",
        "serial_param": "--unit=0 --speed=9600",
        "ventoy_left": "5%",
        "ventoy_top": "95%",
        "ventoy_color": "#0000ff",
        "fonts": [

Key Type Description
file STRING/STRING ARRAY The theme.txt file path. It can be a single string or a string array. For example:
"file": [
When you use a string array, you can use default_file option to select which one to use when boot.
Besides, with latest Ventoy release you can switch between these themes after boot. Refer: Switch between Themes
default_file INTEGER This option only take effect when file is a string array. It's an integer with default value 0. Meanings as follows:
0: randomly select a theme when boot. (This is the default value)
1: Select the 1st theme when boot.
2: Select the 2nd theme when boot.
3: Select the 3rd theme when boot.
gfxmode STRING Optional, the gfxmode for grub2, default is "1024x768"
display_mode STRING Optional, the menu display mode, GUI CLI serial serial_console default is GUI
"GUI" or "CLI" corresponding to the GUI mode and TEXT mode respectively. On very few machines Ventoy's menu can't be shown or the cursor moves extremely slow. In this case you can set the default mode to "CLI".
However, both "GUI" and "CLI" need a VGA device, if your machine only has serial, you can use serial
Also you can use serial_console if you have both serial and VGA device.
Attention: Unicode characters will NOT be displayed normally in CLI or serial mode.
serial_param STRING Optional, will be used only if display_mode is set to serial or serial_console
This parameter is used to set the serial(e.g. port speed), --unit=0 corresponding to COM1, --unit=1 corresponding to COM2 ......
ventoy_left STRING Optional, left position of the ventoy version info, default is "5%"
ventoy_top STRING Optional, top position of the ventoy version info, default is "95%"
ventoy_color STRING Optional, the color of the ventoy version info, default is "#0000ff"
fonts STRING ARRAY Optional, each item is a full path of the font file to be loaded
  • TEXT mode <==> GUI mode

Ventoy will use GUI mode by default. But it may have some problems in some special machine with GUI mode. In this case you need to switch to TEXT mode.
Both text mode and GUI mode provide the same features, only that the GUI mode is more beautiful. You can use the following methods to switch display mode:

  1. F5 Tools-->Screen Display Mode-->Force Text Mode menu. This is one-time effective and needs to be set every time you boot into Ventoy.
  2. Press F7. This is the same as F5 menu above. Press F7 repeatedly to switch back and forth between text mode and GUI mode.
  3. With theme plugin in this article, you can set text mode as Ventoy's default display mode.

  • Switch between Themes (1.0.62+)

If you set more than one themes, you can swith between them with F5 Tools --> Theme Select menu as follows (effective immediately):
It should be noted that, the theme selected by this menu is temporary and will not be saved. So next boot Ventoy sill select a theme depend on default_file option.

  • Hotkey Tips

Add these following hbox definitions to your new theme.txt to show the hotkey tips. You can also change the position and color.

+ hbox{ 
    left = 30%
    top = 95%
    width = 10%
    height = 25
    + label {text = "@VTOY_HOTKEY_TIP@" color = "blue" align = "left"} 

+ hbox{ 
    left = 90%
    top = 5 
    width = 10%
    height = 25
    + label {text = "@VTOY_MEM_DISK@" color = "red" align = "left"} 

  • Ventoy version info

By default there will be a version info string at the lower left corner. For example 1.0.10 UEFI
This info is hard coded in the source. You can use ventoy_left/ventoy_top/ventoy_color to change its position and color.
If you want to remove it completely, I encourage you to read the source code, modify it and rebuild Ventoy. I think this is also the essence of open source.

  • Multi-Mode

Supported. You can set different themes for different BIOS mode. Please refer Multi-Mode Option for details.

  • Sample Theme