Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

kranthie/utils.live

Open more actions menu

Repository files navigation

utils.live

Free, open-source developer utilities that run entirely in your browser.

Live SiteReport BugRequest Feature

MIT License Next.js TypeScript Turborepo


700+ developer tools across 34 categories -- JSON formatters, encoders, converters, hash generators, regex testers, and more. Every tool runs client-side with zero server round-trips. Your data never leaves your device.

Features

  • 700+ tools across 34 categories (JSON, text, encoding, crypto, regex, color, datetime, and more)
  • Privacy-first -- all tools run entirely in your browser, no data leaves your device
  • Instant results -- zero latency, no loading spinners, no server round-trips
  • Open source -- MIT licensed, fully transparent, community-driven
  • Static site -- deployed on Cloudflare Pages for fast global delivery
  • Dark mode -- full light/dark theme support
  • Keyboard shortcuts -- Cmd/Ctrl+K search, Cmd/Ctrl+Enter to execute

Quick Start

Prerequisites

Setup

git clone https://github.com/kranthie/utils.live.git
cd utils.live
pnpm install
pnpm dev

The app will be available at http://localhost:4000.

Build

pnpm turbo build           # Static export to apps/web/out/
npx serve apps/web/out     # Preview locally

Architecture

Monorepo managed by Turborepo + pnpm workspaces:

utils.live/
├── apps/
│   └── web/                  # Next.js 16 static site
│       ├── app/              # App Router pages
│       ├── components/       # React components
│       └── public/           # Static assets + Cloudflare config
├── packages/
│   ├── tools/                # Core tool engine (pure functions)
│   │   ├── src/tools/        # Tool implementations by category
│   │   ├── src/core/         # Executor, registry, validation
│   │   └── tests/            # Unit tests (100% coverage enforced)
│   └── config/               # Shared ESLint/Prettier config

How Tools Work

Every tool is a stateless pure function defined via defineTool():

  • Schemas -- Zod-based input, output, and options validation
  • Execute -- a pure function that transforms input to output
  • Meta -- id, name, description, category, keywords, icon

All tools are client-tier only -- no server, no database, no API calls.

Tech Stack

Layer Technology
Framework Next.js 16 (App Router, static export)
Language TypeScript 5
Monorepo Turborepo + pnpm
Styling Tailwind CSS 4 + Radix UI
Editor Monaco Editor
Testing Vitest + Playwright
Hosting Cloudflare Pages

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

The fastest way to contribute is to add a new tool:

pnpm generate:tool -- --name my-tool --category json

This scaffolds the tool implementation and test file. See the contributing guide for details.

Scripts

pnpm dev                    # Start development server
pnpm turbo build            # Build all packages
pnpm turbo test             # Run all tests
pnpm turbo lint             # Lint all packages
pnpm turbo typecheck        # Type check all packages
pnpm format                 # Format with Prettier
pnpm generate:tool          # Scaffold a new tool

i18n — Translation Pipeline

UI strings live in apps/web/messages/en.json. To generate a translated locale file, run the AI translation script:

export ANTHROPIC_API_KEY=sk-ant-...   # Required: your Anthropic API key

pnpm translate -- --locale es         # Spanish
pnpm translate -- --locale fr         # French
pnpm translate -- --locale de         # German
pnpm translate -- --locale pt-BR      # Brazilian Portuguese

This reads messages/en.json, calls the Claude API, and writes messages/{locale}.json.

Notes:

  • ICU plural patterns ({count, plural, one {# result} other {# results}}) are preserved exactly — only surrounding text is translated.
  • Brand names and untranslatable terms are flagged with a [REVIEW] prefix in the output — search for [REVIEW] in the output file and verify those strings manually.
  • The script splits strings into batches of 80 to stay within model context limits.
  • Key names are never translated, only values.

License

This project is licensed under the MIT License.

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.