A privacy-first collection of browser-based web utilities, developer tools, and productivity helpers built with Next.js App Router, React, shadcn-style components, Tailwind CSS, and static export.
Live at: lazytools.dev
A privacy-first static web app and native desktop application for everyday browser-side and offline workflows: converting files, processing PDFs, compressing images, formatting code and data, generating values, editing text, calculating metrics, and managing general utilities — without sending user content to a server. All tool interactions run completely locally (in the browser or native desktop webview); the site is generated at build time.
- Client-side tool execution
- Static export with
next build - Search, category filtering, favorites, recent tools, compact mode, full width mode, dark mode
- Command palette with keyboard navigation
- PWA install support
- Native desktop wrapper support (Tauri v2) for Windows, macOS, and Linux
- Responsive layout for desktop and mobile
- Converters: 11 tools
- Encoders & Decoders: 10 tools
- Generators: 9 tools
- Formatters & Validators: 5 tools
- Text Tools: 11 tools
- Utilities: 9 tools
- Security: 8 tools
- Networking: 6 tools
- Design: 6 tools
- PDF Tools: 4 tools
- Image Tools: 5 tools
- Calculators: 11 tools
Counts are the tools listed on the home page under each tag (80 in total); a tool can carry more than one tag. The two PDF pages bundle nine PDF tools as tabs, and the image converter includes resize, crop, compress and icon export.
See ROADMAP.md for planned work and expansion backlog.
- Framework: Next.js 16 App Router
- UI: React 19
- Styling: Tailwind CSS v4
- Component patterns: shadcn/ui
- Icons: Lucide React
- Static hosting: Cloudflare Pages via
out/ - Desktop wrapper: Tauri v2 (Rust-based native window wrapper)
- Node.js 20+
- npm
git clone https://github.com/bberka/lazytools.dev
cd lazytools.dev
npm installnpm run devApp available at http://localhost:3000.
npm run buildStatic export written to out/.
Requires the Rust toolchain installed.
npm run desktop:devnpm run desktop:buildNative installers will be written to src-tauri/target/release/bundle/.
src/
app/
layout.tsx
page.tsx
not-found.tsx
robots.ts
sitemap.ts
tools/[slug]/page.tsx
components/
tools/
ui/
hooks/
lib/
catalog/
tags/
preferences/
contexts/
home/
commands/
files/
pdf/
markdown/
export/
tools/
utils/
types.ts
styles/
globals.css
src-tauri/ # Tauri native desktop wrapper code and configurations
scripts/
sync-version.js # Syncs version to configurations during CI releases
public/
out/ # generated by next build
- Build command:
npm run build - Output directory:
out wrangler.jsonpoints to./outfor Wrangler-based static asset publishing
This project is licensed under the MIT License. See LICENSE.