English · Español · Français · Deutsch · Português (Brasil) · 日本語 · 简体中文 · 繁體中文 · 한국어 · العربية
All 30 README languages
Everyday tools in your browser. Private by design.
Kit is a set of PDF, image, media, converter, and text tools that run on your device. Processing stays in the browser—nothing is uploaded to a Kit server.
Live site: https://trykit.pages.dev
A complete, polished toolkit: 94 tools, clear layout, light and dark appearance, a 30-language UI with a native picker, an installable PWA shell, and honest limits about what a browser can do.
The app interface and this GitHub README are available in 30 languages. Switch in Settings (or the header) with a native picker, or use the links at the top of this file. Translations live in docs/readme/. Included: English, Español, Français, Deutsch, Italiano, Português (Brasil / Portugal), Nederlands, Dansk, Svenska, Norsk Bokmål, Suomi, Polski, Čeština, Magyar, Română, Ελληνικά, Türkçe, Русский, Українська, العربية, עברית, हिन्दी, ไทย, Tiếng Việt, Bahasa Indonesia, 日本語, 한국어, 简体中文, and 繁體中文. Arabic and Hebrew use right-to-left layout. Privacy and Terms are localized where we have native legal text; other locales fall back to English. Old /zh/ app links still resolve to Simplified Chinese.
The home screen groups tools by job (PDF pages vs markup, developer inspect vs encode) instead of one flat dump. Converters cover units, currency, and aspect ratio. Everyday covers clocks, meeting overlap, percentages, loans, BMI, and a stopwatch & countdown.
- Merge, split, organize, page numbers
- Shrink as images, lock/unlock, metadata, flatten
- Watermark, visual cover, typed signature stamp
- Extract text, PDF → images ZIP, images → PDF
- Compress, resize, crop (drag handles), rotate/flip, favicon pack
- Adjust, filters, image watermark, palette
- Convert JPEG/PNG/WEBP, view/strip EXIF
- Convert, trim with waveform, speed/volume, extract audio, clip → GIF, normalize loudness, skip silence
(FFmpeg WASM; large files may be slow; limited codecs)
- JSON / YAML / TOML / SQL, CSV ↔ JSON, XML ↔ JSON
- JSON → TypeScript interfaces, JSON path / flatten
- Smart convert hub
- Markdown ↔ HTML, text diff, case convert, line sort/unique, slugify, Lorem ipsum
- JWT decode, Unix timestamp, cron explainer, number base
- Hash (SHA/MD5), regex, color, contrast
- Base64, URL, HTML entities
- UUID, IBAN/ISBN/EAN check, password generator, QR generate/read
- Tools process data on your device
- History stores metadata only (not file contents)
- Preferences stay in local storage
- How Kit works · Privacy Policy · Terms of Use
Requirements: Node.js 24+ (see .nvmrc).
git clone https://github.com/TGthms/kit.git
cd kit
npm install
npm run devOpen http://localhost:3000 — default locale redirects to /en/.
npm run build # static export → out/
npm run typecheck
npm run lintFor GitHub project pages, build with:
NEXT_PUBLIC_BASE_PATH=/kit npm run buildLocal default uses no base path (NEXT_PUBLIC_BASE_PATH empty).
- Push this repo to https://github.com/TGthms/kit
- GitHub → Settings → Pages → Source: GitHub Actions
- The workflow
.github/workflows/deploy.ymlbuilds withNEXT_PUBLIC_BASE_PATH=/kitand deploys theout/folder
NEXT_PUBLIC_BASE_PATH=/kit npm run build
# Upload contents of out/ to your Pages target, or use actions/upload-pages-artifactGitHub Pages URL: https://TGthms.github.io/kit/
Canonical live site: https://trykit.pages.dev
Cloudflare Pages clones this repo and runs npm run build (the gitignored local out/ is not uploaded). After the export, postbuild removes Next.js __next.*.txt segment files so the deploy stays under the Free 20,000-file cap; HTML and index.txt stay for first load and in-app navigation.
Next.js 16 (App Router, static export) · TypeScript · Tailwind CSS · shadcn-style UI · Zustand · next-intl · @cantoo/pdf-lib / PDF.js · Canvas · FFmpeg WASM · PWA service worker
Kit’s own source is MIT. Audio and video tools also load an FFmpeg WebAssembly engine (@ffmpeg/core) licensed GPL-2.0-or-later (H.264 / LAME and related codecs). That engine is served from this site and runs in your browser; media is not uploaded to a Kit server. pdf.js and other libraries keep their own Apache, BSD, or MIT licenses.