vue-pincher

Vue 3 image cropper component
1,234
Install
npm install vue-pincher
Latest Version:0.2.8
Vue:3
License:MIT
Last Updated:Sep 12, 2026
Links: GitHub  ·  npm
Maintainer: ievgeniy88

Vue Pincher

Vue Pincher is a Vue 3 component that provides an easy-to-use image cropper, optimized for mobile and multitouch interactions. It's designed to make cropping images intuitive, whether you're working on desktop or mobile devices.

Note: Yes, there are many image croppers out there, but see below.

Key Features

  • Mobile and Multitouch Friendly: Optimized for touchscreens, providing smooth pinch-to-zoom and drag-to-move capabilities.
  • Gesture Support: Uses a gesture center to handle image manipulation, ensuring intuitive interactions with both touch and mouse inputs.
  • Portable state: Maximized similarity in different size containers with same crop state.
  • Non-destructive behavior: Original image is preserved for further manipulation.

Installation

To install vue-pincher, simply run the following command:

npm install vue-pincher

Once installed, import and use the component in your Vue 3 application:

import { createApp } from "vue";
import VuePincher from "vue-pincher";

const app = createApp(App);
app.component("VuePincher", VuePincher);
app.mount("#app");

Basic Usage

<template>
  <VuePincher
    v-if="image"
    v-model="settings"
    :image="image"
    style="width: 300px; height: 300px"
  />
</template>

<script setup lang="ts">
import { ref, onMounted } from "vue";

import VuePincher from "vue-pincher";

const settings = ref({
  angle: 0,
  offsetX: 0,
  offsetY: 0,
  scale: 0,
});

const image = ref<ImageBitmap>();

onMounted(async () => {
  const response = await fetch("./test.jpg");
  const blob = await response.blob();
  image.value = await createImageBitmap(blob);
});
</script>

Contributing

Contributions are welcome! Feel free to open issues, suggest features, or submit pull requests.

License

Vue Pincher is MIT licensed.

Sponsors

BOFT LTD

Related Packages

vue-picture-cropper

A simple and easy-to-use picture cropping component for Vue 3.

556,770 157
vue3-zoom-pan-pinch

vue3 zoom and pan

3,432 8
vue-panzoom

Vue plugin to zoom/pan dom elements

201,156 96
simple-panzoom

保留 vue3-sketch-ruler 实际用到的功能,移除 SVG、IE 与多指捏合等未用特性,提升性...

1,539 303
vue-openseadragon

OpenSeaDragon component for Vue.js

3,936 29

Version History

Version Released Vue License
0.2.8 ^3.0.0 MIT
0.2.7 ^3.0.0 MIT
0.2.6 ^3.0.0 MIT
0.2.5 ^3.0.0 MIT
0.2.4 ^3.0.0 MIT