Cocotas Lab
Every sprite in the Visual Novel UI pack
Previews are watermarked. The free Basic and the bought pack download clean.

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.

Download preview
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
  • ui
  • hud
  • visual novel
  • dialogue
  • romance
  • dating sim
  • vector
  • svg
  • mobile
  • icons

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

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

Read the full license