splitpanes

A Vue.js reliable, simple and touch-ready panes splitter / resizer
6,255,708 2,249
Install
npm install splitpanes
Latest Version:4.1.2
Vue:3
Older releases:2
License:MIT
Last Updated:Aug 12, 2026
Links: GitHub  ·  npm
Maintainer: antoniandre

Splitpanes

Latest Version on NPM Software License npm npm JavaScript Style Guide

A Vue.js reliable, simple and touch-ready panes splitter / resizer. Vue 3 compatible.

Installation

Vue 3

npm i splitpanes

Vue 2

npm i splitpanes@legacy

Demo & Documentation

https://antoniandre.github.io/splitpanes

Try it yourself

https://codepen.io/antoniandre/pen/XybPKP


Browser Support

Chrome Firefox Safari Opera Edge IE
Latest ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔ 10+ ✔

Donating

If you like this library, you can buy me a beer or become a sponsor!

Thank you!

If you are using this library for profit business, please consider backing me! It ensures that the project your products rely on keeps being actively maintained. :)


Contributing

If you have any idea, feel free to open an issue to discuss a new feature, or fork Splitpanes and submit your changes back to me.


Release Notes

  • Version 4.1.1 Bug fixes: crash on fast drag, min/max enforcement, size jump, cursor disappear, size="0" override, Firefox text selection, init flash, panel order, nested transition
  • Version 4.1.0 Keyboard accessibility: splitters focusable with arrow keys, keyboard-step prop, ARIA attributes
  • Version 4.0.5 TypeScript definitions, null pointer safeguards, fallthrough attributes fix
  • Version 4.0.0 Emit splitter-dblclick event, rename dblClickSplitter to maximizePanes, refactored emitted events
  • Version 3.2.0 Account for cursor position when dragging, Composition API rewrite
  • Version 3.0.0 Vue 3 support (use splitpanes@legacy for Vue 2)
  • Version 2.3.0 Support RTL direction
  • Version 2.2.0 Add firstSplitter option, allow v-if on panes and other improvements
  • Version 2.0.0 Fix reactivity issues
  • Version 1.14.0 Programmatically set pane size
  • Version 1.13.0 Emit event on splitter click
  • Version 1.12.0 Double click splitter to maximize is now an option
  • Version 1.11.0 Persist panes size after slots changed
  • Version 1.10.0 Add maximum size feature on panes
  • Version 1.9.0 Emit event on resize & watch slots optional
  • Version 1.8.0 Watch slots
  • Version 1.7.0 Double click splitter to maximize next pane
  • Version 1.6.0 Emit events
  • Version 1.5.0 Add default size feature on panes
  • Version 1.4.0 Add minimum size feature on panes
  • Version 1.3.0 Splitpanes slots are now reactive (add/remove on the fly)
  • Version 1.2.0 Add a default-theme CSS class to load default theme
  • Version 1.1.0 Allow pushing other panes while dragging splitter
  • Version 1.0.0 First public release

Related Packages

@kong/splitpanes

A Vue.js reliable, simple and touch-ready panes splitter / resizer

4,993 1
@posva/splitpanes

A Vue.js reliable, simple and touch-ready panes splitter / resizer

4,975 2,249
msplit

A VueJs Component to show resizable multi-pan container

971 5
seeroad-ui

seeroad project ui library

3,733
ui

Version History

Version Released Vue License
4.1.2 ^3.2.0 MIT
4.1.1 ^3.2.0 MIT
4.1.0 ^3.2.0 MIT
4.0.5 ^3.2.0 MIT
4.0.4 ^3.2.0 MIT
Pre-releases (1)
Version Released Vue License
3.0.0-next ^3.0.0 MIT