Free tools that never see your files.
Shrink a photo, turn a HEIC into a JPG, mint a password, work out a time zone. Every one of them runs on your own device — nothing is ever uploaded.
Our most popular tools
All free, no catch, nothing uploaded.
HEIC, JPG, PNG, WebP, AVIF, RAW and 25 more. 264 pairs.
CompressPhotosSmaller file, keeping the quality that actually matters.
OptimizePhotosThe best quality per byte, tuned for each format.
ResizePhotosExact pixels, aspect ratio locked.
Encoder benchmarkPhotosCompare codecs head to head on your own machine.
Format supportPhotosWhat image formats THIS browser actually decodes — measured, not a compatibility table.
Word & character countTextWords, characters, graphemes, sentences, lines, and bytes — counted by the same rules every time.
Case converterTextOne text in, fourteen casings out — camel, snake, kebab, and more.
Markdown ⇄ HTMLTextRender Markdown to HTML, convert HTML back — with a DOMPurify-sandboxed preview.
Markdown tableTextCSV, TSV, or pipe text in — an aligned GFM table out, pipes escaped.
Unicode inspectorTextEvery code point with bytes, escapes, entities, and normalization forms.
Mojibake repairTextUndo UTF-8-read-as-windows-1252 garbling — verified by byte round-trip, never guessed.
SMS counterTextGSM-7 or UCS-2, parts, and characters left — the 3GPP TS 23.038 math.
Line operationsTextSort, dedupe, trim, filter, renumber — deterministic cleanup with a changelog.
Color converter & contrastColorHEX, RGB, HSL, and HSV from one color, plus the WCAG contrast ratio against another.
Unit converterConvertersLength, mass, temperature, data, and more — one value in, every unit out, reference conditions stated.
FractionsConvertersDecimals to fractions and back — exact rationals, mixed numbers, repeating decimals marked.
StatisticsConvertersMean, median, mode, variance, deviation, quartiles — paste numbers, get every measure.
Prime / GCD / LCMConvertersPrimality, factorization, next/previous prime, ranges, and multi-number GCD/LCM — exact BigInt.
Aspect ratio & DPIConvertersExact aspect ratios, resize targets that lock the ratio, PPI from real dimensions, print sizes.
Regex testerDeveloperTest a regular expression against your own text — the browser’s own engine, in a disposable worker.
Cron explainerDeveloperExplain a cron schedule in plain English and list its next fire times, dialect and timezone explicit.
Semver compareDeveloperSort versions, compare two, and match ranges — strict SemVer 2.0.0, coercion shown separately.
Glob testerDeveloperTest glob patterns against a list of paths — picomatch in a bounded worker, dialect explicit.
Base64EncodingEncode and decode, with a URL-safe alphabet option.
URL encoderEncodingPercent-encode components or whole URIs, and back.
Image ⇄ Base64EncodingImage files to data URLs and back — format read from bytes, dimensions decoded, nothing re-encoded.
Password generatorGenerateProperly random, with an honest strength meter.
Random token generatorGenerateAPI keys, hex secrets, nanoids, and sortable ULIDs — CSPRNG, entropy stated.
UUID generatorGenerateRFC 9562 UUIDs — v1, v3, v4, v5, v6 and v7.
Hash generatorCryptoSHA-2, SHA-3, Keccak, BLAKE and legacy checksums, for text or files.
Password strengthCryptoScore a password with zxcvbn — the guessing model, with matched patterns shown.
HMACCryptoKeyed MACs over text — SHA-1/256/384/512 through WebCrypto, keys as text/hex/base64.
bcryptCryptoHash with bcryptjs cost 4–15 in a disposable worker; verify against a pasted hash.
JSON formatterJSONPretty-print or minify, sort keys, and validate.
JSON ValidatorJSONCheck strict JSON or JSONC, then explore it as a tree.
JSON SortJSONSort object keys — top level or every level.
JSON String EscapeJSONEscape raw text into a JSON string body, and back.
JSON QueryJSONPull values out with JSON Pointer or a JSONPath subset.
JSON DiffJSONSemantic and text comparison of two documents, with an RFC 6902 patch export.
JSON ConverterJSONConvert JSON to and from YAML, TOML, CSV, XML, NDJSON, query strings, .env, MessagePack, CBOR, and BSON.
JSON to CodeJSONGenerate TypeScript, Go, Rust, and Zod from JSON.
JSON Schema ValidatorJSONValidate JSON against a JSON Schema — 2020-12, 2019-09, or draft-07 — with every rule stated up front.
JWT decoderWebInspect headers and claims; verify signatures with a local key.
TOTP generator & verifierWebRFC 6238 codes from an authenticator secret — plus code verification with clock-drift window.
PKCE pairWebGenerate an RFC 7636 verifier/challenge pair, or check a pair against each other.
Subresource integrityWebHash a script or stylesheet into an integrity= attribute — text or file.
Authorization headerWebParse an Authorization header — Basic decodes, Bearer shape-checks, Digest splits.
CSP evaluator & builderWebEvaluate a Content Security Policy with csp_evaluator — or build one, finding by finding.
SAML inspectorWebRead a SAML response — fields, attributes, conditions — and check its signature.
Certificate & CSRWebX.509 certificates and CSRs — subject, SANs, validity window, key facts.
JWK / JWKSWebInspect a JSON Web Key or JWKS — members, thumbprint, PEM form.
.env editorConfigInspect and format .env files — duplicates, exports, quoting rules named.
INI editorConfigParse INI — sections, dotted paths, boolean coercions, last-wins duplicates.
.properties editorConfigJava properties — dotted keys, escapes decoded, comments counted.
chmod calculatorConfigOctal ⇄ symbolic permission modes, special bits named for what they do.
CSV → SQLConfigPaste CSV, get INSERT statements — quoted per standard SQL, NULLs by your choice.
docker run → composeConfigTurn a docker run command into a compose service — unmapped flags listed, never dropped.
Browser reportBrowserEvery identity field your browser volunteers — read live in this tab, caveats included.
UA parserBrowserPaste any user-agent string, see the browser, engine, OS, and device it claims.
Capability dashboardBrowserWhich APIs this browser has — presence measured, permissions only queried, never asked.
Feature supportBrowserA dated web-platform snapshot checked live — where this browser agrees, leads, or lags.
Screen & viewportBrowserScreen, DPR, layout and visual viewports, orientation, preferences — live, fingerprinting labeled.
Deep probesBrowserFonts, codecs, WebGL/WebGPU, storage, permissions — the five probes that need real work.
Webcam testDeviceSee yourself, read the track's real settings, switch cameras — permission only on your click.
Microphone testDeviceA live level meter over the real stream — nothing recorded, permission only on your click.
Speaker testDeviceLeft, right, both — three synthesized tones; your ears do the checking.
Keyboard testDevicePress keys in the zone — see key, code, location, and modifiers exactly as the browser sees them.
Gamepad testDeviceButtons with real names under standard mapping, live axes, an explicit vibration pulse.
Dead pixel testDeviceFive solid colors, full screen — your eyes are the detector, and the page says so.
Refresh rateDeviceA four-second frame-timestamp sample — median-interval Hz with every caveat kept honest.
Screen recorderDeviceRecord your screen, a window, or a tab — permission on your click, every resource released on stop, output verified.
IPv4 subnet calculatorNetworkNetwork, broadcast, mask, wildcard, host counts — exact BigInt math on your CIDR.
IPv6 expand & compressNetworkExpand, compress, and canonicalize IPv6 — RFC 5952 rules applied and named.
IPv6 prefix calculatorNetworkFirst and last address, exact 2^n capacity, arpa prefix — for any /0–/128.
IP range classifierNetworkPrivate, reserved, or special-purpose — checked against a dated IANA registry snapshot.
IP number formsNetworkIPv4/IPv6 as integer, hex, and binary — exact both directions.
VLSM plannerNetworkAllocate unequal subnets from one base — every sizing decision visible as a step.
Subnet split & aggregateNetworkSplit a block into equal children, or merge siblings back — preconditions refused honestly.
MAC & EUI-64NetworkEvery MAC notation, the U/L and group bits named, the EUI-64 and its fe80:: derivation.
Port referenceNetworkA dated, curated IANA port snapshot — search numbers, names, and protocols.
Bandwidth calculatorNetworkTransfer time at a line rate — exact fractions, both unit bases, no fake efficiency.
Tokenizer playgroundAICount and inspect OpenAI tokens — o200k, cl100k, p50k, r50k, in a worker.
Context fitAIDoes your prompt fit? Exact OpenAI counts; labeled estimates for any other model.
API cost estimatorAIWhat a prompt costs to run — dated price data, exact arithmetic, tiers applied.
Fine-tune JSONL formatterAIValidate and format training files — target presets, per-line errors, loss ledger.
Chat export viewerAIRead a ChatGPT export or JSONL log — virtualized, local, nothing sent anywhere.
Chat template rendererAIRender a transcript to ChatML, Llama, Mistral, or Gemma format — with token counts.
Sunrise & sunsetSkyEvery twilight phase of one day — dawn to dusk, on the place's own clock.
Golden hourSkyGolden and blue hour windows — altitude-crossing boundaries, durations included.
Moon phaseSkyIllumination, named phase, moonrise and moonset, and the next new and full moons.
PDF inspectorFilesPage count, page sizes, metadata, and which pages carry text — read from structure, nothing rendered.
PDF page toolsFilesExtract, delete, or rotate pages by an explicit spec — output re-loaded and verified before download.
ZIP inspector & builderFilesList ZIP contents without inflating them — sizes, ratios, traversal flags — extract single entries or build a new archive.
Photo metadataFilesSee what a photo discloses — GPS, device, dates, software — then re-encode it clean, verified.
Font inspectorFilesRead TTF, OTF, and WOFF files — names, metrics, glyph count, tables, axes — with a sandboxed sample outline.
SVG sanitizerFilesDisclose what an SVG carries — scripts, handlers, external refs — then get a copy that cannot fetch or run anything.
Fake namesDataFake names from a locale’s own pools — first, last, and full — seeded so every list reproduces.
Fake addressesDataFake street, city, region, postcode, and country rows in the locale’s pattern — shapes for tests, never locations.
Fake phone numbersDataPhone numbers that match a locale’s pattern — for form tests, with no live/dead claim anywhere.
Fake peopleDataWhole fake people — name, username, example-domain email, phone, birthday, job, address — one seeded row.
Fake companiesDataInvented company names with catch phrase and buzz phrase — fixture businesses matching no registry.
Bulk test dataDataThousands of fake rows for tests — pick columns, lock a seed, export JSON, JSONL, or CSV.
QR generatorQRA scannable QR code for any link or text — PNG or SVG, in your browser.
Timestamp converterTimeUnix to ISO 8601 and back, with relative time.
Timezone converterTimeOne moment across every zone, laid out side by side.
Duration converterTimeMilliseconds up to weeks, with a human breakdown.
Availability sharerTimeShare free slots by link. No calendar connection.
Date mathTimeAdd durations to a date and diff two dates — wall-clock vs elapsed across DST, both stated.
Calendar converterTimeGregorian ⇄ Hijri, Hebrew, Persian, Chinese, and eleven more — your browser's ICU tables.
Time hubTimeEvery time utility in one place. No files needed.
Everyone says they delete your files. We never get them.
A promise to delete is something you have to take on trust. This isn't a promise — there's no upload step, so no copy of your photo exists on any machine but yours. Nothing to leak, nothing to subpoena, nothing to quietly train a model on.
See how it works- 1Pick the toolIt opens working. No account wall.
- 2Your device does the workWebAssembly codecs, on your own processor.
- 3Save it and goWorks with the wi-fi off, once loaded.
The website is free. Properly free.
No daily limit, no watermark, no “upgrade to download”. Pay only if you want the desktop app, and that isn't out yet.
The whole web toolbox, no strings attached.
- Every tool in the browser
- No account, no email address
- No cap on how much you convert
- Keeps working with the wi-fi off
The desktop app, for when a whole folder needs doing.
- Everything in Free
- A real app for Mac and Windows
- Works with no internet at all
- Do a whole folder in one go
- Cancel whenever you like
Exactly the same Pro, with two months on the house.
- Everything in Pro
- Two months free versus monthly
- One payment, then forget about it
- Cancel whenever you like
The questions everybody asks
So my photos really aren't uploaded?
Really. The converters run inside the page. Your file goes from disk into the browser's memory, through your own processor, and back out as a download. The only thing fetched over the network is the page itself.
Do I have to sign up?
No. Every tool works without an account, a quota, or an email address. There's nothing to verify and no newsletter waiting on the other side.
How big a file can it handle?
That depends on your computer, not on us — the work happens in your browser's memory. Batch jobs run one file at a time to stay comfortably inside it.
Will it open photos from my iPhone?
Yes — HEIC is handled, along with camera RAW from most DSLRs: CR2, NEF, ARW and DNG. Drop one in and choose what you want out the other side.
Does it work on a plane?
Once a tool page has loaded, yes. Everything it needs is already in the page, so you can cut the connection and carry on working.
What's the catch on “free”?
There isn't one on the website — your device does the computing, so it costs us almost nothing to run. The paid part is the desktop app, and it's still being built.