# offlineutils.com > Private, offline developer & creator tools that never touch a server. A privacy-first suite of 100% local-browser tools for developers and creators — format JSON, decode JWTs, convert data, edit images, and merge, split & secure PDFs — without uploading a single byte. Free, no cookies. - Every tool runs entirely in the user's browser. Nothing entered into a tool is uploaded, logged or stored. - The only measurement is anonymous, cookie-less page views (Vercel Web Analytics): no IP stored, no fingerprinting, aggregate only. - Markdown versions: append `.md` to any tool, blog post or glossary URL. Requests to `/blog/…` and `/glossary/…` that send `Accept: text/markdown` get markdown too. The links below point at those versions. - When citing, use the canonical URL — the same path without `.md`. Each markdown document states it on its second line. - Tools that implement a published standard are tested against that standard's own test vectors; see the How we test page for sources. - Content last updated: 2026-10-8. ## Site - [Home](https://offlineutils.com): Every tool, grouped by category, with the privacy guarantees. - [About](https://offlineutils.com/about): What offlineutils.com is and why it runs entirely in the browser. - [How we test](https://offlineutils.com/how-we-test): What each tool is tested against, which published sources the expected values come from, and what is not tested. - [Blog](https://offlineutils.com/blog): Long-form posts, several built on original measurements. - [Glossary](https://offlineutils.com/glossary): Plain-English definitions of the concepts the tools touch. - [Privacy](https://offlineutils.com/privacy): Tool input never leaves the browser; only anonymous page views are counted. - [Terms](https://offlineutils.com/terms): The tools are free and offered as-is. ## Developer - [Developer — all tools](https://offlineutils.com/category/developer): Format, decode, parse and inspect data with zero uploads. - [JSON Formatter](https://offlineutils.com/json-formatter.md): Format, validate and minify JSON entirely in your browser. - [Base64 Encoder / Decoder](https://offlineutils.com/base64.md): Encode text to Base64 and decode it back, all offline. - [Base32 Encoder / Decoder](https://offlineutils.com/base32.md): Encode and decode Base32 — RFC 4648, extended hex, Crockford and z-base-32. - [Base58 Encoder / Decoder](https://offlineutils.com/base58.md): Encode, decode and checksum-verify Base58 and Base58Check. - [Base85 Encoder / Decoder](https://offlineutils.com/base85.md): Ascii85 and Z85 encoding — denser than Base64, with strict validation. - [Punycode / IDN Converter](https://offlineutils.com/punycode-converter.md): Convert between Unicode domain names and xn-- Punycode, with full UTS #46 and homograph checks. - [Quoted-Printable Encoder / Decoder](https://offlineutils.com/quoted-printable.md): Encode and decode Quoted-Printable, including =?UTF-8?Q?= email headers, with the rules most tools skip. - [URL Encoder / Decoder](https://offlineutils.com/url-encoder.md): Percent-encode and decode URL components instantly. - [URL Parser](https://offlineutils.com/url-parser.md): Break any URL into its protocol, host, path and query parameters. - [JWT Decoder](https://offlineutils.com/jwt-decoder.md): Decode and inspect JSON Web Token claims without sending them anywhere. - [Regex Tester](https://offlineutils.com/regex-tester.md): Test JavaScript regular expressions with live match highlighting. - [UUID Generator](https://offlineutils.com/uuid-generator.md): Generate cryptographically random UUIDs (v4) in bulk. - [ULID Generator](https://offlineutils.com/ulid-generator.md): Generate time-ordered, URL-safe ULIDs in bulk. - [Hash Generator](https://offlineutils.com/hash-generator.md): Compute SHA-256, SHA-1, SHA-512 and MD5 hashes in the browser. - [Timestamp Converter](https://offlineutils.com/timestamp-converter.md): Convert Unix time in any unit — seconds to nanoseconds — with exact precision. - [Subnet Calculator](https://offlineutils.com/subnet-calculator.md): CIDR and subnet maths for IPv4 and IPv6 — split, plan VLSM, summarise. - [Cron Expression Explainer](https://offlineutils.com/cron-expression.md): Translate cron expressions into plain English and preview the next runs. - [CSS Flexbox & Grid Playground](https://offlineutils.com/css-playground.md): Visually compose Flexbox and Grid layouts and copy the CSS. - [Number Base Converter](https://offlineutils.com/number-base-converter.md): Convert numbers between binary, octal, decimal, hex and any base. - [SQL Formatter](https://offlineutils.com/sql-formatter.md): Beautify and standardize SQL queries for 7 dialects, in your browser. - [HTML Formatter](https://offlineutils.com/html-formatter.md): Beautify minified HTML with Prettier, including inline CSS and JS. - [CSS Formatter](https://offlineutils.com/css-formatter.md): Beautify minified CSS, SCSS and Less with Prettier, in your browser. - [JavaScript Formatter](https://offlineutils.com/javascript-formatter.md): Beautify minified JS, JSX, TypeScript and TSX with Prettier. - [HTML Entity Encoder / Decoder](https://offlineutils.com/html-entity-encoder.md): Encode text to HTML entities and decode them back. ## Text & Content - [Text & Content — all tools](https://offlineutils.com/category/text): Count, transform, compare, deduplicate and preview text. - [Word & Character Counter](https://offlineutils.com/word-counter.md): Count words, characters, sentences and estimate reading time. - [Password Generator](https://offlineutils.com/password-generator.md): Generate strong, cryptographically random passwords offline. - [Lorem Ipsum Generator](https://offlineutils.com/lorem-ipsum.md): Generate placeholder Lorem Ipsum text in seconds. - [Text Diff](https://offlineutils.com/text-diff.md): Compare two pieces of text and highlight what changed. - [Case Converter](https://offlineutils.com/case-converter.md): Convert between camelCase, snake_case, kebab-case, PascalCase and more. - [List Deduplicator & Sorter](https://offlineutils.com/list-deduplicator.md): Clean a list — strip duplicates, sort, trim and reformat. - [Social Media Post Previewer](https://offlineutils.com/social-preview.md): See exactly where your post gets truncated on X, LinkedIn, Bluesky and YouTube. - [Markdown to HTML](https://offlineutils.com/markdown-to-html.md): Convert Markdown to HTML (and HTML back to Markdown), with live preview. - [URL Slug Generator](https://offlineutils.com/url-slug-generator.md): Turn any title into a clean, URL-safe slug. - [Text Repeater](https://offlineutils.com/text-repeater.md): Repeat text any number of times with a chosen separator. - [Remove Line Breaks](https://offlineutils.com/remove-line-breaks.md): Strip or collapse line breaks and extra whitespace from text. ## Data - [Data — all tools](https://offlineutils.com/category/data): Convert between CSV, JSON and human-readable tables. - [CSV ↔ JSON Converter](https://offlineutils.com/csv-json.md): Convert between CSV and JSON without uploading the file anywhere. - [JSON to Table Viewer](https://offlineutils.com/json-to-table.md): Render any JSON payload as a sortable, searchable HTML table. - [YAML to JSON](https://offlineutils.com/yaml-to-json.md): Convert YAML to JSON and JSON to YAML, offline in your browser. ## Media & Design - [Media & Design — all tools](https://offlineutils.com/category/media): Resize, convert, strip metadata, scan QR — all in-browser. - [QR Code Generator & Scanner](https://offlineutils.com/qr-code.md): Generate QR codes from any text, or scan one with your webcam. - [Image Resizer & Cropper](https://offlineutils.com/image-resizer.md): Resize, crop and compress images on your device, never uploaded. - [SVG to PNG Converter](https://offlineutils.com/svg-to-png.md): Convert SVG markup or files to crisp PNG at any resolution. - [Image Format Converter](https://offlineutils.com/image-converter.md): Convert PNG, JPEG and WebP — bulk, in your browser. - [EXIF Metadata Stripper](https://offlineutils.com/exif-stripper.md): Remove GPS, camera and timestamp metadata from photos before sharing. - [Image Compressor](https://offlineutils.com/image-compressor.md): Shrink JPEG/WebP images to a target size, in your browser. - [Image to Base64](https://offlineutils.com/image-to-base64.md): Encode an image as a Base64 data URI (and decode back), in your browser. - [Favicon Generator](https://offlineutils.com/favicon-generator.md): Turn any image into a full favicon set and .ico, in your browser. ## Color - [Color — all tools](https://offlineutils.com/category/color): Convert, mix, shade and build palettes — OKLCH-aware, copy-ready CSS. - [Color Converter](https://offlineutils.com/color-converter.md): Convert colors between HEX, RGB, HSL, and OKLCH. - [Color Mixer](https://offlineutils.com/color-mixer.md): Blend two colors and get the intermediate steps as CSS. - [Color Shades Generator](https://offlineutils.com/color-shades-generator.md): Generate tints and shades of any color as an even OKLCH ramp. - [Color Palette Generator](https://offlineutils.com/color-palette-generator.md): Build harmonious color palettes from one base color — no AI. - [Color Contrast Checker](https://offlineutils.com/color-contrast-checker.md): Check WCAG contrast between two colors with AA/AAA pass-fail. - [Image Color Picker](https://offlineutils.com/image-color-picker.md): Pick any pixel's color from an image and extract its palette. ## CSS - [CSS — all tools](https://offlineutils.com/category/css): Visual CSS generators — gradients, shadows, radius, glass — copy-ready. - [CSS Gradient Generator](https://offlineutils.com/css-gradient-generator.md): Design linear, radial & conic gradients and copy the CSS. - [Box Shadow Generator](https://offlineutils.com/box-shadow-generator.md): Dial in a CSS box-shadow visually and copy the code. - [Border Radius Generator](https://offlineutils.com/border-radius-generator.md): Round each corner independently and copy the border-radius CSS. - [Glassmorphism Generator](https://offlineutils.com/glassmorphism-generator.md): Create frosted-glass CSS with backdrop-blur and copy it. - [Cubic Bezier Generator](https://offlineutils.com/cubic-bezier-generator.md): Craft CSS easing curves by dragging control points, with live preview. - [Clip Path Generator](https://offlineutils.com/clip-path-generator.md): Draw CSS clip-path shapes with draggable points and copy the code. - [PX to REM Converter](https://offlineutils.com/px-to-rem-converter.md): Convert px to rem (and back) at any root font size, with a table. - [CSS Background Pattern Generator](https://offlineutils.com/background-pattern-generator.md): Build repeating CSS background patterns from pure gradients. - [CSS Triangle Generator](https://offlineutils.com/css-triangle-generator.md): Generate CSS triangles and corner shapes with the border trick. - [CSS Loader Generator](https://offlineutils.com/css-loader-generator.md): Create single-element CSS spinners and loaders with keyframes. - [Aspect Ratio Calculator](https://offlineutils.com/aspect-ratio-calculator.md): Scale dimensions to a ratio, or reduce dimensions to a ratio. ## PDF - [PDF — all tools](https://offlineutils.com/category/pdf): Merge, split, organize, convert and secure PDFs — all in-browser. - [Merge PDF](https://offlineutils.com/pdf-merge.md): Combine multiple PDFs into one — reorder by drag, all in your browser. - [Split PDF](https://offlineutils.com/pdf-split.md): Extract page ranges or burst a PDF into single pages — in your browser. - [Organize PDF Pages](https://offlineutils.com/pdf-organize.md): Reorder, rotate and delete PDF pages visually, then export — in-browser. - [Images to PDF](https://offlineutils.com/images-to-pdf.md): Combine JPG and PNG images into a single PDF — in your browser. - [PDF to Images](https://offlineutils.com/pdf-to-images.md): Render each PDF page to a PNG or JPEG — in your browser. - [Extract Text from PDF](https://offlineutils.com/pdf-extract-text.md): Pull the selectable text out of a PDF — in your browser. - [PDF Password](https://offlineutils.com/pdf-password.md): Add or remove a PDF password (AES) — entirely in your browser. ## Blog - [Nanosecond timestamps don't survive JSON.parse — 99.6% come back changed](https://offlineutils.com/blog/nanosecond-timestamps-json-parse.md): JavaScript reads every JSON number as an IEEE 754 double, and a nanosecond timestamp is too big for one: today, neighbouring doubles are 256 ns apart. We parsed a million random 2026 timestamps and 996,049 came back changed — by up to 128 ns, with no error. Here is why, which parsers are affected, and four ways to keep every digit. - [Most punycode converters disagree with your browser. We measured it.](https://offlineutils.com/blog/punycode-converters-disagree-with-browsers.md): Punycode is only the last step of turning a Unicode domain into an xn-- label, and tools that stop there return a different domain than your address bar does. We tested a bare RFC 3492 implementation against the browser's own IDNA on seventeen realistic names: six came back wrong. Then we measured our own against ICU across 1,112,042 code points. - [IDN homograph attacks: how a domain can look exactly like another](https://offlineutils.com/blog/idn-homograph-attacks.md): A homograph attack registers a domain that renders identically to a real one by swapping in letters from another script — Cyrillic а for Latin a. In 2017 an all-Cyrillic xn--80ak6aa92e.com displayed as apple.com in Chrome, Firefox and Opera. Here is how the attack works, why browsers sometimes show you xn-- instead, and the defences that actually hold. - [Base64 vs Base32 vs Base58 vs Base85: which encoding, and why](https://offlineutils.com/blog/base64-vs-base32-vs-base58-vs-base85.md): Every binary-to-text encoding is a trade between size and the places the output has to survive. We ran the same 3,000 bytes through each: Base85 came out 25% larger, Base64 33%, Base58 37% and Base32 60%. Here is what each one buys you for that cost, the gotcha in each, and a decision guide for picking one. - [Which AI coding tools train on your code? A 2026 privacy guide](https://offlineutils.com/blog/private-ai-coding-tools-data-guide.md): Whether an AI coding assistant trains on your code or keeps it private usually comes down to one thing: your subscription tier, not the tool. Here's a current, tier-by-tier breakdown of what GitHub Copilot, Cursor, Claude Code, ChatGPT and Gemini actually do with the code you send them — how to lock each one down, and when the only real guarantee is a local model. - [Vibe coding safely: shipping an AI-built app without leaking secrets or bugs](https://offlineutils.com/blog/vibe-coding-safely.md): Vibe coding — describing what you want and letting an AI write most of the code — is a genuinely fast way to build. It is also a fast way to leak API keys, install a hallucinated package, and ship an app you do not understand well enough to secure. Here is a practical threat model and a safe workflow that keeps the speed without the accidents. - [AI vs automation: when an LLM wins and when a script wins](https://offlineutils.com/blog/ai-vs-automation-developer-tasks.md): The useful question is not whether AI or traditional automation is better — it is which one fits the shape of the task. This is a decision framework built on the five properties that actually decide it: how deterministic the job is, how structured the input is, the volume, the auditability, and the privacy exposure. - [Should you build your own developer tools? Build vs. use vs. generate](https://offlineutils.com/blog/build-your-own-dev-tools-or-not.md): The urge to build your own version of a tool is strong — and sometimes right, often a trap. There are three options, not two: use an existing tool, build one, or have AI generate one. Here is a decision framework, the real total cost of building, and the short list of things you should almost never build yourself. - [Is offlineutils.com safe? An honest, verifiable answer](https://offlineutils.com/blog/is-offlineutils-safe.md): Yes — offlineutils.com is safe to use. Every tool runs entirely inside your browser, so the files and text you work with are never uploaded to a server, and there are no accounts, no cookies, and no tracking scripts. Here's exactly why it's safe, what data is and isn't collected, and how to verify every claim yourself in under a minute. - [Smallpdf and iLovePDF alternatives that never upload your files](https://offlineutils.com/blog/smallpdf-and-ilovepdf-alternatives.md): Smallpdf and iLovePDF are reputable, but both work by uploading your document to their servers, processing it there, and deleting it afterwards. If you'd rather your file never leave your device at all, the strongest alternative is a set of in-browser PDF tools that do the work locally. Here's an honest comparison of when each approach wins. - [TinyPNG alternatives: shrink images in your browser without uploading](https://offlineutils.com/blog/tinypng-alternatives.md): TinyPNG's compression is genuinely excellent — but it uploads your image to its servers to do the work. If your image is sensitive, or you just don't want the upload, client-side tools like Squoosh and the image tools on offlineutils.com resize, convert, and strip metadata entirely in your browser. Here's an honest comparison. - [CyberChef alternatives: focused in-browser tools for everyday encoding](https://offlineutils.com/blog/cyberchef-alternatives.md): CyberChef is a powerful, fully client-side Swiss Army knife — but for a single common task like decoding Base64 or inspecting a JWT, its 300-operation recipe interface is overkill. Here's an honest look at focused, single-purpose alternatives that are just as private and faster for the everyday jobs, plus when CyberChef is still the right tool. - [Why offline-first developer tools matter in 2026](https://offlineutils.com/blog/why-offline-first-developer-tools-matter.md): Paste-and-upload developer tools have a long history of accidental leaks. Browser-only utilities sidestep the entire category of risk by computing locally — here's the case for offline-first, the actual incidents that motivate it, and how to verify a tool is what it claims to be. - [We added analytics — here's exactly what we can and can't see](https://offlineutils.com/blog/we-added-analytics-heres-what-we-can-see.md): I turned on Vercel Web Analytics to learn whether anyone actually uses these tools. It's cookie-less, stores no IP address, and can't identify you — and the data you paste into a tool still never leaves your browser. Here's exactly what it can and can't see, and how to verify all of it yourself. - [JSON formatter vs jq vs your editor: when to reach for which](https://offlineutils.com/blog/json-formatter-vs-jq-vs-editor.md): Three tools cover almost every JSON task developers face — a browser-tab formatter, jq in the terminal, and the editor's built-in formatter. They overlap, but each one is meaningfully better for a specific kind of job. Here's how to pick. ## Glossary - [Base64](https://offlineutils.com/glossary/base64.md): Base64 is a way of encoding arbitrary binary data as a string of 64 ASCII characters (A–Z, a–z, 0–9, '+', '/') so it can travel through systems that only handle plain text — like email, URLs, JSON, or HTML data URIs. - [JSON Web Token](https://offlineutils.com/glossary/jwt.md): A JSON Web Token (JWT) is a compact, URL-safe credential made of three Base64URL-encoded segments — header, payload, and signature — that an API issues so a client can prove who it is on subsequent requests without re-authenticating each time. - [UUID](https://offlineutils.com/glossary/uuid.md): A UUID (Universally Unique Identifier) is a 128-bit value, usually written as 32 hex digits in the canonical 8-4-4-4-12 grouping (e.g. '550e8400-e29b-41d4-a716-446655440000'), used as a globally unique ID that any computer can generate without coordination. - [ULID](https://offlineutils.com/glossary/ulid.md): A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit identifier encoded as 26 Crockford base32 characters that is sorted by time when generated, making it a drop-in replacement for UUID v4 with much better database insert performance. - [Regular Expression](https://offlineutils.com/glossary/regex.md): A regular expression (regex) is a small pattern language for describing the shape of strings — used to validate input, search inside text, extract data, and substitute matches across virtually every modern programming language. - [Cryptographic Hash](https://offlineutils.com/glossary/hash.md): A cryptographic hash function takes any input and produces a fixed-length pseudo-random output (the 'digest') that uniquely identifies the input — and is computationally infeasible to reverse, making hashes the foundation of integrity checks, content addressing, and password storage. - [Cron Expression](https://offlineutils.com/glossary/cron.md): A cron expression is a five-field string (or six fields with the Quartz seconds extension) that describes a recurring schedule — used by Unix cron, Kubernetes CronJobs, GitHub Actions schedules, and most modern job runners to say things like 'every 15 minutes' or 'every weekday at 9am'. - [JSON](https://offlineutils.com/glossary/json.md): JSON (JavaScript Object Notation) is a lightweight text format for structured data — built from objects, arrays, strings, numbers, booleans, and null — that's become the lingua franca of web APIs, configuration files, and data interchange between services. - [OKLCH](https://offlineutils.com/glossary/oklch.md): OKLCH is a perceptually uniform color space — built on the OKLab perceptual model — that lets designers reason about colors using lightness, chroma, and hue values where equal numeric changes correspond to equal perceived changes. Modern CSS exposes it via the oklch() color function. - [EXIF](https://offlineutils.com/glossary/exif.md): EXIF (Exchangeable Image File Format) is the metadata standard cameras and phones embed inside JPEG photos — including GPS coordinates, camera model, capture timestamp, and shutter settings — which is why a holiday photo can quietly leak the exact street address it was taken at. - [PDF](https://offlineutils.com/glossary/pdf.md): PDF (Portable Document Format) is a page-description file format that locks the exact layout, fonts, and graphics of a document so it renders identically on any device — which is why contracts, invoices, bank statements, and forms are almost always shared as PDFs. - [OCR](https://offlineutils.com/glossary/ocr.md): OCR (Optical Character Recognition) is the process of turning images of text — a scanned page, a photo of a receipt, a screenshot — into machine-readable characters, so a picture of words becomes text you can select, search, and copy. - [Unix Timestamp](https://offlineutils.com/glossary/unix-timestamp.md): A Unix timestamp is a single number counting the seconds elapsed since 1970-01-01T00:00:00Z, ignoring leap seconds — a time zone-free, language-agnostic way to name an exact instant, which is why it is what logs, databases, and APIs store internally. - [ISO 8601](https://offlineutils.com/glossary/iso-8601.md): ISO 8601 is the international standard for writing dates and times as text — 2026-08-03T14:30:00Z — ordering every field from largest to smallest so the result is unambiguous worldwide and sorts correctly as a plain string. - [CIDR](https://offlineutils.com/glossary/cidr.md): CIDR (Classless Inter-Domain Routing) is the notation that writes a block of IP addresses as an address followed by a slash and the number of fixed leading bits — 192.168.1.0/24 — replacing the rigid class A/B/C system with prefixes of any length. - [Punycode](https://offlineutils.com/glossary/punycode.md): Punycode is the encoding defined by RFC 3492 that represents a Unicode string using only the letters, digits and hyphen that DNS allows, producing the xn-- labels that carry internationalised domain names. - [IDN](https://offlineutils.com/glossary/idn.md): An IDN (Internationalized Domain Name) is a domain name containing characters outside ASCII, which is carried through DNS as an ASCII xn-- form produced by the IDNA processing defined in UTS #46. - [Unicode normalization](https://offlineutils.com/glossary/unicode-normalization.md): Unicode normalization rewrites text into one standard sequence of code points, so strings that look identical — é stored as a single precomposed character, or as e followed by a combining accent — compare as equal. Unicode defines four normalization forms: NFC, NFD, NFKC and NFKD. - [Homograph attack](https://offlineutils.com/glossary/homograph-attack.md): A homograph attack uses characters that look identical to others — Cyrillic а in place of Latin a — so that a different domain, username or identifier appears to be a trusted one. Browsers defend domain names by showing the xn-- form of names that look suspicious instead of the Unicode spelling. - [Floating-point number](https://offlineutils.com/glossary/floating-point.md): A floating-point number stores a value as a binary fraction scaled by a power of two. JavaScript's Number is an IEEE 754 double with 53 significant bits, so integers above 2^53 − 1 (9,007,199,254,740,991) and most decimal fractions, 0.1 included, cannot be stored exactly. ## Optional - [Full corpus](https://offlineutils.com/llms-full.txt): Every tool, glossary term and blog post in full, in one file. - [Atom feed](https://offlineutils.com/feed.xml): Blog posts with full text, newest first. - [Sitemap](https://offlineutils.com/sitemap.xml): Every indexable URL.