Visual Novel UI
A vector UI kit for visual novels: a wide see-through dialog box with name plates, click-to-continue cursors, discreet skip / auto / log quick-menu buttons, subtle choice frames, affinity hearts, meters and character cards, save slots, gallery frames and a full mobile kit. SVG + PNG 1x/2x/4x.
Basic
Free
61 of the 303 sprites, no watermark: 16 buttons in every state, 3 panels, 12 icons, 10 mobile buttons and more.
Download Basic ZIP, 1.7 MB. Free with your email, no password.Full pack
US$1.99
All 303 sprites, the SVG sources and the mockups.
ZIP, 10.8 MB. The preview is watermarked. Buy with the email you sign in with here and the clean files unlock right away.- Sprites
- 303 (11 animated)
- Style
- Vector UI (SVG + PNG)
- View
- Ui / hud
- Tile size
- 8 px
- Download
- ZIP, 10.8 MB (Basic 1.7 MB)
- Price
- US$1.99, Basic free
- Version
- 1.0 (Oct 30, 2026)
- License
- Cocotas Lab Asset License
What's inside
Every sprite as its own PNG, one sprite sheet per category with a JSON map, animation strips, a preview and a README. Sprites marked Basic are also in the free Basic.
Buttons (24)
- button_primary_normal160×56Basic
- button_primary_hover160×56Basic
- button_primary_pressed160×56Basic
- button_primary_disabled160×56Basic
- button_secondary_normal160×56Basic
- button_secondary_hover160×56Basic
- button_secondary_pressed160×56Basic
- button_secondary_disabled160×56Basic
- button_paper_normal160×56
- button_paper_hover160×56
- button_paper_pressed160×56
- button_paper_disabled160×56
- button_danger_normal160×56
- button_danger_hover160×56
- button_danger_pressed160×56
- button_danger_disabled160×56
- button_icon_normal56×56Basic
- button_icon_hover56×56Basic
- button_icon_pressed56×56Basic
- button_icon_disabled56×56Basic
- button_round_normal64×64Basic
- button_round_hover64×64Basic
- button_round_pressed64×64Basic
- button_round_disabled64×64Basic
Dialogue (13)
- dialog_box_night384×144
- dialog_box_paper384×144
- dialog_box_thought384×144
- dialog_strip_night256×128
- nameplate_lamp176×40
- nameplate_rose176×40
- nameplate_sky176×40
- nameplate_mint176×40
- nameplate_lilac176×40
- nameplate_night176×40
- advance_chevron24×24, 8 fr
- advance_diamond24×24, 8 fr
- voice_wave32×24, 6 fr
Affinity (16)
- affinity_card192×256
- affinity_heart_full24×24
- affinity_heart_half24×24
- affinity_heart_empty24×24
- affinity_bar_frame240×40
- affinity_bar_fill240×40
- affinity_tick8×24
- portrait_frame_arch128×160
- portrait_frame_round96×96
- portrait_placeholder96×128
- affinity_up48×48, 8 fr
- affinity_down48×48, 8 fr
- affinity_tier_196×24
- affinity_tier_296×24
- affinity_tier_396×24
- affinity_tier_496×24
Icons (52)
- heart32×32Basic
- coin32×32Basic
- gem32×32Basic
- key32×32Basic
- star32×32Basic
- settings32×32Basic
- pause32×32Basic
- play32×32Basic
- home32×32Basic
- back32×32Basic
- close32×32Basic
- check32×32Basic
- cross32×32
- plus32×32
- minus32×32
- info32×32
- lock32×32
- unlock32×32
- shop32×32
- map32×32
- quest32×32
- trophy32×32
- sound_on32×32
- sound_off32×32
- music_on32×32
- music_off32×32
- share32×32
- trash32×32
- cart32×32
- gift32×32
- bag32×32
- restart32×32
- heart_empty32×32
- star_empty32×32
- heart_broken32×32
- book32×32
- bookmark32×32
- letter32×32
- phone32×32
- calendar32×32
- clock32×32
- gallery32×32
- flowchart32×32
- dialogue32×32
- voice32×32
- eye32×32
- eye_closed32×32
- character32×32
- time_morning32×32
- time_day32×32
- time_evening32×32
- time_night32×32
Items (24)
- bouquet40×40
- single_rose40×40
- chocolate_box40×40
- cake_slice40×40
- teacup40×40
- cookie40×40
- candy40×40
- hair_ribbon40×40
- music_box40×40
- plush_bear40×40
- novel40×40
- sketchbook40×40
- umbrella40×40
- scarf40×40
- photo40×40
- tickets40×40
- star_keychain40×40
- perfume40×40
- ring_box40×40
- headphones40×40
- potted_plant40×40
- paper_lantern40×40
- folding_fan40×40
- flower_hairpin40×40
Choices (7)
- choice_selected448×56
- choice_normal448×56
- choice_hover448×56
- choice_seen448×56
- choice_locked448×56
- choice_timer_frame448×16
- choice_timer_fill448×16
Mobile (46)
- dpad_8_up_right128×128
- joystick_base128×128
- joystick_knob64×64
- joystick_knob_pressed64×64
- dpad_4128×128
- dpad_4_up128×128
- dpad_4_right128×128
- dpad_4_down128×128
- dpad_4_left128×128
- dpad_8128×128
- dpad_8_up128×128
- dpad_8_right128×128
- dpad_8_down_right128×128
- dpad_8_down128×128
- dpad_8_down_left128×128
- dpad_8_left128×128
- dpad_8_up_left128×128
- button_a72×72Basic
- button_a_pressed72×72Basic
- button_b72×72Basic
- button_b_pressed72×72Basic
- button_x72×72Basic
- button_x_pressed72×72Basic
- button_y72×72Basic
- button_y_pressed72×72Basic
- button_jump72×72
- button_jump_pressed72×72
- button_attack72×72
- button_attack_pressed72×72
- button_interact72×72
- button_interact_pressed72×72
- button_dash72×72
- button_dash_pressed72×72
- button_skip72×72
- button_skip_pressed72×72
- button_auto72×72
- button_auto_pressed72×72
- button_pause64×64Basic
- button_pause_pressed64×64Basic
- swipe_up64×64
- swipe_right64×64
- swipe_down64×64
- swipe_left64×64
- tabbar_bg96×80
- tabbar_item_active80×64
- tabbar_badge24×24
Emotes (10)
- emote_idea32×32
- emote_heart32×32
- emote_music32×32
- emote_sweat32×32
- emote_exclaim32×32
- emote_question32×32
- emote_ellipsis32×32
- emote_anger32×32
- emote_sparkle32×32
- emote_sleep32×32
Panels (13)
- panel_paper128×128Basic
- panel_night128×128Basic
- panel_titled160×160Basic
- panel_inset96×96
- panel_dialog192×128
- panel_tooltip96×48
- title_banner256×64
- divider160×16
- divider_dots160×16
- divider_flourish160×16
- ornament_corner32×32
- ornament_diamond16×16
- ornament_sparkle16×16
Saves (16)
- gallery_frame_new160×96
- save_slot320×96
- save_slot_hover320×96
- save_slot_selected320×96
- save_slot_empty320×96
- save_ribbon_new32×48
- gallery_frame160×96
- gallery_frame_locked160×96
- chapter_card384×96
- page_dot16×16
- page_dot_active16×16
- flow_node_seen40×40
- flow_node_current40×40
- flow_node_locked40×40
- flow_node_ending40×40
- flow_line64×16
Slots (8)
- slot_legendary64×64
- slot_epic64×64
- slot_rare64×64
- slot_uncommon64×64
- slot_empty64×64Basic
- slot_hover64×64Basic
- slot_selected64×64Basic
- slot_locked64×64
Counters (8)
- counter_coins160×48
- counter_gems160×48
- counter_lives160×48
- counter_score160×48
- counter_timer160×48
- counter_days160×48
- counter_messages160×48
- counter_plate160×48
Quickmenu (17)
- qm_auto24×24
- qm_bar384×40
- qm_button_normal48×40
- qm_button_hover48×40
- qm_button_active48×40
- qm_button_disabled48×40
- qm_skip24×24
- qm_log24×24
- qm_save24×24
- qm_load24×24
- qm_qsave24×24
- qm_qload24×24
- qm_settings24×24
- qm_hide24×24
- qm_back24×24
- qm_voice24×24
- qm_menu24×24
Bars (7)
- bar_level_frame240×40
- bar_frame208×32Basic
- bar_fill_health208×32Basic
- bar_fill_energy208×32
- bar_fill_stamina208×32
- bar_fill_xp208×32
- bar_level_fill240×40
Controls (13)
- toggle_on80×40Basic
- toggle_off80×40Basic
- checkbox_off40×40Basic
- checkbox_on40×40Basic
- radio_off40×40
- radio_on40×40
- slider_track160×24Basic
- slider_fill160×24Basic
- slider_knob40×40Basic
- dropdown200×48
- dropdown_item_selected200×40
- scrollbar_track24×160
- scrollbar_thumb24×64
Backlog (5)
- backlog_panel192×192
- backlog_row384×48
- backlog_row_hover384×48
- backlog_voice32×32
- backlog_jump32×32
Tabs (2)
- tab_active128×48Basic
- tab_inactive128×48Basic
Fx (6)
- coin_spin40×40, 8 fr
- heart_pulse32×32, 6 fr
- sparkle_twinkle32×32, 8 fr
- heart_burst48×48, 8 fr
- loading_diamonds32×32, 12 fr
- typing_dots40×32, 6 fr
Textures (4)
- texture_paper64×64
- texture_night64×64
- texture_linen64×64
- texture_ruled64×64
Arrows (12)
- arrow_up32×32Basic
- arrow_right32×32Basic
- arrow_down32×32Basic
- arrow_left32×32Basic
- chevron_up32×32
- chevron_right32×32
- chevron_down32×32
- chevron_left32×32
- cursor_arrow32×32Basic
- cursor_hand32×32Basic
- cursor_hand_click32×32
- cursor_quill32×32
Drawn by code (procedural generation) and checked by our own tools.
Animations
advance_chevron8 frames, 8 fps
advance_diamond8 frames, 8 fps
voice_wave6 frames, 10 fps
affinity_up8 frames, 10 fps
affinity_down8 frames, 10 fps
coin_spin8 frames, 12 fps
heart_pulse6 frames, 10 fps
sparkle_twinkle8 frames, 8 fps
heart_burst8 frames, 12 fps
loading_diamonds12 frames, 12 fps
typing_dots6 frames, 8 fps
License in short
You can
- Use it in personal and commercial games and apps
- Edit, recolor and combine the sprites
- Skip the credit (it's appreciated, not required)
You can't
- Resell or share the assets themselves, alone or in another pack
- Use them to train AI models