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
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.