Cloudflare Workers

Ship lighter.
Ship faster.

Workers have a 3 MB limit. Every npm package eats into that budget. TinyFn gives you 500+ utilities with zero bundle impact—just API calls.

Bundle Size Impact

With npm packages ~415 KB
14% of limit
With TinyFn 0 KB
Bundle saved 415 KB

Complete Example

A production-ready form validation Worker with zero dependencies.

worker.js
~2 KB
const TINYFN = 'https://api.tinyfn.io/v1';

export default {
  async fetch(request, env) {
    const { email, password } = await request.json();

    // Validate email
    const emailCheck = await fetch(
      `${TINYFN}/validate/email?email=${encodeURIComponent(email)}`,
      { headers: { 'X-API-Key': env.TINYFN_API_KEY } }
    ).then(r => r.json());

    if (!emailCheck.is_valid) {
      return Response.json({ error: 'Invalid email' }, { status: 400 });
    }

    // Generate user ID
    const { uuid } = await fetch(`${TINYFN}/generate/uuid`, {
      headers: { 'X-API-Key': env.TINYFN_API_KEY }
    }).then(r => r.json());

    return Response.json({ id: uuid, email });
  }
};

Quick Start

Deploy your first TinyFn-powered Worker in under a minute.

1

Create Worker

npx wrangler init my-worker
cd my-worker
2

Add API Key

npx wrangler secret put \
  TINYFN_API_KEY
3

Deploy

npx wrangler deploy

Common Patterns

Copy-paste examples for everyday Worker tasks.

Webhook Verification

// Verify Stripe webhook signature
const { hash } = await fetch(
  `${TINYFN}/crypto/hmac-sha256?` +
  `text=${encodeURIComponent(payload)}&` +
  `key=${encodeURIComponent(secret)}`,
  { headers: { 'X-API-Key': API_KEY } }
).then(r => r.json());

const valid = hash === signature;

URL Slug Generation

// Generate URL-safe slug
const { slug } = await fetch(
  `${TINYFN}/string/slugify?` +
  `text=${encodeURIComponent(title)}`,
  { headers: { 'X-API-Key': API_KEY } }
).then(r => r.json());

const url = `/blog/${slug}`;

IP Range Check

// Check if IP is in CIDR range
const { in_range } = await fetch(
  `${TINYFN}/ip/in-cidr?` +
  `ip=${clientIP}&cidr=10.0.0.0/8`,
  { headers: { 'X-API-Key': API_KEY } }
).then(r => r.json());

if (in_range) { /* internal */ }

Cache Key Generation

// Generate deterministic cache key
const { hash } = await fetch(
  `${TINYFN}/hash/sha256?` +
  `text=${encodeURIComponent(data)}`,
  { headers: { 'X-API-Key': API_KEY } }
).then(r => r.json());

const cacheKey = `v1:${hash}`;

Popular Endpoints

Most-used utilities for Workers.

Why TinyFn for Workers?

Zero Bundle

Stay under the 3 MB limit. No packages to bundle or tree-shake.

Instant Starts

No JS parsing overhead. Workers start in milliseconds.

No CVEs

One trusted API vs dozens of npm packages to audit.

Global Edge

Our API runs on edge infra too. Low latency everywhere.

Start building lighter Workers

Get your free API key and ship your next Worker without the baggage.