English | 中文
PureTools is a lightweight, privacy-first, pure-frontend toolkit for developers. Core processing happens locally in the browser with no application backend; individual tools may read clearly identified public reference data.
- Pure frontend, no backend required
- Privacy-first: data never leaves your device
- Dark/light mode with system sync
- Four navigation groups with a compact, scrollable Tools menu and global
/search
- UUID Generator (RFC 4122 v4): generate, validate, history, copy
- Random String Generator: email-prefix-friendly presets, batch generation, copy, history
- JSON Formatter: format, minify, validate, escape/unescape, syntax highlight, line numbers, copy
- SQL Formatter: format/minify, basic validation (strings/parentheses), line numbers, copy
- Markdown Previewer: local CommonMark or Enhanced preview with GFM, math, Mermaid, and safe static HTML
- Local Translator: private on-device translation with language detection and model download progress
- Regex Tool: validate, test, highlight matches, generator templates
- CRON Tool: 5-field CRON validator and generator
- Base64 Tool: encode/decode, URL-safe mode
- URL Encoder: encode/decode (component/full URL)
- QR Code Generator: generate and download QR codes from exact plain-text input
- JWT Decoder: header/payload decode, time claim insights
- Hash Calculator & Verifier: MD5 and SHA-1/256/384/512 for exact UTF-8 text and local files, checksum comparison, chunked progress and cancellation
- Timestamp Tool: timestamp <-> local datetime, seconds/milliseconds, local + UTC outputs, copy
- Time Zone Converter & World Clock: IANA regions, fixed PST/PDT offsets, explicit DST overlap/gap handling, live city clocks with saved preferences
- GitHub CDN: convert GitHub/raw links to raw + jsDelivr URLs, copy
- Reference exchange rates: read public reference rates while keeping amounts, conversion, and caching local
- SvelteKit (Svelte 5 Runes) + Vite
- TypeScript (strict)
- Tailwind CSS v4
- Biome (lint/format)
- Cloudflare adapter (deployment target)
- Install dependencies:
bun install- Start the dev server:
bun run devbun run dev: start dev serverbun run build: build for productionbun run preview: preview production buildbun run test: run unit and browser end-to-end testsbun run test:unit: run Bun unit testsbun run test:e2e: run Playwright browser testsbun run test:exchange-rate:live: verify the live rate API, CORS policy, and response contractbun run check: type-check and syncbun run lint: lint + type-checkbun run lint:fix: auto-fix lint issuesbun run format: format codebun run cf:dev: run Wrangler local devbun run cf:deploy: deploy to Cloudflare Workers
- Core processing runs locally in the browser and user input is not uploaded; the exchange-rate tool only downloads a public rate table.
/hashkeeps SHA-256 as the default. Nonempty text is calculated after a 250 ms debounce; use Calculate for empty text or a selected/dropped single file. Expected checksums accept outer whitespace and either hex case; editing them only compares the existing result.- Hashing never uploads or persists text, files or expected checksums. SHA text uses Web Crypto
(HTTPS or localhost); MD5 text and all file algorithms use locally bundled, lazy-loaded
hash-wasm4.12.0 (MIT license, zero runtime dependencies). Files are read as raw bytes in sequential 4 MiB slices in a dedicated Web Worker; cancel, source changes and navigation terminate it. Browsers must support Workers, Blob slice/arrayBuffer and WebAssembly for files; unsupported environments show an error. There is no whole-file fallback or unlimited file-size guarantee: browser/device resources and processing time still apply. Input data stays in page memory only. - Matching hashes do not establish a trusted source. MD5 has collision weaknesses and is unsuitable for password storage, security signatures or protection against malicious tampering. Prefer SHA-256.
- Local Translator requires desktop Chrome 138 or later. Translation models are downloaded and managed by Chrome on demand.
- Playwright uses the bundled Chromium binary on Linux x64. Linux arm64/other architectures, macOS, and Windows use Playwright's native browser installation; run
bunx playwright install chromiumonce beforebun run test:e2eon those platforms.
This project is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See the LICENSE file for details.
