Developer docs
Typed, framework-agnostic utility functions extracted from Open Utility Tools. Use the same core logic in web apps, Workers, CLIs, tests, and automation.
The package is public on npm and ships ESM plus generated TypeScript declarations.
npm install @open-utility-tools/corePrefer per-tool subpaths for the smallest import surface. Category and root namespace imports are available when they fit your app better.
Per-tool and category imports
import { addBusinessDays } from '@open-utility-tools/core/time/add-business-days';
import { convert } from '@open-utility-tools/core/image/convert';
import { tool as jsonFormatterTool } from '@open-utility-tools/core/tools/data/json-formatter';
import { parseColor } from '@open-utility-tools/core/color';
const due = addBusinessDays('2026-06-01', 10).date;
const webp = await convert(sourceBytes, {
format: 'webp',
quality: 82,
maxWidth: 1200,
});
console.log(jsonFormatterTool.webPath);Root namespace imports
import { text, math, color } from '@open-utility-tools/core';
const slug = text.cases.kebab('Open Utility Tools');
const total = math.evaluateExpression('2 * (12 + 8)');
const contrast = color.contrastRatio('#111827', '#ffffff');The core package has no React or DOM dependency. Browser APIs are used only where they are part of the runtime contract.
Pure TypeScript
Text, math, color, data, time, web, generators, and crypto helpers are plain ESM modules.
WebCrypto
Crypto and secure generator APIs expect globalThis.crypto, which is available in modern browsers, Node 20+, and Bun.
WASM image tools
Image conversion and probing use the bundled imaging WASM package and return Uint8Array values.
Every exported path includes matching .d.ts files. All browser tools have catalog subpaths; extracted tools also expose direct compute APIs.
@open-utility-tools/coreNamespace exports for extracted utility groups plus the full tool catalog.
@open-utility-tools/core/toolsTyped catalog entries for every browser tool, searchable by id, slug, or category/slug path.
@open-utility-tools/core/tools/*/*Per-tool catalog imports such as tools/data/json-formatter and tools/text/case-converter.
@open-utility-tools/core/textCase conversion, line tools, diff helpers, markdown, and morse utilities.
@open-utility-tools/core/mathSafe expression evaluation, numbers, statistics, roman numerals, and units.
@open-utility-tools/core/colorColor conversion, luminance, and WCAG contrast helpers.
@open-utility-tools/core/dataCSV, JSON, YAML, and TypeScript-shape conversion helpers.
@open-utility-tools/core/timeLegacy cron helpers plus namespaced access to extracted time tools.
@open-utility-tools/core/time/*Per-tool time imports such as add-business-days, cron-parser, and week-number.
@open-utility-tools/core/imageWASM-backed raster image convert and probe APIs.
@open-utility-tools/core/image/convertSingle-tool image conversion import with types.
@open-utility-tools/core/image/probeSingle-tool image metadata probing import with types.
@open-utility-tools/core/webHTTP status and MIME reference data.
@open-utility-tools/core/generatorsUUID, ULID, nanoid, passwords, fake data, lorem ipsum, and gitignore templates.
@open-utility-tools/core/cryptoWebCrypto-backed JWT, HOTP, base32, and base64url helpers.
Package versions are produced with Changesets and published from GitHub Releases through npm trusted publishing.
Looking for the tools UI?
The package ships extracted utility logic plus typed entries for every browser tool.