5,700+ e-signatures sent

Legally Binding Signatures.One API Call.

Ship e-signatures in 5 minutes. Not 5 meetings.

5,700+ signatures sent
5 free / month
Audit trail included
Open Source

@turbodocx/html-to-docx

Powering the internet's document generation infrastructure. Production-ready, battle-tested, MIT licensed.

170 stars
79K+/mo
26 forks
terminal
$npm install@turbodocx/html-to-docx
added 1 package in 2.1s
// HTML to a Document file in 3 lines
import HtmlToDocx from "@turbodocx/html-to-docx"
const html = "<h1>Hello world</h1>"
const docx = await HtmlToDocx(html)

API Products

Everything you need to automate documents

E-Signature API

Embed signing flows directly in your app. Legally binding with full audit trail.

  • Embedded signing experience
  • Template anchor tags
  • Audit trail & compliance
  • Multi-signer workflows

Document Generation

Generate DOCX, PDF, and PPTX from templates with JSON data.

  • DOCX, PDF, PPTX output
  • Template variables
  • Batch creation
  • Custom branding

Webhooks & Events

Real-time notifications when documents are generated, viewed, or signed.

  • Document lifecycle events
  • Signature status updates
  • Retry & dead-letter handling
  • Event filtering

SDKs for Every Stack

First-class support for your favorite language

Start Building in Minutes

Choose between our TypeScript SDK for the best developer experience, or use our REST API directly.

send-signature.ts
import { TurboSign } from '@turbodocx/sdk';

// Configure SDK with your credentials
TurboSign.configure({
  apiKey: process.env.TURBODOCX_API_KEY,
  orgId: process.env.TURBODOCX_ORG_ID,
});

// Send for signature using template anchor tags
const result = await TurboSign.sendSignature({
  fileLink: 'https://example.com/contract.pdf',
  documentName: 'Service Agreement',
  recipients: [
    { name: 'John Doe', email: 'john@acme.com', signingOrder: 1 }
  ],
  fields: [
    {
      type: 'signature',
      recipientEmail: 'john@acme.com',
      template: {
        anchor: '{SignHere}',
        placement: 'replace',
        size: { width: 200, height: 50 },
      },
    },
    {
      type: 'date',
      recipientEmail: 'john@acme.com',
      template: {
        anchor: '{DateHere}',
        placement: 'replace',
        size: { width: 150, height: 30 },
      },
    },
  ],
});

// Returns: { success: true, documentId: "...", message: "..." }
// Recipients automatically receive signing invitation via email

Need Python, Go, or other SDKs? Check out our full SDK documentation for all supported languages and frameworks.

Browse All SDKs

Need help integrating? Join our Discord community to get answers from our team and other developers.

Join Discord Community

Ready to Ship E-Signatures?

Get your API key and start sending signatures in minutes. 5 free signatures per month.