State-of-the-Art Client-Side PDF Signature Studio & Document Editor
SignCraft Studio is an open-source, modern web application for signing, annotating, and editing PDF documents entirely inside the user's web browser. Unlike traditional electronic signature platforms that upload sensitive files to remote servers, SignCraft Studio processes 100% of PDF rendering, signature generation, and embedding locally on the client device.
- Zero Server Uploads: Documents never leave your browser or get transmitted over the network.
- Local PDF Rendering: Powered by
pdfjs-distfor fast, high-fidelity PDF rendering. - Native PDF Modification: Uses
pdf-libto embed vector and raster signatures, text, and stamps directly into standard PDF binary structures.
- Handwritten Signature Pad: Draw smooth, responsive signatures using mouse, stylus, or touch screen.
- Cursive Script Signatures: Type your name and render instant signatures using curated script fonts (Dancing Script, Caveat, Great Vibes, Pacifico).
- Image Signatures: Upload existing transparent PNG or JPEG signature images.
- Text Annotations: Place custom text anywhere on document pages with adjustable font sizing, bolding, and colors.
- Date Stamps: Insert current date stamps with one click.
- Form Stamps: Stamp crisp vector checkmarks (☑) and cross/void badges (☒) onto checkboxes or contract clauses.
- Interactive Canvas: Select, drag, reposition, and resize placed elements interactively before finalizing.
- Multi-Page Support: Thumbnail drawer with interactive page navigation and page counter badge.
- Zoom & Viewport Control: Zoom in/out smoothly (with interactive zoom level readout).
- History Management: Full Undo / Redo support across all annotation actions.
- Instant Demo Mode: Preloaded sample contract (
Sample_Agreement_2026.pdf) for instant evaluation and testing.
| Feature | Traditional Cloud E-Sign Tools | SignCraft Studio |
|---|---|---|
| Privacy & Security | Files uploaded to third-party servers | 100% Local Browser Execution |
| Account Required | Mandatory signup / subscription | No account needed |
| Network Dependency | Requires active internet connection | Works offline once loaded |
| Data Retention | Cloud storage risks & data mining | Zero server footprint |
- Node.js (v18 or higher recommended)
- npm (v9+ or equivalent package manager)
-
Clone the repository:
git clone https://github.com/your-org/signandedit.git cd signandedit -
Install dependencies:
npm install
-
Start the development server:
npm run dev
Open your browser and navigate to
http://localhost:5173. -
Build for production:
npm run build
The production-ready static files will be output to the
dist/directory. You can preview the production build usingnpm run preview.
signandedit/
├── index.html # Main application layout, header, sidebars & workspace UI
├── package.json # Dependencies & Vite scripts
├── public/ # Static assets
└── src/
├── main.js # Application entry point & UI controller
├── editorState.js # Centralized state management & Undo/Redo history stack
├── pdfManager.js # PDF rendering (pdfjs-dist) & export engine (pdf-lib)
├── signaturePad.js # Signature creation modal (Draw, Type, Upload)
├── samplePdf.js # Built-in demo contract generator
└── style.css # Modern styling & responsive design system
- Upload or Try Sample PDF: Click Upload Any PDF in the top right to load your document, or explore the default loaded sample agreement.
- Choose a Tool:
- Click Add Signature (
Popular) to draw, type, or upload your signature. - Select Text Annotation (
T) to add custom text blocks. - Select Date Stamp (
D), Checkmark ☑, or Cross Badge ☒ to stamp standard form elements.
- Click Add Signature (
- Position & Adjust: Use the Select / Move (
V) tool to drag annotations to precise locations on the document. - Export Signed PDF: Click Export & Download Signed PDF to generate a standard, compliant PDF file with all signatures and annotations permanently embedded.
SignCraft Studio is open-source and welcomes contributions! Whether it's adding new PDF tools, improving accessibility, or optimizing mobile touch gestures:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open-source and available under the MIT License. Feel free to use, modify, and distribute it in your personal and commercial projects.