react-esign is a lightweight, dependency free React component built for capturing handwritten signatures. It provides a simple and responsive signature pad, perfect for e-signatures, form authentication, or user confirmations in React applications
npm install react-esignA lightweight, dependency-free signature input component for React.


react-esign makes it effortless to capture smooth, customizable digital signatures in React apps. No dependencies, no bloatβjust a simple and powerful signature input.
π Live Demo & Docs
---
Install via npm or yarn:
``sh`
npm install react-esignor
yarn add react-esign
---
`jsx
import { SignatureInput } from "react-esign";
const SignaturePad = () => {
const handleSignatureChange = (file: File) => {
console.log("Signature Changed");
};
return
};
export default SignaturePad;
`
> π― Thatβs it! You now have a working signature input in your React app.
---
Easily customize styles, theme, and behavior:
`jsx
import { SignatureInput } from "react-esign";
const CustomSignaturePad = () => {
return (
isDisabled={false}
isError={false}
themeColor="#E50914"
strokeWidth={3}
clear
download
width={550}
height={150}
/>
);
};
export default CustomSignaturePad;
`
| Prop | Type | Default | Description |
| ------------- | ---------------------- | ------------ | ----------------------------------------- |
| onChange | (file: File) => void | Required | Callback triggered when signature changes |isDisabled
| | boolean | false | Disables input when true |isError
| | boolean | false | Applies an error style when true |themeColor
| | string | "#000" | Sets active border & button color |strokeWidth
| | number | 2 | Signature stroke thickness |clear
| | boolean | false | Shows a button to clear signature |download
| | boolean | false | Shows a button to download signature |width
| | number | 400 | Canvas width |height
| | number | 200 | Canvas height |
π See the full API reference β Docs
---
π Check out the interactive demo β react-esign-docs.vercel.app
---
MIT License. See LICENSE for details.
---
If you find react-esign` useful, give it a star on GitHub β and share it with fellow developers!
π Happy Coding!