# Uttir (full content) > Full content dump for AI engines. For a short summary, see [/llms.txt](https://uttir.com/llms.txt). Free tools that just work. Uttir is a collection of fast, free online utilities that run directly in your browser. Convert, calculate, format, and generate — no signup, no uploads, no tracking. ## About Uttir is a privacy-first collection of free browser-based utilities. Every tool runs entirely client-side: text, files, and inputs never leave the user's device. There is no signup, no paywall, and no tracking. The site is supported by unobtrusive on-page ads that never interfere with the tool itself. ## Tools (230) Listed in display order. Each entry includes the tool description, all how-to steps, and the FAQ. ### JSON Formatter URL: https://uttir.com/json-formatter Categories: developer-tools, data-tools Description: The JSON formatter takes raw, minified, or messy JSON and rewrites it with consistent indentation and line breaks so you can actually read it. It also validates the document while formatting, so syntax errors are reported with the exact line and column instead of silently passing through. Because formatting happens locally with your browser’s built-in JSON parser, nothing you paste ever leaves the page — safe for API responses, configuration files, and anything containing credentials or personal data. How to use: 1. **Paste your JSON** — Drop minified or messy JSON into the input panel. 2. **Pick an indentation style** — Choose 2 spaces, 4 spaces, or tabs to match your project’s style. 3. **Read or copy the result** — The formatted output appears instantly. Use Copy to grab it. FAQ: - Q: Does formatting change my data? A: No. Formatting only changes whitespace. Keys, values, and order are preserved exactly as parsed. - Q: Why is my JSON invalid? A: Common causes are trailing commas, single quotes instead of double quotes, unquoted keys, or comments. The tool reports the line and column of the first problem it finds. - Q: Is my data uploaded to a server? A: No. Parsing and formatting run entirely in your browser using its native JSON engine. Privacy: Your JSON is formatted entirely in your browser and never uploaded anywhere. --- ### JSON Validator URL: https://uttir.com/json-validator Categories: developer-tools, data-tools Description: The JSON validator tells you in plain language whether a document is valid JSON, and when it is not, exactly where the first problem is. Instead of a cryptic stack trace you get a friendly message with line and column numbers. It uses the same parser your browser and most runtimes rely on, so a document that passes here will parse with JSON.parse in JavaScript and equivalent parsers elsewhere. How to use: 1. **Paste your JSON** — The check runs automatically as you type or paste. 2. **Read the verdict** — A green banner means valid; a red banner shows the error location. 3. **Fix and re-check** — Correct the reported line and column, and the verdict updates instantly. FAQ: - Q: What makes JSON invalid? A: Typical issues: trailing commas, single quotes, unquoted keys, comments, NaN/Infinity, or cut-off documents. JSON is a strict subset of JavaScript object syntax. - Q: Can it validate large files? A: Yes. Parsing runs natively in your browser, so even multi-megabyte documents validate quickly on modern hardware. - Q: Is my JSON uploaded to a server? A: No. Validation happens in your browser using the browser's built-in parser. The text never leaves your device. Privacy: Validation runs locally in your browser. Your JSON is never transmitted or stored. --- ### JSON String Escape / Unescape URL: https://uttir.com/json-string-escape Categories: encoding-tools, developer-tools, data-tools Description: JSON strings must escape a small set of characters: the double quote, the backslash, and the control characters (U+0000 to U+001F). Everything else may appear literally. This tool implements the standard JSON escaping rules from RFC 8259. The "escape" direction converts a raw string into a JSON-safe form (the content you would put between double quotes). The "unescape" direction parses a JSON string literal back to its raw bytes. How to use: 1. **Pick the direction** — Escape raw → JSON or Unescape JSON → raw. Both directions round-trip cleanly for any valid input. 2. **Paste the input** — For escape, paste any string (control characters allowed). For unescape, paste the JSON-quoted content (without the surrounding quotes). 3. **Copy the output** — Use the escaped form inside a JSON config or template. Use the raw form to inspect what a stored string actually contains. FAQ: - Q: Does this also parse JSON objects? A: No — it only escapes / unescapes the value of a string literal. To format or validate whole JSON documents, use the JSON Formatter and JSON Validator tools. - Q: Are forward slashes escaped? A: By default, no. JSON allows "/" inside strings (the "\/" escape is optional). The unescape function accepts both forms. - Q: Are unicode escapes supported? A: Yes. \uXXXX is produced for control characters on escape and parsed back to the original code point on unescape. Privacy: Pure function, no upload, no server. Works fully offline. --- ### UUID Generator URL: https://uttir.com/uuid-generator Categories: developer-tools, generators Description: This generator produces RFC 4122 version-4 UUIDs using your browser’s cryptographically secure random number generator (crypto.randomUUID). Each value is a 128-bit identifier with 122 random bits, so collisions are practically impossible at any realistic scale. Generate a single ID or up to 1,000 at once for seeding databases, fixtures, and test data, and copy them all with one click. How to use: 1. **Choose a count** — Any number from 1 to 1,000. 2. **Set the format** — Toggle uppercase letters or remove hyphens for compact IDs. 3. **Generate and copy** — Press Generate for a fresh batch; Copy all puts every UUID on your clipboard. FAQ: - Q: Are these UUIDs truly random? A: Yes. They come from crypto.randomUUID, a cryptographically secure generator provided by your browser, not from Math.random. - Q: Can two generated UUIDs collide? A: The probability is astronomically small — generating a billion UUIDs per second for a year would still make a collision vanishingly unlikely. - Q: Is the UUID generated in a secure way? A: Yes. The browser uses the platform's cryptographically secure random source. Generated UUIDs are unique enough for database primary keys, request IDs, and identifiers you do not want to guess. Privacy: UUIDs are generated locally with your browser’s crypto API. Nothing is sent anywhere. --- ### Email Validator URL: https://uttir.com/email-validator Categories: developer-tools, text-tools Description: A bad email is a quiet form of lost contact — a typo at sign-up, a throwaway address that bounces a year later, or a role address that no one reads. This validator checks the structural format, surfaces common typos against real providers, flags disposable / throwaway services, and warns when an address is generic (admin@, support@) rather than personal. Everything runs in your browser. The address is never sent to a server, never logged, and never stored. For a deliverability check (does the domain actually accept mail?), pair this with the DNS Lookup tool and ask for MX records. How to use: 1. **Paste an email address** — Any address you want to check — a sign-up form input, a contact sheet row, or a pasted list. 2. **Read the verdict** — Valid, Risky, or Invalid — plus a short list of every issue found. 3. **Accept the suggestion** — If a typo was detected, copy the corrected address with one click. FAQ: - Q: Does this tool send my email to a server? A: No. The check is fully offline: format, length, typo detection, disposable / role / free-provider flags. Your email never leaves the browser. - Q: Can this verify that an email actually delivers? A: No — that requires contacting the mail server, which is a network operation. For a delivery check, use DNS Lookup against the domain and look for MX records. A domain with no MX records will not receive email. - Q: Why are role addresses flagged? A: Addresses like admin@, support@, and info@ go to a shared inbox, not a specific person. They are fine for general contact forms, but not ideal for one-to-one communication or account-bound logins. - Q: What is a disposable email? A: A throwaway service that gives you an address valid for minutes to days. Useful for dodging spam, but a strong signal that the address will not be reachable later. Most platforms block them at signup. - Q: Does this validator check the domain has MX records? A: No — MX lookups require network calls and would need to send your email to a DNS server. This tool is fully offline. If you want to confirm a domain can receive mail, use DNS Lookup and ask for the MX record type. Privacy: The address you check is processed entirely in your browser. It is never sent to a server, logged, or stored. --- ### Base64 Encoder URL: https://uttir.com/base64-encoder Categories: developer-tools, encoding-tools Description: Base64 represents binary data as printable ASCII characters, which is why it shows up in email attachments, data URLs, authorization headers, and encoded JSON. This encoder converts your text to UTF-8 bytes first, so emoji, accented characters, and CJK scripts all encode correctly — something naive encoders get wrong. The result uses the standard alphabet (A–Z, a–z, 0–9, +, /) with = padding, compatible with atob, Buffer, and every mainstream decoder. How to use: 1. **Type or paste text** — Any Unicode text works, including emoji. 2. **Copy the output** — The Base64 string updates live; use Copy to grab it. FAQ: - Q: Is Base64 encryption? A: No. Base64 is an encoding, not encryption — anyone can decode it. It exists to transport binary data through text-only channels safely. - Q: Why does the output end with "="? A: Padding brings the output length to a multiple of four characters. One or two "=" signs are added depending on the input length. - Q: What does the output look like? A: A string of A-Z, a-z, 0-9, +, / characters, padded with = to a multiple of 4. The output is plain ASCII and safe to embed in URLs, JSON, HTML, and email. Privacy: Encoding happens locally in your browser. Your text is never uploaded. --- ### Base64 Decoder URL: https://uttir.com/base64-decoder Categories: developer-tools, encoding-tools Description: Paste any standard Base64 string and get the original text back, including Unicode content encoded as UTF-8. Invalid characters or broken padding are reported with a clear explanation instead of a silent failure. Like the rest of Uttir, decoding runs entirely in your browser — handy for inspecting tokens, data URLs, and encoded payloads that you would rather not paste into a random website. How to use: 1. **Paste Base64** — Whitespace-free standard Base64 with optional = padding. 2. **Read or copy the result** — The decoded text appears live on the right. FAQ: - Q: Why do I get an error about padding? A: Standard Base64 length must be a multiple of four characters, padded with "=" if needed. A truncated or hand-edited string usually fails this check. - Q: Can it decode URL-safe Base64? A: This tool expects the standard alphabet. URL-safe variants use "-" and "_" instead of "+" and "/"; replace those two characters before decoding. - Q: What if the input is not valid Base64? A: The tool reports the position of the first invalid character. Fix that, then re-decode. Common issues are missing padding (=) at the end and characters outside the Base64 alphabet. - Q: What happens if the input is not valid Base64? A: The tool reports the position of the first invalid character so you can fix the input. We never send the input to a server, so the decode attempt happens entirely in your browser. Privacy: Decoding happens locally in your browser. Your data is never uploaded. --- ### URL Encoder URL: https://uttir.com/url-encoder Categories: developer-tools, encoding-tools Description: URLs may only contain a limited set of characters. Spaces, ampersands, question marks, and non-ASCII characters must be percent-encoded — replaced with %XX sequences. This tool offers two modes: component mode encodes everything reserved (for a single query parameter value), while full-URL mode keeps structural characters like : / ? & = so an entire address stays readable. It matches the behavior of encodeURIComponent and encodeURI in JavaScript, so results are identical to what your code produces. How to use: 1. **Pick a mode** — Component for a parameter value; full URL for an entire address. 2. **Paste your text** — The encoded output updates as you type. 3. **Copy the result** — Use Copy to place the encoded string on your clipboard. FAQ: - Q: What is the difference between the two modes? A: Component mode encodes every reserved character (&, =, ?, /, :), suitable for a single value. Full-URL mode leaves those intact so the URL still works as a URL. - Q: Is a space "%20" or "+"? A: This tool uses %20, the standard percent-encoding. The "+" convention comes from HTML form submissions (application/x-www-form-urlencoded) and is a different format. - Q: When do I need to URL-encode? A: Any time a value goes into a URL as a query parameter or path segment, and contains reserved characters (space, &, ?, #, /, +, etc.). Modern frameworks usually encode for you; this tool is for debugging and for hand-built URLs. Privacy: Encoding runs locally in your browser. Nothing is uploaded. --- ### URL Decoder URL: https://uttir.com/url-decoder Categories: developer-tools, encoding-tools Description: Percent-encoding hides readable characters behind %XX sequences. Paste an encoded URL or query string and get the original text back, including multi-byte UTF-8 characters like emoji and accented letters. If the input contains a broken sequence — a % not followed by two hex digits — the tool explains the problem instead of producing garbled output. How to use: 1. **Paste encoded text** — Any percent-encoded string or full URL. 2. **Read or copy the result** — The decoded text appears instantly. FAQ: - Q: Why does "+" stay a plus sign? A: Percent-decoding does not treat "+" as a space; that convention belongs to form encoding. Replace "+" with "%20" first if you are decoding a form query string. - Q: What does %20 mean? A: Percent-encoded space. URLs cannot contain literal spaces, so spaces are replaced with %20 (or + in form-encoded data). Other common ones: %2F = /, %3A = :, %26 = &. - Q: When is URL decoding used? A: Almost everywhere URLs are stored or transmitted — server logs, database rows, browser address bars, and form submissions. Decoding is the reverse step: turning %20 back into a space. - Q: Is this the same as Base64 decoding? A: No. URL decoding turns percent-encoded characters like %20 back into spaces. It only handles the percent-encoding scheme defined in RFC 3986, not Base64 or HTML entities. Privacy: Decoding runs locally in your browser. Nothing is uploaded. --- ### JWT Decoder URL: https://uttir.com/jwt-decoder Categories: developer-tools, security-tools Description: A JSON Web Token packs two Base64URL-encoded JSON objects — the header and the payload — plus a signature. This decoder shows both objects as readable JSON and highlights the exp claim, telling you whether the token is expired and by how much. Unlike web-based debuggers that ask you to paste secrets into their servers, Uttir decodes entirely client-side, making it safe for production tokens. How to use: 1. **Paste the token** — The full header.payload.signature string. 2. **Inspect the claims** — Header and payload render as formatted JSON. 3. **Check expiry** — If an exp claim exists, a badge shows whether it is expired. FAQ: - Q: Does this verify the signature? A: No. Decoding only reads the token; verifying requires the secret or public key. Never trust an unverified token for authorization. - Q: What does the exp claim mean? A: exp is a Unix timestamp (seconds) after which the token must be rejected. The tool shows it as a human-readable relative time. - Q: Is it safe to paste a real token here? A: Yes — decoding happens in your browser and the token is never sent over the network. Still, treat tokens as secrets and avoid sharing them. Privacy: Tokens are decoded locally in your browser. Paste-sensitive JWTs here safely — nothing is transmitted. --- ### JWT Sign (HS256 / RS256) URL: https://uttir.com/jwt-sign Categories: security-tools, developer-tools, encoding-tools Description: A JSON Web Token (JWT) is three base64url segments: header.payload.signature. The header says which algorithm to use; the payload is your claims; the signature is the HMAC or RSA signature over the first two segments. This tool builds the header and payload in the browser, then signs with Web Crypto (HMAC for HS256, RSASSA for RS256). Nothing is sent to a server. How to use: 1. **Pick the algorithm** — HS256 is a shared secret; pick it if both sides have the same secret. RS256 is asymmetric; pick it if the verifier only has a public key. 2. **Add claims** — Standard claims: sub (subject), iss (issuer), aud (audience), exp (expiration, Unix seconds), iat (issued at). Or add your own custom claims. 3. **Provide the key** — HS256: a shared secret string. RS256: paste a PKCS#8 PEM private key (including the BEGIN / END lines). FAQ: - Q: Is the key sent anywhere? A: No. Signing is local; the secret / private key stays in your browser. (You can verify this with the network panel open.) - Q: Can I generate RS256 keys here? A: Yes — use the RSA Key Generator tool to make a PSS-capable keypair, then paste the private key (PEM) into this tool. - Q: How do I decode the result? A: Use the existing JWT Decoder tool — paste the token in, see the header, payload, and signature broken out. Privacy: Signing runs entirely in your browser. The HMAC secret and RSA private key never leave this device. --- ### HMAC Generator URL: https://uttir.com/hmac-generator Categories: security-tools, developer-tools Description: HMAC (Hash-based Message Authentication Code, RFC 2104) is the standard way to verify both the integrity and authenticity of a message. Given a message and a shared secret, it produces a fixed-size tag that only the holder of the same secret can recompute. This tool uses the RFC 2104 algorithm directly (no library magic) and outputs the MAC in hex. All computation runs in your browser, so even sensitive secrets never leave the device. How to use: 1. **Pick an algorithm** — SHA-256 is the modern default. SHA-1 / MD5 are kept for compatibility with legacy systems; do not use them for new work. 2. **Enter the secret and message** — Secrets can be plain text or a hex string prefixed with "hex:". Messages are plain UTF-8 text. 3. **Copy the hex MAC** — Use the hex output directly in HMAC headers (e.g. X-Hub-Signature-256) or as a binary comparison key. FAQ: - Q: Is my secret sent anywhere? A: No. The HMAC is computed in your browser using a pure-JS implementation of RFC 2104. Nothing is uploaded. - Q: When should I use HMAC vs a plain hash? A: Use a plain hash when anyone with the message can verify integrity. Use HMAC when only parties with the shared secret should be able to produce a valid tag — typical for API request signing and webhook verification. - Q: HMAC-SHA-256 vs SHA-256? A: Plain SHA-256 only proves the message has not changed. HMAC-SHA-256 also proves the message was produced by someone with the secret. Use HMAC for any signed channel. Privacy: Computation runs entirely in your browser. Your message and secret never leave this device. --- ### Unix Timestamp Converter URL: https://uttir.com/unix-timestamp-converter Categories: developer-tools Description: Unix time counts seconds since 00:00:00 UTC on 1 January 1970. It is compact and timezone-free, which is why logs, databases, and APIs use it — but humans cannot read 1700000000 at a glance. This converter translates both directions instantly. It auto-detects whether a value is in seconds or milliseconds, shows the date in ISO 8601, UTC, and your local timezone, and includes a live readout of the current Unix time. How to use: 1. **Paste a timestamp** — Seconds (10 digits) or milliseconds (13 digits) — the unit is detected automatically. 2. **Read the date** — ISO, UTC, local, and relative representations appear instantly. 3. **Or pick a date** — Use the date picker to get the matching Unix seconds and milliseconds. FAQ: - Q: Seconds or milliseconds — which do I need? A: JavaScript’s Date.now() returns milliseconds; most Unix systems and JWT exp claims use seconds. The tool detects which you pasted and labels it. - Q: Why does the local time differ from UTC? A: A timestamp is a single instant; timezones are just different ways of displaying it. The UTC and local lines show the same moment in two zones. - Q: Seconds or milliseconds? A: JavaScript uses milliseconds; most server-side languages use seconds. The tool has a toggle so you can switch. A 1000x difference between the same moment in two systems is a common bug. Privacy: All conversion happens locally in your browser. --- ### Regex Tester URL: https://uttir.com/regex-tester Categories: developer-tools, text-tools Description: Regular expressions are powerful but easy to get wrong. This tester shows you exactly what your pattern matches as you type, highlighting every match in your test text and listing capture groups so you can verify the pattern before you ship it. Everything runs locally with the browser’s native regex engine, so patterns and sample data never leave the page — fine for testing against real user data, logs, or anything sensitive. How to use: 1. **Type your pattern** — For example: \b\w+@\w+\.\w+ to match email addresses. 2. **Toggle flags** — Case-insensitive, multiline, dot-all, Unicode, and sticky modes. 3. **Enter test text** — Every match is highlighted and listed with its capture groups. FAQ: - Q: Which regex syntax is supported? A: JavaScript’s ECMAScript regular expression syntax, which is what runs natively in your browser. - Q: Why do I need the “global” behavior? A: The tester always finds every match in your text so you can review them all. The flag buttons control the other behaviors. - Q: What do the capture groups mean? A: Groups are the parts of the match captured by parentheses in your pattern. They are shown per match so you can confirm they capture the pieces you expect. Privacy: Your pattern and test text are processed entirely in your browser and never uploaded. --- ### SQL Formatter URL: https://uttir.com/sql-formatter Categories: developer-tools, data-tools Description: Minified or hand-written SQL is hard to read and easy to get wrong. A few seconds of formatting turns a dense one-liner into a clearly indented, skimmable query that you can debug, review, and share with confidence. This formatter understands the grammar of the major SQL dialects — MySQL, PostgreSQL, SQLite, MariaDB, BigQuery, and T-SQL — so keywords, joins, and subqueries are indented correctly for each. The entire formatting step runs in your browser; your queries stay private. How to use: 1. **Paste your SQL** — Any query, however messy — the formatter handles one-liners and minified code. 2. **Pick your dialect** — Select the database flavor so reserved words and syntax are handled correctly. 3. **Tune and copy** — Toggle keyword uppercase or tab indentation, then copy the cleaned query. FAQ: - Q: Is my SQL sent to a server? A: No. Formatting happens entirely in your browser using the sql-formatter library. Your query, which may contain sensitive schema details, never leaves the page. - Q: Which dialects are supported? A: Generic SQL plus MySQL, PostgreSQL, SQLite, MariaDB, BigQuery, and T-SQL. Pick the closest match to your database for the most accurate formatting. - Q: Does it validate my SQL? A: No — it is a formatter, not a validator. It will format syntactically incorrect SQL too, but the output makes errors much easier to spot. Privacy: Your SQL is formatted entirely in your browser. The query never leaves this page. --- ### HTTP Status Code Lookup URL: https://uttir.com/http-status-codes Categories: developer-tools, web-tools Description: HTTP status codes are the three-digit responses a server sends with every request. They are the first thing to check when an API returns something unexpected: a 404 means the resource is missing, a 429 means you are being rate-limited, a 503 means the server is down. This reference covers the common codes from every class — informational, success, redirection, client error, and server error — each with a short plain-language explanation. Search by number or name, or filter by category to find what you need fast. How to use: 1. **Search by number or name** — Type "404", "redirect", or "teapot" to find matching codes instantly. 2. **Filter by category** — Jump straight to 2xx success codes or 4xx client errors with one click. 3. **Click a category chip to clear it** — Tap the active filter again to show all codes. FAQ: - Q: What is the difference between a 4xx and a 5xx error? A: 4xx codes mean the client made a mistake — a bad request, missing authentication, or a URL that does not exist. 5xx codes mean the server failed, even though the request was fine. - Q: What does 418 I’m a teapot mean? A: It is an April Fools’ joke from 1998, defined in RFC 2324. The server refuses to brew coffee because it is, in fact, a teapot. It is still officially registered. - Q: Is there a difference between 301 and 308 redirects? A: Both are permanent redirects, but 308 preserves the HTTP method and body, while 301 may cause some clients to change POST requests to GET. Privacy: This reference is fully static — no code, text, or data is sent anywhere. --- ### Word Counter URL: https://uttir.com/word-counter Categories: text-tools Description: The Uttir word counter gives you an instant breakdown of any text: words, characters (with and without spaces), sentences, paragraphs, and estimated reading time. Counts update live as you type or paste. Because it runs completely in your browser, it works offline once loaded and is safe for confidential or unpublished writing — essays, contracts, manuscripts, or anything else you would rather not paste into a server-based tool. How to use: 1. **Paste or type your text** — Drop your text into the editor. Counts update automatically as you type. 2. **Read the breakdown** — Words, characters, sentences, paragraphs, and reading time are shown below the editor. 3. **Copy or clear** — Use the buttons to copy your text or clear the editor and start over. FAQ: - Q: Is my text uploaded anywhere? A: No. Counting happens entirely in your browser using JavaScript. Your text is never transmitted, stored, or logged. - Q: How are words counted? A: Words are counted by splitting on whitespace. Sequences of letters, numbers, and punctuation that are not separated by spaces count as one word. - Q: How is reading time calculated? A: Reading time uses an average speed of 200 words per minute. Speaking time uses roughly 130 words per minute. Privacy: Your text is counted entirely in your browser. Nothing is uploaded, stored, or sent anywhere. --- ### Character Counter URL: https://uttir.com/character-counter Categories: text-tools Description: Character limits are everywhere: social posts, meta descriptions, form fields, SMS. This counter shows characters with and without spaces, plus words, sentences, paragraphs, lines, and the UTF-8 byte size of your text — all updating live. Because it runs in your browser, it is safe for confidential text and works instantly with no round-trip to a server. How to use: 1. **Paste or type** — Counts update automatically as the text changes. 2. **Read the breakdown** — Each metric is shown in its own card below the editor. FAQ: - Q: What is the difference between characters and bytes? A: Characters are what you see; bytes are what storage and transfer use. ASCII characters take one UTF-8 byte, but emoji and many accented letters take two to four. - Q: Do spaces count as characters? A: Yes in the “Characters” total. The “no spaces” count excludes all whitespace, matching limits like X/Twitter’s that count visible characters. - Q: Does it count spaces? A: Yes, by default. The tool has a toggle to exclude whitespace, which is useful when you are writing copy and want to know the visible character count. - Q: How are characters counted? A: Every Unicode code point counts as one character. Emoji that are a single code point (most of them) count as one; emoji made of multiple code points with a ZWJ joiner count as multiple. Privacy: Counting happens locally in your browser. Your text is never uploaded. --- ### Case Converter URL: https://uttir.com/case-converter Categories: text-tools Description: Reformat any text into the letter case you need: UPPERCASE, lowercase, Title Case, Sentence case, or the identifier styles used in programming — camelCase, PascalCase, snake_case, and kebab-case. The converter understands word boundaries in plain text and in existing identifiers, so “hello world”, “helloWorld”, and “hello-world” all convert cleanly to any style. How to use: 1. **Paste your text** — Plain sentences or existing identifiers both work. 2. **Choose a case** — Pick any of the eight styles from the dropdown. 3. **Copy the result** — The converted text appears instantly on the right. FAQ: - Q: How are words detected? A: Words are split on punctuation, spaces, hyphens, and camelCase boundaries, so mixed input like “userName_first” is handled correctly. - Q: Does Title Case follow style guides? A: It capitalizes every word, which suits headings and slugs. It does not apply AP/Chicago small-word rules. - Q: What is the difference between title case and sentence case? A: Title Case capitalizes the first letter of every major word. Sentence case capitalizes only the first letter of the sentence and any proper nouns. The tool does both. Privacy: Conversion runs locally in your browser. Your text is never uploaded. --- ### Text Diff URL: https://uttir.com/text-diff Categories: text-tools Description: The text diff tool compares two versions of a document line by line and marks each line as added, removed, or unchanged — the same idea as the diff command developers use, but for any text. It is useful for reviewing edits to articles, contracts, configuration files, or notes, and for spotting what changed between two drafts at a glance. How to use: 1. **Paste the original** — Left panel: the older version of the text. 2. **Paste the changed version** — Right panel: the newer version. 3. **Read the diff** — Green lines were added, red lines removed, plain lines are unchanged. FAQ: - Q: How large can the texts be? A: The line-by-line comparison handles thousands of lines comfortably in your browser. Very large documents are rejected with a clear message to keep the page responsive. - Q: Does it compare words within a line? A: No — the comparison is line-based. A line with any change is shown as removed plus added, which keeps results easy to read. - Q: Does it work on code? A: Yes. Line-by-line diff is the same for code and prose. The tool is line-oriented, so it shows which lines changed, were added, or were removed. Privacy: Comparison runs locally in your browser. Neither text is uploaded. --- ### Slug Generator URL: https://uttir.com/slug-generator Categories: text-tools Description: A slug is the readable, URL-safe part of an address — like “how-to-compress-an-image” in uttir.com/how-to-compress-an-image. Good slugs are lowercase, use hyphens, and contain only letters, digits, and separators, which is better for users and for SEO. This generator lowercases your title, strips accents and diacritics, replaces punctuation and spaces with hyphens, and trims the result — live as you type. How to use: 1. **Type a title** — Any phrase, headline, or product name. 2. **Copy the slug** — The cleaned slug appears instantly below the input. FAQ: - Q: Why hyphens and not underscores? A: Search engines treat hyphens as word separators but underscores as joiners, so hyphenated slugs read as separate words in search results. - Q: Should slugs be short? A: Yes — keep the essential words. Long slugs get truncated in search results and are harder to share. - Q: Are slugs case-sensitive? A: URLs are case-sensitive, but most servers treat slugs case-insensitively. The tool lowercases the slug by default for consistency. - Q: Are Unicode characters preserved? A: By default, non-ASCII characters are transliterated to ASCII (ö → o, ñ → n). Turn on "Keep Unicode" to preserve them, which is useful for non-English slugs. Privacy: Slugs are generated locally in your browser. Nothing is uploaded. --- ### Percentage Calculator URL: https://uttir.com/percentage-calculator Categories: calculators, math-tools Description: The three most common percentage questions, answered side by side: “What is X% of Y?”, “X is what percent of Y?”, and “What is the percent change from X to Y?”. Results update as you type. Percent change uses the standard formula (new − old) ÷ |old| × 100, so decreases show as negative values. How to use: 1. **Pick the card that matches your question** — Each card is one of the three classic percentage problems. 2. **Enter the numbers** — The answer appears instantly below the inputs. FAQ: - Q: How is percent change calculated? A: As (new − old) divided by the absolute value of old, times 100. A rise from 50 to 75 is +50%; a fall from 75 to 50 is −33.33%. - Q: Why is division by zero shown as a dash? A: Percentages of or changes from zero are mathematically undefined, so the tool shows a dash instead of a misleading number. - Q: What is percentage change? A: ((new - old) / old) * 100. If a value goes from 100 to 120, the percentage change is +20%. If it goes from 100 to 80, it is -20%. The tool handles the direction automatically. - Q: How is "X% of Y" calculated? A: The formula is (X / 100) × Y. For "what percent is A of B", the formula is (A / B) × 100. The tool handles both directions and rounds to your chosen precision. Privacy: Calculations run locally in your browser. --- ### Age Calculator URL: https://uttir.com/age-calculator Categories: calculators Description: Enter a date of birth to get the exact age in years, months, and days, using real calendar arithmetic — month lengths and leap years included. Optionally pick a target date to compute the age at that moment instead of today. Totals in months, weeks, and days plus a countdown to the next birthday make it handy for forms, milestones, and curiosity alike. How to use: 1. **Pick the date of birth** — The age at today’s date appears immediately. 2. **Optionally set a target date** — See the age as of any other date, past or future. FAQ: - Q: How are months counted? A: By calendar months: from the 15th of one month to the 14th of the next is one month minus one day. When the day of month has not yet arrived, days borrow from the previous month’s real length. - Q: Does it handle leap years? A: Yes. All math uses real calendar dates, so February 29 and leap years are accounted for automatically. - Q: How is age calculated across time zones? A: By date of birth in your local time zone. If you were born on 2000-01-01 in Tokyo, you are one year older on 2026-01-01 in Tokyo than you would be on 2026-01-01 in New York, because the local date flips at different moments. - Q: Does the age calculator work with leap years? A: Yes. The calculator accounts for leap years and uses the standard Gregorian calendar rules — including the centurial corrections (years divisible by 100 are not leap years unless also divisible by 400). Privacy: Dates are processed locally in your browser and never uploaded. --- ### Date Calculator URL: https://uttir.com/date-calculator Categories: calculators Description: Two date utilities in one: the gap between any two dates (in days, with week/month/year equivalents), and a date shifter that adds or subtracts a number of days — useful for deadlines, due dates, and countdowns. All math respects real calendar dates, including month lengths and leap years, and uses your local timezone so a date you pick is the date you mean. How to use: 1. **Difference** — Pick From and To dates to see the gap in days and equivalents. 2. **Shift a date** — Pick a starting date and a day offset; negative values go backwards. FAQ: - Q: Are the results timezone-aware? A: Yes. Dates are interpreted in your local timezone, so there is no off-by-one-day surprise from UTC conversion. - Q: Why are months and years approximate? A: Months vary in length, so gaps longer than a few weeks are expressed using average month (30.44 days) and year (365.25 days) lengths. - Q: Does it count business days? A: Yes. There is a toggle to exclude weekends, and an option to add a list of holidays. The result is the number of business days between two dates. - Q: How are weekends and holidays counted? A: Weekends are Saturday and Sunday in any locale. Public holidays are not counted — the tool gives business-day (Mon–Fri) and total-day counts separately so you can add holidays yourself if needed. Privacy: Date math runs locally in your browser. --- ### Compound Interest Calculator URL: https://uttir.com/compound-interest-calculator Categories: calculators Description: Compound interest is interest on interest: your balance grows, and the growth itself grows. This calculator projects a starting amount plus optional monthly contributions over up to 100 years, with yearly, quarterly, monthly, or daily compounding. The year-by-year table shows how much of each year’s balance came from contributions versus earned interest — a clear way to see compounding do the heavy lifting over long horizons. How to use: 1. **Enter the inputs** — Starting amount, annual rate, years, compounding frequency, and monthly contribution. 2. **Read the summary** — Future value, total contributed, and interest earned. 3. **Review the table** — Year-by-year breakdown of contributions, interest, and balance. FAQ: - Q: How accurate is the projection? A: It is exact for the assumptions given (fixed rate, end-of-month contributions). Real returns vary year to year, so treat results as a scenario, not a promise. - Q: What does the compounding frequency change? A: More frequent compounding earns slightly more at the same nominal rate. The calculator converts your chosen frequency to an equivalent monthly growth rate. - Q: Does it account for taxes or inflation? A: No. The projection is pre-tax and nominal. For a rough real-value view, subtract expected inflation from the rate. Privacy: Projections are computed locally in your browser. --- ### Loan Calculator URL: https://uttir.com/loan-calculator Categories: calculators Description: Whether you are shopping for a mortgage, a car loan, or a personal loan, the first question is always the same: what will the monthly payment be — and how much will it cost me in total? This calculator answers both with a complete amortization schedule. It also models extra monthly payments, so you can see exactly how much earlier you would pay the loan off and how much interest you would save. Everything runs locally, so your financial details stay private. How to use: 1. **Enter the loan amount** — The total you plan to borrow. 2. **Enter the annual interest rate** — For example 6.5 for a 6.5% APR. Leave at 0 for an interest-free loan. 3. **Set the term in years** — For example 30 for a 30-year mortgage. 4. **Add an optional extra payment** — See how an extra amount per month shortens the term and cuts total interest. FAQ: - Q: How is the monthly payment calculated? A: It uses the standard amortization formula: P × r / (1 − (1 + r)⁻ⁿ), where r is the monthly interest rate and n is the number of monthly payments. - Q: What does an extra payment do? A: Every extra dollar goes directly to the principal, so you pay less interest and finish the loan early. The calculator shows your new total and how many payments you save. - Q: Does this include fees or taxes? A: No. It calculates the pure principal and interest. Closing costs, insurance, and property taxes are separate and vary by lender and location. Privacy: Your loan details are calculated entirely in your browser and never leave your device. --- ### Mortgage Calculator URL: https://uttir.com/mortgage-calculator Categories: calculators Description: Buying a home is the biggest purchase most people ever make, and the monthly payment is more than just the loan. A real mortgage payment bundles principal, interest, property taxes, and homeowners insurance — often called PITI. This calculator starts from the purchase price and your down payment, then builds the full picture: the loan amount, your loan-to-value ratio, the estimated monthly payment including escrow, and how much interest you pay over the life of the loan. How to use: 1. **Enter the purchase price** — The full price of the home you are considering. 2. **Set your down payment percentage** — A 20% down payment typically avoids private mortgage insurance (PMI). 3. **Add the interest rate and term** — For example 6.5% for 30 years. Longer terms mean lower payments but more total interest. 4. **Include tax and insurance** — Optional annual property tax and homeowners insurance are spread across your monthly payment. FAQ: - Q: What is PITI? A: Principal, Interest, Taxes, and Insurance — the four components that make up a typical monthly mortgage payment. The first two are your loan; the last two are escrowed and paid on your behalf. - Q: Why does a 20% down payment matter? A: Lenders generally require private mortgage insurance (PMI) when your down payment is below 20%. PMI protects the lender, not you, and adds to your monthly cost until you build enough equity. - Q: Should I choose a shorter term? A: A 15-year loan has a higher monthly payment but far less total interest than a 30-year loan at the same rate. Use the calculator to compare both before deciding. Privacy: Your mortgage figures are computed entirely in your browser and never leave your device. --- ### Profit Margin Calculator URL: https://uttir.com/margin-calculator Categories: calculators Description: Margin and markup are easy to confuse, and getting them wrong costs real money. Margin is profit as a percentage of the selling price; markup is profit as a percentage of the cost. This calculator shows both at once, so you always know what your numbers really mean. It also works backwards: tell it your cost and the margin you want, and it returns the exact selling price to charge. Useful for pricing products, negotiating wholesale deals, and planning promotions. How to use: 1. **Enter your cost** — What the product or service costs you. 2. **Enter the selling price** — What customers pay. The calculator shows profit, margin %, and markup %. 3. **Or price from a target margin** — Enter a cost and desired margin % to get the exact selling price. FAQ: - Q: What is the difference between margin and markup? A: Margin is profit divided by selling price. Markup is profit divided by cost. A 60% markup is the same as a 37.5% margin — the calculator shows both so you never mix them up. - Q: How do I price for a target margin? A: Divide the cost by (1 − target margin). For a 40% margin on a $60 cost: 60 ÷ 0.6 = $100 selling price. - Q: Does this include taxes and shipping? A: No — those should be folded into your cost before calculating, or calculated separately for your specific business. Privacy: Your numbers are calculated entirely in your browser and never leave your device. --- ### Grade Calculator URL: https://uttir.com/grade-calculator Categories: calculators Description: Two questions dominate the end of every semester: what is my current average, and what do I need on the final to get the grade I want? This calculator answers both. Add your grades with their weights to compute a weighted average, then use the final-exam calculator to see exactly what score — out of 100 — you need to hit your target overall grade. How to use: 1. **Enter your grades** — Add each grade with its weight (for example a test worth 30%). Weights need not sum to 100. 2. **See your average** — The weighted average updates as you add or change grades. 3. **Plan for the final** — Enter your current average, the final’s weight, and your target to see the score required. FAQ: - Q: What if weights do not add up to 100? A: The average is computed as a true weighted average, so the weights are normalized automatically. You can use whatever scale fits your syllabus. - Q: What if the required score is over 100? A: The calculator tells you the target is not achievable. That can mean your current average is too low for the final’s weight — or you simply need to aim higher in earlier assignments. - Q: Does it handle points instead of percentages? A: Enter scores and weights in whatever consistent scale your course uses — the math is the same whether you use 0–100 percentages or points. Privacy: All calculations happen locally in your browser. Your grades stay on your device. --- ### Break-Even Calculator URL: https://uttir.com/break-even-calculator Categories: calculators Description: The break-even point is the sales volume at which your revenue exactly covers your costs — no profit, no loss. Everything beyond that point is profit. Enter your fixed costs, selling price per unit, and variable cost per unit to see the number of units you need to sell, the revenue that represents, and your contribution margin per unit. How to use: 1. **Enter fixed costs** — Rent, salaries, insurance — costs that stay the same regardless of how much you sell. 2. **Enter price and variable cost per unit** — The price you sell for, and the per-unit cost of materials, labor, and shipping. 3. **Read your break-even point** — The minimum units to sell — and the revenue that represents. 4. **Check profit at a volume** — See exactly what profit looks like at your expected sales volume. FAQ: - Q: What is the break-even formula? A: Break-even units = fixed costs ÷ (price per unit − variable cost per unit). The denominator is your contribution margin per unit. - Q: What if my price is lower than variable cost? A: Then every sale loses money and you can never break even. The calculator flags this so you can reprice before it becomes a problem. - Q: Does this include taxes? A: No. It covers operating costs only. Taxes, interest, and one-off expenses can be added to your fixed costs for a more conservative number. Privacy: Your figures are calculated in your browser and never leave your device. --- ### VAT Calculator URL: https://uttir.com/vat-calculator Categories: calculators Description: Two everyday VAT questions: how much do I charge when I add VAT, and what is the pre-VAT amount when it is already included? This calculator answers both. Enter an amount and a rate — or pick a common rate for the UK, EU, Australia, and others — then choose whether to add VAT to a net price or remove it from a gross price. The net, VAT, and gross totals update instantly. How to use: 1. **Enter the amount** — The figure you want to add VAT to, or strip VAT from. 2. **Pick a rate** — Choose a common standard rate (UK 20%, Germany 19%, Australia 10%…) or enter a custom percentage. 3. **Choose add or remove** — "Add VAT" treats the amount as net; "Remove VAT" treats it as gross with VAT included. FAQ: - Q: What is the difference between net and gross? A: Net is the price before tax; gross is the price including tax. VAT calculators work in both directions depending on which figure you start from. - Q: How do I remove VAT from a gross price? A: Divide the gross amount by (1 + rate/100). For example £120 at 20% → £120 ÷ 1.2 = £100 net, with £20 VAT. - Q: Is GST the same as VAT? A: Yes — GST (Australia, India, Canada) and VAT (UK, EU) are both value-added taxes calculated the same way. Pick a matching preset or enter your rate. Privacy: VAT is calculated instantly in your browser. Your amounts never leave your device. --- ### BMI Calculator URL: https://uttir.com/bmi-calculator Categories: calculators Description: Body Mass Index (BMI) is a quick screening number that relates your weight to your height. It is one of the most common starting points for understanding where you stand on the weight spectrum. Enter your height and weight — in metric or imperial units — and this calculator returns your BMI, the category you fall into, and the healthy weight range for your height. How to use: 1. **Choose your units** — Switch between metric (kg, cm) and imperial (lb, ft + in). 2. **Enter height and weight** — The BMI updates as soon as both fields are valid. 3. **Read the result** — See your BMI, category, and the healthy weight range for your height. FAQ: - Q: What do the BMI categories mean? A: Under 18.5 is underweight, 18.5–24.9 is a healthy weight, 25–29.9 is overweight, and 30+ is obese. BMI is a screening tool, not a diagnosis. - Q: Is BMI accurate for athletes? A: BMI does not distinguish muscle from fat, so muscular people may read as overweight. For most people it is a useful guide, but it is not a complete health picture. - Q: What is a healthy weight for my height? A: The healthy range corresponds to a BMI between 18.5 and 24.9. The calculator shows the exact weight range for your height in both metric and imperial. Privacy: Your measurements are processed in your browser and never leave your device. --- ### Color Picker URL: https://uttir.com/color-picker Categories: color-tools, web-tools Description: A visual color picker with live conversion to the three formats developers and designers use most: HEX for CSS and design tools, RGB for code, and HSL for thinking about hue, saturation, and lightness. Type a HEX value or use the native picker — every format updates instantly and can be copied with one click. How to use: 1. **Pick or type a color** — Use the swatch picker or enter a HEX code directly. 2. **Copy the format you need** — HEX, RGB, and HSL are shown with copy buttons. FAQ: - Q: Which format should I use? A: HEX is the most common in CSS and design tools. RGB matches screen pixels and is handy in code. HSL is the most human-readable when adjusting shades. - Q: What is the difference between HEX, RGB, and HSL? A: HEX is a compact way to write RGB (#RRGGBB). RGB is the red/green/blue components, each 0-255. HSL is hue (the color), saturation (how vivid), and lightness (how bright). HSL is usually easier to tweak by hand. - Q: Does the picker support alpha / transparency? A: Yes. Both RGBA and HSLA accept an alpha component from 0 (fully transparent) to 1 (fully opaque). The output includes the 8-digit HEX (#RRGGBBAA) when alpha is set. - Q: How do I get the exact color of a pixel in an image? A: Drop an image into the eyedropper area, then click the pixel you want. The tool reads the RGB value at that pixel and shows HEX, RGB, HSL, and CMYK equivalents. Privacy: Color values are processed locally in your browser. --- ### Color Screen URL: https://uttir.com/color-screen Categories: image-tools, web-tools Description: A solid-color fullscreen is one of the simplest and most useful screen tools. It turns your display into a clean, even surface of light, which makes individual dead or stuck pixels easy to spot, makes dust and smudges obvious, and gives you a known color reference for photography or calibration. Pick from the preset colors (white, black, red, green, blue) or use the color picker for any custom shade. Click the screen to go fullscreen; press Esc to exit. The whole thing runs in your browser — no screenshots, display data, or anything else is sent anywhere. How to use: 1. **Pick a color** — Click a preset (white, black, red, green, blue, yellow, cyan, magenta) or use the color picker for a custom RGB value. 2. **Click to go fullscreen** — Click anywhere on the color. The cursor disappears for an unobstructed view. Press F to toggle the cursor back on if you need it. 3. **Exit** — Press Esc to leave fullscreen. The page resets to the picker. FAQ: - Q: How do I find dead pixels? A: Display a pure color (white, then black, then red, green, blue). A dead pixel is a black dot on a bright color; a stuck pixel is the wrong color on any other. The cursor hides automatically in fullscreen so it does not obscure anything. - Q: Why does it ask to enter fullscreen? A: Browsers require a user gesture (a click) before a page can go fullscreen. That's a security feature to prevent pages from forcing fullscreen without the user's consent. - Q: Is this safe for OLED screens? A: Long sessions of solid bright colors can contribute to OLED burn-in, just like any other static image. The white and primary-color presets are the most risky. For extended use, prefer darker colors or take breaks. Privacy: Everything runs locally. No color data, screenshots, or display info is sent anywhere. --- ### Notepad URL: https://uttir.com/notepad Categories: text-tools Description: A scratchpad that lives in the browser. Each note has a title, body, and last-updated timestamp; the list of notes is sorted with the most recently edited at the top. Everything stays in your browser storage. There is no signup, no account, no server, and no upload. Closing the tab does not lose your notes — they come back the next time you open the tool. Clearing the browser storage for the site does. How to use: 1. **Create a note** — Click "New note" — a blank note is created and the editor opens. The title and body are saved as you type. 2. **Switch between notes** — The list on the left shows every saved note. Click a row to open it in the editor; click "New note" to start a fresh one. 3. **Delete a note** — Each note has a delete button. Deletion is permanent — there is no undo and no recycle bin. FAQ: - Q: Where are my notes stored? A: On this device, in the browser's local storage. They are tied to this specific browser on this specific device. They do not sync to a server, your phone, or another browser. - Q: Can I export a note? A: Select the text in the editor and copy it. The notepad is intentionally minimal — there is no built-in export to keep the data flow simple. - Q: What happens if I clear my browser data? A: Your notes are part of the site's browser storage. Clearing cookies, site data, or local storage for this site will erase them. Make a copy first if you want to keep something. Privacy: Every note is saved in this browser only. Nothing is sent to a server. Clearing the browser storage for this site will erase your notes. --- ### Text Compare URL: https://uttir.com/text-compare Categories: text-tools Description: A word-level diff with a clean side-by-side view. The text on the left is the "before" version; the right is "after". Words that exist in only one version are highlighted; unchanged text stays neutral so your eye can scan for the actual changes. Unlike the line-level text-diff tool, this one never cuts the text into arbitrary lines — it preserves the full text and just flags what changed at the word level. Better for prose; for code, the line-level text-diff tool is the right fit. How to use: 1. **Paste the "before" text** — On the left side. The full text, no need to trim. 2. **Paste the "after" text** — On the right side. The diff appears immediately below as you type. 3. **Read the diff** — Added words are highlighted on the right; removed words are highlighted on the left. Unchanged text is in the standard body color. FAQ: - Q: How is this different from the text-diff tool? A: Text-diff is line-by-line — best for code, structured text, and seeing which line changed. Text-compare is word-by-word and inline — best for prose, where you want to see the actual word changes without the text being broken into lines. - Q: Are my texts uploaded? A: No. Both texts are compared in your browser. The diff is computed on your device and never leaves it. - Q: Is there a size limit? A: Yes, but a generous one. Texts that would require more than 4 million cell comparisons bail with a clear error — this is enough for tens of thousands of words on each side. Privacy: Both texts are compared entirely in your browser. Nothing is sent to a server. The output stays in the page; closing the tab discards it. --- ### Text Summarizer URL: https://uttir.com/text-summarizer Categories: text-tools, data-tools, ai-tools Description: This summarizer uses a compact local model loaded into your browser on first use. Once the model is downloaded, inference runs entirely on your device — no network call, no API key, no server. The model is a distilled summarization network fine-tuned for the everyday short-to-medium length texts that show up in articles, blog posts, and emails. After the first run, the weights are cached in your browser and subsequent runs are sub-second. How to use: 1. **Paste your text** — At least 30 words. For longer inputs, split into chunks. 2. **Click Summarize** — The first run downloads the model to your browser. After that it is cached and runs offline. 3. **Read the summary** — The result shows the input and summary side-by-side with a compression ratio. Copy with one click. FAQ: - Q: How private is this? A: Your text never leaves the device. The model runs locally in your browser. After the first run, no network calls are made at all — the model is cached and runs offline. - Q: Why is the first run slow? A: The model weights are downloaded the first time. The progress bar shows the file being fetched. After that, the weights are cached in your browser storage and subsequent runs are instant. - Q: Can I use it offline? A: Yes. Once the model is cached, you can disconnect from the internet and the summarizer keeps working. The first run needs an internet connection to download the model. - Q: Are the three AI tools sharing one model? A: Each tool uses its own small local model because they do different jobs (one summarizes, one classifies sentiment, one embeds text). The models are downloaded once on first use and cached in the browser, so disk usage is the sum of what you actually use. Privacy: Runs entirely on your device. The model is downloaded once to your browser cache, then runs offline. Nothing is sent to a server. --- ### Sentiment Analyzer URL: https://uttir.com/sentiment-analyzer Categories: text-tools, data-tools, ai-tools Description: This analyzer uses a compact local model loaded into your browser on first use. The model classifies each sentence as positive or negative with a confidence score, and the tool aggregates the per-sentence results into an overall label. Inference happens locally. The text never leaves the device, and the model weights are cached in the browser after the first run. How to use: 1. **Paste your text** — A paragraph, an email draft, a review, a tweet — anything up to a few thousand words. 2. **Click Analyze** — The first run downloads the model. After that it is cached and runs offline. 3. **Read the breakdown** — Each sentence is labeled with its sentiment and confidence. The aggregate label at the top is the dominant tone across the whole text. FAQ: - Q: How is the overall sentiment decided? A: Each sentence is labeled POSITIVE or NEGATIVE with a confidence score. The overall label is whichever side has the higher average confidence, weighted by how many sentences fall on each side. - Q: Does it handle non-English text? A: The model is most accurate on English text. For other languages, the model still runs but the labels may be less reliable. - Q: What does the "neutral" verdict mean? A: For a sentence where the model confidence is below 60%, we count it as neutral. Long texts with many low-confidence sentences lean neutral even when the high-confidence ones lean one way. - Q: Are the three AI tools sharing one model? A: Each tool uses its own small local model because they do different jobs (one summarizes, one classifies sentiment, one embeds text). The models are downloaded once on first use and cached in the browser, so disk usage is the sum of what you actually use. Privacy: Runs entirely on your device. The model is downloaded once to your browser cache, then runs offline. Nothing is sent to a server. --- ### Text Similarity URL: https://uttir.com/text-similarity Categories: text-tools, data-tools, ai-tools Description: This tool uses a local sentence-embedding model loaded into your browser on first use. It maps each text to a vector; the similarity score is the cosine similarity between the two vectors. Unlike a string-similarity check (which only sees literal characters), this tool sees meaning. "I love this product" and "This is amazing" score 0.7+; "I love this product" and "I hate everything" score 0.1 or lower. Inference runs in your browser; the model weights are cached after the first download. How to use: 1. **Paste both texts** — One per side. They can be any length — sentence, paragraph, or short article. 2. **Click Compare** — The first run downloads the model. After that it is cached and runs in a fraction of a second. 3. **Read the verdict** — A score from 0 to 1 plus a label: near-duplicate (≥0.95), similar (≥0.7), related (≥0.4), or unrelated (<0.4). FAQ: - Q: What does the score mean? A: A score from 0 to 1, where 1 means the model thinks the two texts mean the same thing and 0 means they are unrelated. Above 0.95 the texts are usually near-duplicates; above 0.7 they say the same thing in different words; above 0.4 they share a topic; below that they are different topics. - Q: How is this different from a string-similarity check? A: String similarity (Levenshtein, Jaccard) compares literal characters. "I love this product" and "This is fantastic" score ~0 with strings. The semantic similarity is ~0.7 because the model understands that both are positive product reviews. - Q: Does it work in languages other than English? A: The model is most accurate on English text. For other languages, scores will be lower than they should be. The tool still works, just with less reliable judgments. - Q: Are the three AI tools sharing one model? A: Each tool uses its own small local model because they do different jobs (one summarizes, one classifies sentiment, one embeds text). The models are downloaded once on first use and cached in the browser, so disk usage is the sum of what you actually use. Privacy: Runs entirely on your device. The model is downloaded once to your browser cache, then runs offline. Nothing is sent to a server. --- ### Background Remover URL: https://uttir.com/background-remover Categories: image-tools, ai-tools Description: This tool removes the background from an image using a small local AI model. The model runs entirely in your browser — your image is never uploaded to a server. The first run downloads the model (~25 MB). After that, the tool works offline and the result is produced in seconds. Pick an image from your device. The model produces an alpha mask for the foreground subject, which is composited onto a transparent background. Download the result as a PNG. Everything — the image, the model, and the result — stays on your device. There is no upload, no account, and no analytics on the image itself. How to use: 1. **Pick an image** — Choose a JPG, PNG, or WebP. The image stays in your browser; nothing is uploaded. 2. **Download the model on first use** — The first run downloads a small local model (~25 MB). After that, the tool works offline. 3. **Click Remove background** — Inference usually takes 1–3 seconds on a modern laptop. The result appears below the original. 4. **Download the result** — The result is a PNG with a transparent background, ready to use in your design or document. FAQ: - Q: What kind of images work best? A: The model is tuned for portraits and clear subjects on a relatively uniform background. People, products, and pets typically come out well. Busy backgrounds with no clear subject can produce a messier mask. - Q: Is the model downloaded every time? A: No. The first run downloads it to your browser cache; subsequent runs use the cached copy and work offline. You can remove the model from your device at any time with the small "remove model" button on the page. - Q: What format is the output? A: A PNG with a transparent background. The dimensions match the original image. Soft edges (hair, fur) keep the model’s own alpha curve, so the result blends naturally when you place it on a new background. - Q: Does my image leave my device? A: No. The model and the image both run in your browser. There is no server step. Privacy: Runs entirely on your device. The model is downloaded once to your browser cache, then runs offline. Your image never leaves the browser. --- ### Speech to Text URL: https://uttir.com/speech-to-text Categories: media-tools, ai-tools Description: This tool transcribes audio to text using a small AI model that runs in your browser. The audio and the model never leave your device. The first run downloads the model (~40 MB). After that, transcription works offline. You can upload an audio file or record from your microphone. Output is shown as text with timestamps. You can copy the text, download as .txt, or download as .srt subtitles (compatible with YouTube, VLC, and most video editors). Everything — the audio, the model, and the result — stays on your device. There is no upload, no account, and no analytics on the audio itself. How to use: 1. **Pick an audio source** — Choose an audio file (mp3, m4a, wav, webm, ogg) or click Record to capture from your microphone. 2. **Download the model on first use** — The first run downloads a small local model (~40 MB). After that, transcription works offline. 3. **Click Transcribe** — Inference is local. A one-minute clip typically finishes in a few seconds on a modern laptop. The result appears below with timestamps. 4. **Copy or download** — Use Copy for plain text, or download as .txt or .srt. The .srt format works with most video editors and YouTube for subtitles. FAQ: - Q: How accurate is the transcription? A: For clear English speech with a decent microphone, accuracy is high. For background noise, strong accents, or low-quality audio, expect more errors. The model is the smallest Whisper variant (tiny) for fast download — a larger model would be more accurate but much bigger. - Q: What languages are supported? A: The model auto-detects the language and supports dozens of languages, with English being the strongest. The first few seconds of audio are used to detect the language. - Q: Does my audio leave my device? A: No. The audio and the model both run in your browser. There is no server step. The microphone stream is local to your tab. - Q: Is the model downloaded every time? A: No. The first run downloads it to your browser cache; subsequent runs use the cached copy and work offline. You can remove the model from your device at any time with the small button on the page. - Q: What is the .srt format? A: SRT (SubRip) is the most widely supported subtitle format. Each entry has a sequence number, a timecode range, and the spoken text. YouTube, VLC, Premiere Pro, and Final Cut Pro all accept it. Privacy: Runs entirely on your device. The audio and the model stay on your device — nothing is uploaded. The first run downloads a small local model (~40 MB); after that, transcription works offline. --- ### YouTube Thumbnail Downloader URL: https://uttir.com/youtube-thumbnail-downloader Categories: media-tools, image-tools Description: Paste a YouTube URL or video ID and we list every thumbnail size that YouTube generated for the video. Click Download to save it as a JPG, or Copy URL to use the image source in your own code. YouTube generates up to five thumbnail sizes per video: a 1280×720 maximum-resolution version (when the uploader provided one), a 640×480 standard version, a 480×360 high-quality version, a 320×180 medium-quality version, and a 120×90 default. Older videos sometimes lack the higher resolutions. How to use: 1. **Paste a YouTube URL or video ID** — A full link like https://www.youtube.com/watch?v=dQw4w9WgXcQ works, as does a bare 11-character video ID. We parse the link locally — nothing is sent to a server. 2. **Pick a size** — The tool shows every size that exists for that video. Click the thumbnail to open it full-size, or use the Download button to save it as a JPG. 3. **Copy the image URL** — Need the direct image URL to embed in your own page? Each card has a Copy URL button that puts the YouTube CDN link on your clipboard. FAQ: - Q: Does this work for private or age-restricted videos? A: No. We use YouTube's public oEmbed endpoint, which only returns metadata for public, unlisted, and embeddable videos. Private, age-restricted, and removed videos will return a 404. - Q: Is downloading a thumbnail legal? A: Thumbnails are public assets served from YouTube's image CDN. YouTube's Terms of Service allow using thumbnails for non-commercial purposes (including sharing, commentary, and thumbnails in third-party apps). For commercial use, contact the video's owner. - Q: Why does the maximum resolution sometimes 404? A: Maximum-resolution (1280×720) thumbnails are only generated when the uploader uploaded a custom thumbnail at that size. Older videos and most auto-generated thumbnails stop at 480×360. - Q: Do you support YouTube Shorts? A: Yes. Shorts use the same thumbnail CDN, and the tool will pick up the same sizes. Privacy: Thumbnails are public assets hosted on YouTube's image CDN. We never see the image or the URL you paste — the lookup happens in your browser, and the downloads come straight from YouTube. --- ### SVG Optimizer URL: https://uttir.com/svg-optimizer Categories: image-tools, developer-tools Description: Paste or drop an SVG and the tool rewrites it in your browser, removing the things designers and tools tend to add but that you don't need on a live page: editor comments, empty group wrappers, default attribute values, and high-precision coordinate floats. You control what gets stripped. Numeric precision, comment removal, metadata removal, whitespace collapse, default-attribute removal, and empty-group removal are all independent toggles, so the result is exactly the cleanup you want. How to use: 1. **Paste or drop an SVG** — You can paste the markup directly, or drop a .svg file onto the input box. The whole file stays in your browser. 2. **Pick your cleanup options** — Each option has a clear name and an obvious effect. The defaults work well for most exports from Figma, Illustrator, and Inkscape. 3. **Copy or download the result** — When you're happy with the cleaned-up SVG, copy it to your clipboard or download it as a new .svg file. The original is not modified. FAQ: - Q: Is this safe to use on a logo or icon I paid a designer for? A: Yes — the optimizer never reinterprets paths or changes geometry at the default precision. It only strips comments, empty wrappers, and default attributes, and rounds floats. The visual output is identical to the input within the precision you set. - Q: Will the optimizer break my SVG? A: No. It only removes a few categories of safe-to-strip content (comments, empty wrappers, attributes that match the SVG default) and rounds numbers. It does not merge paths, reoptimize curves, or transform the geometry. - Q: What does "remove default attributes" do? A: Many SVGs include attributes like fill-opacity="1" or stroke="none" that match the SVG default and add no information. The optimizer drops them, which usually saves a few percent on icons and a lot more on large exported illustrations. - Q: Do I need to upload the SVG? A: No. The whole optimization runs in your browser. The file is parsed, simplified, and re-serialized on this page; nothing is sent to a server. Privacy: Everything happens in your browser. We never see the SVG you paste — the file is parsed and rewritten on the page and the optimized output is generated locally. --- ### Decision Maker URL: https://uttir.com/decision-maker Categories: generators, text-tools Description: A tool for breaking analysis-paralysis on decisions where the options are roughly equal. Type two or more options, one per line, and the tool picks one with a fair random draw. The result cycles through the options briefly to show that the choice is not predetermined, then lands on a final answer. This is a tiebreaker, not a substitute for judgment. If one option is clearly better, pick that one. The tool is for the cases where the analysis is going in circles and the answer does not actually matter — what to eat, which color to pick, which book to read next. How to use: 1. **Type your options** — One option per line. Two minimum. 2. **Click "Decide for me"** — The tool cycles through the options briefly, then lands on a final answer. 3. **Use the answer (or roll again)** — If the answer does not feel right, click again. The draw is independent each time. FAQ: - Q: When should I use this tool? A: Only when the options are roughly equal AND you have spent enough time analyzing that further analysis is not going to help. For any decision where one option is clearly better, pick that one. For decisions where the analysis is fresh, do the analysis. The tool is a tiebreaker, not a substitute. - Q: Is the answer really random? A: Yes. The draw uses the browser's cryptographically-secure random number generator. The result is unpredictable until the moment it lands. You can verify by clicking many times and watching the distribution of picks across your options. - Q: Why does the tool cycle through the options first? A: To make it visually clear that the choice is not predetermined. The cycling is a UI affordance — the actual pick happens at the end. If you do not like the answer, you can click again and the next pick is independent. - Q: How many options can I have? A: There is no hard limit. Two is the minimum (anything less is not a decision). Twenty starts to feel unwieldy. For a genuinely useful decision, 2-5 options is the practical range. Privacy: Your options and the chosen answer are processed entirely in your browser. Nothing is sent to a server. --- ### HEX to RGB URL: https://uttir.com/hex-to-rgb Categories: color-tools Description: HEX codes like #4f46e5 are shorthand for RGB values. This converter expands any 3- or 6-digit HEX code into its rgb() and hsl() CSS equivalents, with a live preview swatch. Invalid input is flagged immediately so you never copy a broken value into your stylesheet. How to use: 1. **Enter a HEX code** — With or without the leading #, 3 or 6 digits. 2. **Copy RGB or HSL** — Both formats appear with copy buttons. FAQ: - Q: Do 3-digit codes work? A: Yes. Each digit is doubled: #f80 equals #ff8800. - Q: How do I add transparency? A: Use the 8-digit HEX form (#RRGGBBAA) where the last two digits are the alpha (00 = transparent, FF = opaque). Or convert to RGBA, which has an explicit alpha channel. - Q: What is the difference between hex and RGB? A: They are the same color, just written differently. Hex is a compact base-16 shorthand (#RRGGBB) and RGB is the three component values (red, green, blue, each 0-255). Use whichever your code or design tool prefers. - Q: Does the tool support 8-digit hex (with alpha)? A: Yes. An 8-digit hex like #FF8800CC is converted to rgba(255, 136, 0, 0.8). The alpha is converted to a 0–1 range for CSS use. Privacy: Conversion runs locally in your browser. --- ### RGB to HEX URL: https://uttir.com/rgb-to-hex Categories: color-tools Description: Enter red, green, and blue channel values from 0 to 255 and get the matching HEX code, ready to paste into CSS or a design tool. A live swatch shows the color as you type. Out-of-range or non-numeric channels are flagged instead of silently clamped, so you always know what you are copying. How to use: 1. **Enter R, G, B values** — Whole numbers from 0 to 255. 2. **Copy the HEX** — The code appears next to the preview swatch. FAQ: - Q: Why 0 to 255? A: Each RGB channel is one byte, giving 256 possible intensities from 0 (none) to 255 (full). - Q: How do I add transparency? A: Output the 8-digit HEX form (#RRGGBBAA) where the last two digits are the alpha (00 = transparent, FF = opaque). Most modern CSS supports this directly. - Q: Can I paste a CSS color and get the hex? A: Yes — paste any valid CSS color (hex, rgb, rgba, hsl, named) and the output is the matching hex. The picker also accepts HSL inputs and converts to hex. - Q: What about RGBA inputs? A: Paste rgba(255, 136, 0, 0.5) and the tool extracts the RGB part (#FF8800) and shows the alpha as a percentage (50%). It also accepts hsla() and named colors like "tomato". Privacy: Conversion runs locally in your browser. --- ### Contrast Checker URL: https://uttir.com/contrast-checker Categories: color-tools Description: Low-contrast text is one of the most common accessibility failures. This checker computes the WCAG contrast ratio between any two colors and tells you whether the pair passes AA and AAA for normal and large text. A live preview shows your exact combination, so you can judge readability with your own eyes before shipping a palette. How to use: 1. **Pick text and background colors** — Use the two color pickers or type HEX values. 2. **Read the ratio and badges** — Pass/fail is shown for AA and AAA at both text sizes. FAQ: - Q: What ratio do I need? A: WCAG AA requires 4.5:1 for normal text and 3:1 for large text (18pt+ or 14pt bold). AAA raises these to 7:1 and 4.5:1. - Q: What counts as large text? A: Roughly 18pt (24px) regular or 14pt (18.5px) bold. The large-text thresholds are lower because bigger glyphs stay legible at lower contrast. - Q: What is WCAG AA? A: A Web Content Accessibility Guidelines standard. AA requires a contrast ratio of 4.5:1 for normal text and 3:1 for large text. AAA is stricter: 7:1 and 4.5:1. The tool shows which level your colors pass. - Q: What WCAG level does a 4.5:1 ratio meet? A: A 4.5:1 contrast ratio is the minimum for AA compliance on normal text. AAA requires 7:1 for normal text (4.5:1 for large text). The tool shows the pass/fail verdict for each level. Privacy: Contrast calculations run locally in your browser. --- ### JPG to PNG URL: https://uttir.com/jpg-to-png Categories: image-tools Description: PNG is lossless and supports transparency, making it the right choice for graphics, screenshots, and images you will edit again. This converter re-encodes any JPG as PNG using your browser’s built-in image engine. Because conversion happens on your device, even private photos never touch a server. How to use: 1. **Choose a JPG** — Click or drag & drop — up to 25 MB. 2. **Download the PNG** — The converted file is ready in a second. FAQ: - Q: Will the PNG be larger than the JPG? A: Usually yes. JPG is lossy and compact; PNG is lossless. The trade-off is quality and editability, not file size. - Q: Does conversion add transparency? A: No. A JPG has no alpha channel, so the PNG keeps the same opaque pixels — just losslessly encoded. - Q: Will the file get bigger? A: Usually yes, because PNG is lossless. A JPEG that is 200 KB might become 800 KB as PNG. Use PNG for graphics with sharp edges and text; use JPEG for photos. - Q: Will the converted PNG look different from the JPG? A: The pixel content is the same. PNG is lossless, so the conversion cannot introduce artifacts. PNG files are usually larger than JPG for photos, but smaller for images with flat colors and text. Privacy: Your image is converted locally in your browser and never uploaded. --- ### PNG to JPG URL: https://uttir.com/png-to-jpg Categories: image-tools Description: JPG files are far smaller than PNG for photos, which makes them better for web pages and sharing. This converter lets you set the quality and choose a background color to replace any transparent pixels, since JPG has no alpha channel. Everything runs on your device using the browser’s native encoder. How to use: 1. **Choose a PNG** — Up to 25 MB. 2. **Set background and quality** — The background fills transparent areas; quality balances size vs. fidelity. 3. **Download the JPG** — Ready instantly. FAQ: - Q: What happens to transparent pixels? A: They are filled with the background color you choose (white by default), because JPG cannot store transparency. - Q: Will the file get smaller? A: Usually yes, because JPEG is lossy. A PNG that is 800 KB might become 150 KB as JPEG. The trade-off is a small loss in quality, which is usually invisible for photos. - Q: What quality setting should I use? A: For most photos, 80-85% gives the best balance — small files with no visible quality loss. Drop to 60-70% for email attachments where size matters more than fidelity; stay at 90%+ for archival or print. Privacy: Your image is converted locally in your browser and never uploaded. --- ### WebP Converter URL: https://uttir.com/webp-converter Categories: image-tools, converters Description: WebP typically produces files 25–35% smaller than JPG at comparable quality, which is why it is the default for modern web images. This converter re-encodes JPG or PNG to WebP with a quality slider, entirely on your device. If your browser cannot encode WebP, the tool tells you clearly instead of failing silently. How to use: 1. **Choose a JPG or PNG** — Up to 25 MB. 2. **Set the quality** — Lower quality means smaller files. 3. **Download the WebP** — Ready in a second. FAQ: - Q: Is WebP widely supported? A: Yes. All modern browsers and current versions of major operating systems support WebP. - Q: Will I lose quality? A: WebP is lossy by default here, but at 80–90% quality the difference is usually imperceptible while the file shrinks a lot. - Q: What is WebP? A: A modern image format from Google that produces smaller files than JPEG or PNG at the same visual quality. Supported in all modern browsers since 2020. Privacy: Your image is converted locally in your browser and never uploaded. --- ### Image Compressor URL: https://uttir.com/image-compressor Categories: image-tools Description: Smaller images load faster and use less bandwidth. This compressor re-encodes your image as JPG or WebP at a quality you choose, and shows the original size, new size, and percentage saved before you download. Because it runs locally, you can compress sensitive images without uploading them anywhere. How to use: 1. **Choose an image** — JPG, PNG, or WebP up to 25 MB. 2. **Tune quality and format** — WebP usually saves the most at a given quality. 3. **Check the savings and download** — Before/after sizes are shown side by side. FAQ: - Q: Why is my compressed file sometimes bigger? A: If the source is already heavily compressed or tiny, re-encoding at high quality can add data. Lower the quality or switch to WebP. - Q: Does compression reduce dimensions? A: No. This tool reduces file size via encoding quality, not pixel dimensions. Use the Image Resizer to change dimensions. - Q: What is the difference between quality and size? A: Quality is the encoder's fidelity setting (1-100). Size is the target file size in KB. A quality-based compressor lets you pick how good the image looks; a size-based compressor picks the quality that fits your size target. Privacy: Your image is compressed locally in your browser and never uploaded. --- ### Image Resizer URL: https://uttir.com/image-resizer Categories: image-tools Description: Set a target width and height in pixels and the resizer scales your image using the browser’s high-quality smoothing. Lock the aspect ratio to avoid distortion, or unlock it for exact dimensions. Output is PNG, so resized graphics stay crisp with no added compression artifacts. How to use: 1. **Choose an image** — The current dimensions are shown. 2. **Set width or height** — With the lock on, the other axis follows automatically. 3. **Resize and download** — The result is a PNG at your exact dimensions. FAQ: - Q: Can I enlarge an image? A: Yes, but enlarging cannot add real detail — the browser interpolates pixels, so big upscaling looks soft. Downscaling gives the best results. - Q: What format is the output? A: PNG. PNG is lossless so the resized image is pixel-identical to the source at the new dimensions. Use a separate converter if you need JPG output. - Q: Does resizing change the file size? A: Smaller dimensions usually mean a smaller PNG, but not linearly — a 2000×1000 PNG of flat color can be smaller than a 200×100 PNG of noise. PNG compresses runs of identical pixels. Privacy: Your image is resized locally in your browser and never uploaded. --- ### Image Cropper URL: https://uttir.com/image-cropper Categories: image-tools Description: Specify the top-left corner (X, Y) and the width and height of the region you want, and the cropper extracts exactly that area as a PNG. Values are clamped to the image so you can never crop outside its bounds. Useful for pulling out a logo, a face, or a section of a screenshot without any software. How to use: 1. **Choose an image** — A preview and its dimensions are shown. 2. **Enter the crop region** — X, Y, width, and height in pixels. 3. **Crop and download** — The extracted region is saved as PNG. FAQ: - Q: What do X and Y mean? A: They are the pixel coordinates of the top-left corner of the crop, measured from the top-left of the image (0,0). - Q: Can I crop to a specific aspect ratio? A: Yes. There is a preset list (1:1, 4:3, 16:9, etc.) and a custom ratio input. The crop box is constrained to the ratio as you drag. - Q: Does cropping change the file size? A: Usually yes — a smaller cropped image is a smaller PNG. PNG compression favors uniform regions, so cropping out a busy background often shrinks the file more than the area ratio suggests. Privacy: Your image is cropped locally in your browser and never uploaded. --- ### Image to Base64 URL: https://uttir.com/image-to-base64 Categories: image-tools, encoding-tools Description: A Base64 data URL embeds an image directly in HTML or CSS, avoiding an extra request. This tool encodes images up to 2 MB and shows the resulting string with its character count so you can judge whether embedding is sensible. For anything larger, linking a real file is almost always the better choice — Base64 also adds ~33% size overhead. How to use: 1. **Choose a small image** — Under 2 MB is recommended. 2. **Copy the data URL** — Paste it into a src attribute or CSS url(). FAQ: - Q: When should I use a data URL? A: For tiny, frequently-used assets like icons where avoiding an extra request wins. For real photos, serve a file instead. - Q: Does the data URL work everywhere? A: Yes. Data URLs are supported by every modern browser in HTML , CSS background-image, and JS. They are also useful in CSS preprocessors and design tools. - Q: Can I encode SVGs the same way? A: Yes, but it is rarely useful. An inline SVG is usually smaller than the same image as a data URL, and it scales without quality loss. Encode raster images (PNG, JPG, WebP) as data URLs; embed SVGs as text. Privacy: Your image is encoded locally in your browser and never uploaded. --- ### Favicon Generator URL: https://uttir.com/favicon-generator Categories: image-tools Description: A favicon needs several sizes to look crisp everywhere: 16 and 32 px for browser tabs, 48 px for Windows, and 180 px for Apple touch icons. This tool renders all four from a single source image so you can download exactly what your site needs. A square source image produces the best results; non-square images are scaled to fit each square canvas. How to use: 1. **Choose a square-ish image** — Your logo or icon works well. 2. **Download each size** — 16, 32, 48, and 180 px PNGs are generated. FAQ: - Q: Which sizes do I actually need? A: A 32x32 ICO for legacy browsers, a 180x180 apple-touch-icon.png for iOS, and a 192x192 + 512x512 PNG for Android. Modern browsers prefer the SVG version. The tool generates all of these from one source image. - Q: Can I use an SVG as the source? A: Yes. SVG is the preferred modern source because it scales without quality loss. The tool rasterizes the SVG to each output size. - Q: Where do I put the generated files? A: Drop the favicon.ico in your site root, the apple-touch-icon.png in the root too, and add the and tags in your HTML . Privacy: Your image is processed locally in your browser and never uploaded. --- ### HEIC to JPG URL: https://uttir.com/heic-to-jpg Categories: image-tools, converters Description: Modern iPhones store photos as HEIC (HEIF) files, which save space but are awkward to share — many websites, email services, and older software can’t open them. This converter re-encodes your HEIC photo as a standard JPG so it works anywhere. Conversion runs locally in your browser using a WebAssembly build of the libheif decoder, so your photos never leave your device — ideal for personal or sensitive pictures. How to use: 1. **Choose a HEIC photo** — Files with the .heic or .heif extension, straight from your phone. 2. **Set the quality** — Lower quality means a smaller file; 85% is a good default. 3. **Download the JPG** — The converted image is ready instantly, with the original previewed alongside. FAQ: - Q: Why can’t I open my iPhone photos? A: Many services don’t support the HEIC format. Converting to JPG gives you a universally compatible file with a much smaller footprint. - Q: Is my photo uploaded to a server? A: No. The HEIC decoder runs as WebAssembly inside your browser tab. Your photo never leaves your device. - Q: Which browsers are supported? A: Any modern browser that supports WebAssembly — Chrome, Edge, Firefox, and Safari all work. Privacy: Your photo is converted locally in your browser using WebAssembly and never uploaded anywhere. --- ### JPG to PDF URL: https://uttir.com/jpg-to-pdf Categories: pdf-tools, converters Description: Turn a set of images into a shareable PDF — ideal for scans, receipts, photos, and slides. Each image becomes one page at its native size, in the order you add them. Everything runs on your device using a client-side PDF library, so sensitive documents never leave your browser. How to use: 1. **Choose images** — JPG or PNG; add as many as you need. 2. **Review the order** — Images are placed in the order listed; remove any you don’t want. 3. **Combine and download** — The PDF is built instantly. FAQ: - Q: What page size will the PDF use? A: Each page matches its image’s pixel dimensions, so nothing is cropped or letterboxed. - Q: Will the PDF be searchable? A: No — JPG is a flat image. The PDF will show the image but the text will not be selectable. For searchable PDFs, use the OCR tool first, then convert. - Q: Are the images compressed in the PDF? A: Yes. The tool embeds JPEGs at the same quality, which keeps the file size close to the originals. PNGs with transparency are embedded as-is. The result is typically much smaller than scanning at 300 DPI. Privacy: Your images are combined into a PDF locally in your browser and never uploaded. --- ### PDF to JPG URL: https://uttir.com/pdf-to-jpg Categories: pdf-tools, converters Description: Each page of your PDF is rendered to a canvas at 2× scale and exported as a JPG, so text stays crisp and images look clean. Download any page individually. Rendering uses a client-side PDF engine, so the document never leaves your browser. How to use: 1. **Choose a PDF** — Pages are rendered automatically. 2. **Download pages** — Grab individual pages as JPG. FAQ: - Q: Why 2× scale? A: Rendering at double resolution keeps text sharp on high-density displays and when zoomed. - Q: Can it handle scanned PDFs? A: Yes. Scanned pages are already images, so they convert directly to JPG. - Q: How are multi-page PDFs handled? A: Each page becomes a separate JPG, with the page number appended to the filename (page-1.jpg, page-2.jpg, etc.). You can also choose to combine them into a single tall image. - Q: Why is the output ZIP, not multiple JPGs? A: Browsers can only download one file at a time. A ZIP lets the tool deliver all pages in a single download and preserves the original page order. Most systems can open ZIP files natively. Privacy: Your PDF is rendered locally in your browser and never uploaded. --- ### PDF Merge URL: https://uttir.com/pdf-merge Categories: pdf-tools Description: Join two or more PDFs into a single file. Pages are copied in the order you add the files, so you control the final sequence. Bookmarks and forms are flattened to plain pages. Merging runs entirely on your device — ideal for contracts, reports, and any document you would rather not upload. How to use: 1. **Add PDFs in order** — Two or more; they merge in the listed sequence. 2. **Merge and download** — The combined PDF is ready in seconds. FAQ: - Q: Are pages reordered or lost? A: No. Every page from every file is copied, in order, into the output. - Q: Do encrypted PDFs work? A: Password-protected PDFs are loaded with encryption ignored where possible; a file that cannot be opened will report a clear error. - Q: Is the upload secure? A: There is no upload. The PDFs are read from your device, merged in the browser, and the result is downloaded. Nothing leaves your device. - Q: Is there a size limit? A: The tool runs entirely in your browser, so the practical limit is your device memory. Files under 100 MB work on most laptops; multi-gigabyte files may exhaust memory on lower-end devices. Privacy: Your PDFs are merged locally in your browser and never uploaded. --- ### PDF Split URL: https://uttir.com/pdf-split Categories: pdf-tools Description: Pull out just the pages you need. Specify a start and end page and the tool builds a new PDF containing only that range — handy for sharing a chapter, an appendix, or a single form from a long document. Values are clamped to the document’s real page count, so you can’t extract pages that don’t exist. How to use: 1. **Choose a PDF** — Its page count is shown. 2. **Set the range** — From and to page numbers. 3. **Extract and download** — A new PDF with only those pages. FAQ: - Q: Can I extract a single page? A: Yes. Set the start and end page to the same page, and the output is a single-page PDF. The tool can also split into ranges (pages 1-3, 4-6, 7-10) and extract every page as a separate file. - Q: Is there a file size limit? A: No hard limit, but the file is processed in your browser, so practical limits depend on your device memory. 200 MB works on a modern laptop; 2 GB may struggle. - Q: Are the output PDFs searchable? A: Yes — extracted pages keep their text layer. Scanned PDFs without a text layer are still image-only in the output (use the OCR tool to add a text layer first). Privacy: Your PDF is processed locally in your browser and never uploaded. --- ### PDF Compressor URL: https://uttir.com/pdf-compressor Categories: pdf-tools Description: This compressor re-saves your PDF using compressed object streams, which compacts the document structure and removes redundant objects. It shows the original and new size plus the percentage change before you download. It is lossless — text, vectors, and images are preserved exactly. Savings are largest for PDFs produced by tools that write uncompressed structures. How to use: 1. **Choose a PDF** — Up to 50 MB. 2. **Review the savings** — Original vs. compressed size is shown. 3. **Download** — Keep whichever file is smaller. FAQ: - Q: Why didn’t my PDF shrink much? A: If the PDF is already optimized, most of its size is in compressed images and fonts that lossless repacking cannot reduce. For bigger wins, lower image quality with the Image Compressor before creating the PDF. - Q: Is anything lost in compression? A: No. This is structural optimization, not quality reduction — content is preserved exactly. - Q: How much can a PDF be compressed? A: It depends on the content. Image-heavy PDFs compress 50-80%. Text-only PDFs compress 10-30%. The tool re-saves the images inside the PDF at a lower quality, which is the main lever. Privacy: Your PDF is compressed locally in your browser and never uploaded. --- ### PDF Rotate URL: https://uttir.com/pdf-rotate Categories: pdf-tools Description: Rotate individual pages or a whole document by 90°, 180°, or 270°. The rotation is lossless — the PDF is re-saved with the new orientation metadata, no re-rendering. Useful when a scanner produces sideways pages, or when mixing landscape and portrait pages from different sources into one document. How to use: 1. **Choose rotation** — 90° (left/right), 180° (upside-down), or 270° (left/right the other way). 2. **Pick pages** — All pages, or only the ones you list (1, 3, 5, …). 3. **Download** — The rotated PDF is ready in seconds. FAQ: - Q: Does rotation reduce image quality? A: No. The rotation just changes the orientation metadata in the PDF; the page content is not re-rendered, so quality is preserved exactly. - Q: Can I rotate just one page in the middle of the document? A: Yes. Pass the page number in the Pages field (e.g. "1, 3, 5") to rotate only those pages. - Q: Can I rotate some pages and not others? A: Yes. Pass a comma-separated list of page numbers in the Pages field to rotate only those pages, leaving the others untouched. Privacy: The rotation runs in your browser; the PDF never leaves your device. --- ### Add Page Numbers to PDF URL: https://uttir.com/pdf-add-page-numbers Categories: pdf-tools Description: Number pages of a PDF for printing, distribution, or review. Pick from "1", "1/5", or "Page X of Y" formats, choose one of six positions, and start counting wherever the document needs. The numbers are drawn with embedded Helvetica at any color you specify. The PDF never leaves your browser. How to use: 1. **Pick a format** — "1", "1/5", or "Page X of Y". 2. **Pick a position** — Six anchors: bottom-left/center/right and top-left/center/right. 3. **Choose start number** — For documents that begin with a cover page. 4. **Apply** — Page numbers are drawn on the selected pages. FAQ: - Q: Will the page numbers survive being printed or scanned? A: Yes. The numbers are baked into the PDF as text, not as an overlay — they are part of the document content. - Q: Can I number only certain pages? A: Yes. Pass a comma-separated list like "1, 2, 5-7" to number only those pages. - Q: Will the numbers survive printing or scanning? A: Yes. They are part of the document content — not a layer or annotation — so they remain visible in every print, every PDF reader, and every scan. Privacy: Page numbers are drawn directly in the PDF in your browser. The file never leaves your device. --- ### Add Watermark to PDF URL: https://uttir.com/pdf-add-watermark Categories: pdf-tools Description: Stamp a watermark on every page of a PDF — diagonally across the page for a classic look, or as a banner at the top for a header-style mark. Pick the text, color, and opacity. Useful for marking drafts as "DRAFT" or "CONFIDENTIAL", branding documents before sharing, or adding a copyright notice. How to use: 1. **Enter watermark text** — e.g. "DRAFT", "CONFIDENTIAL", or your brand. 2. **Pick orientation** — Diagonal (centered, rotated -30°) or banner (top of page). 3. **Apply** — The watermark is drawn on every selected page. FAQ: - Q: Can I remove the watermark later? A: No — the watermark is baked into the PDF content. To remove it, re-create the document from its source. - Q: Is the watermark visible when printed? A: Yes. The watermark is part of the document content, not an on-screen overlay, so it appears on every print and every view. - Q: Does the watermark stay sharp on zoom? A: Yes. The watermark is drawn as vector text with embedded Helvetica, so it stays sharp at any zoom level. Privacy: Watermarks are drawn directly into the PDF in your browser. The document is never uploaded. --- ### PDF Crop URL: https://uttir.com/pdf-crop Categories: pdf-tools Description: Crop the visible region of every PDF page — useful for trimming margins, isolating a chart, or resizing a scanned page. Specify the crop rectangle in PDF points (1 point = 1/72 inch). The crop is lossless: original page content is preserved, only the visible region changes. Resetting the crop restores the original page. How to use: 1. **Pick pages** — All pages, or specific ones (1, 3, 5). 2. **Set crop rectangle** — Origin (x, y), width, and height in PDF points. The page is 612 × 792 points (US Letter) by default. 3. **Apply** — The cropped PDF is ready to download. FAQ: - Q: What is a PDF point? A: PDF points are 1/72 of an inch. A US Letter page is 612 × 792 points. To remove 1 inch of margin on all sides, set x = 72, y = 72, width = 468, height = 648. - Q: Does cropping delete content or just hide it? A: PDF CropBox just changes which region is visible — the underlying content outside the crop region is preserved (and recoverable by clearing the crop). - Q: Will the crop hold up when printed? A: Yes. Most modern PDF readers and print drivers respect the CropBox and only render the cropped region, so the printed output matches what you see on screen. Privacy: Crop runs in your browser via pdf-lib. The PDF is never sent to a server. --- ### Sign PDF URL: https://uttir.com/pdf-sign Categories: pdf-tools Description: Draw your signature with a mouse, trackpad, touch screen, or stylus. Place it on any page of any PDF. The signature is embedded as a transparent PNG — nothing is sent to a server. This is a visual e-signature, suitable for casual agreements, internal approvals, and proof-of-review. For legally binding signatures with audit trails and PKI certificates, use a dedicated signing service. How to use: 1. **Upload your PDF** — The file stays on your device throughout. 2. **Draw your signature** — Use mouse, finger, or stylus. Clear and redraw as needed. 3. **Pick a page and position** — Choose which page to sign and where on the page. 4. **Download the signed PDF** — The signature is baked into the file. FAQ: - Q: Is this signature legally binding? A: No. This is a visual signature overlay suitable for proof-of-review, internal approvals, and casual agreements. For legally binding signatures you need a PKI-backed signing service (DocuSign, Adobe Sign, etc.). - Q: Can I sign multiple pages with different signatures? A: Currently the tool signs one page per run. To sign multiple pages with different signatures, run the tool multiple times and merge the resulting PDFs. - Q: Does the signature stay sharp at any size? A: Yes. The signature is embedded as a high-resolution PNG, so it stays sharp whether the PDF is viewed at 100% or zoomed in. Privacy: The signature is drawn locally, encoded as a PNG, and embedded in the PDF in your browser. No server is involved. --- ### PDF Remove Pages URL: https://uttir.com/pdf-remove-pages Categories: pdf-tools Description: Remove one page, several pages, or a range from any PDF. Specify the pages by number (1, 3, 5), range (1-3, 7-9), or comma-separated combination (1, 3, 5-7). The remaining pages keep their original formatting, bookmarks, and form fields. The file shrinks accordingly. How to use: 1. **Upload your PDF** — Up to 50 MB. 2. **Specify pages to remove** — e.g. "1, 3, 5-7" — first page, page 3, and pages 5 through 7. 3. **Download** — The cleaned PDF is ready in seconds. FAQ: - Q: Can I undo the removal? A: No — the original is not preserved. We recommend keeping a copy of the source PDF before removing pages. - Q: Will removing pages break the rest of the document? A: No. Pages are removed as a unit; the remaining pages keep their original formatting, fonts, and form fields. - Q: Can I remove pages from a password-protected PDF? A: Not directly with this tool. If the PDF is encrypted, unlock it first (a separate workflow) and then remove pages. Privacy: Pages are removed in your browser. The PDF is never uploaded or sent to any server. --- ### PDF Organize Pages URL: https://uttir.com/pdf-organize Categories: pdf-tools Description: Reorder pages of a PDF by listing the desired order. For example, "3, 1, 2, 4" makes page 3 the new first page, then pages 1 and 2, then page 4. Bookmarks and form fields are preserved on the pages they live on. The file size and page count stay the same. How to use: 1. **Upload your PDF** — Up to 50 MB. 2. **Specify new order** — A comma-separated list of every page number, e.g. "3, 1, 2, 4". 3. **Apply** — The reordered PDF is ready to download. FAQ: - Q: Will bookmarks stay with their original pages? A: Yes. pdf-lib preserves bookmarks, annotations, and form fields on the pages they live on. - Q: Can I reverse the order? A: Run the tool again with the original order (1, 2, 3, …) to put pages back where they were. - Q: Can I specify the new order visually (drag and drop)? A: Not in this tool — you type the new order as a comma-separated list. Drag-and-drop UI is on the roadmap for a future release. Privacy: Pages are reordered in your browser. The PDF is never uploaded. --- ### Unlock PDF URL: https://uttir.com/pdf-unlock Categories: pdf-tools Description: Unlock PDF removes the password protection from an encrypted PDF so it opens without a prompt. You need the password (or open permission) for the file — this tool is for documents you own, not for bypassing other people's security. The whole process happens in your browser. The file and the password you type are never sent to any server, which makes it safe for contracts, statements, and identity documents. How to use: 1. **Choose the locked PDF** — Pick the encrypted file you want to unlock. 2. **Type the current password** — The password you use to open the document. 3. **Unlock and download** — A decrypted copy is saved without the password. FAQ: - Q: Do I need the password to unlock a PDF? A: Yes. This tool unlocks PDFs you own — you must know the open password. PDFs with only an owner (permissions) password can usually be processed without one. - Q: Is removing a PDF password legal? A: For documents you own or have permission to modify, yes. Removing protection from someone else's file without authorization is illegal in most jurisdictions. - Q: What is the difference between user and owner passwords? A: A user password (open password) is required to view the file. An owner password only restricts actions like printing or copying. Files with just an owner password unlock without typing anything. - Q: Does the unlocked file lose quality? A: No. Pages, text, and images are re-saved losslessly — the only change is that the encryption is gone. Privacy: Your PDF and password are processed locally in your browser and never uploaded. --- ### Protect PDF URL: https://uttir.com/pdf-protect Categories: pdf-tools Description: Protect PDF encrypts your document with a password using AES — the same standard used by banks and governments. Readers must enter the password to open the file, and you can restrict what they may do: printing, copying text, modifying, or filling forms. Encryption happens on your device. The password never travels over the network, so you can safely protect sensitive documents like tax forms, medical records, or legal agreements. How to use: 1. **Choose the PDF** — Pick the document you want to encrypt. 2. **Set the password** — Optionally add a separate owner password and permissions. 3. **Encrypt and download** — The protected PDF opens only with the password. FAQ: - Q: Which encryption is used? A: AES-256 by default (the strongest, ISO-recommended option) or AES-128 for maximum compatibility with very old readers. RC4 is intentionally not offered — it is broken. - Q: What is an owner password? A: The owner password is the "admin" key: opening the file with it grants full access regardless of the permission restrictions. Leave it empty and the user password becomes the owner password too. - Q: Can readers still print or copy? A: You choose. Permissions like printing and copying are granted or denied with checkboxes, and they apply to readers who open the file with the user password. - Q: Can you recover a lost password? A: No — and that is a feature. AES-256 encryption cannot be bypassed, so keep the password safe. Use the Unlock PDF tool with your password to remove protection later. Privacy: Your PDF and password are encrypted locally in your browser and never uploaded. --- ### Repair PDF URL: https://uttir.com/pdf-repair Categories: pdf-tools Description: Repair PDF rebuilds a damaged document by parsing whatever is readable and copying every recoverable page into a clean, fresh PDF. Broken cross-reference tables, dangling references, and truncated trailers are the most common causes of "file is corrupted" errors — and all are tolerated here. Recovery is not magic: if the file is truncated in the middle, only the pages whose data survived can be recovered. The tool tells you how many pages it saved instead of pretending. How to use: 1. **Choose the damaged PDF** — The file that refuses to open normally. 2. **Run the repair** — Readable pages are copied into a clean document. 3. **Download the result** — You get a fresh PDF with every recoverable page. FAQ: - Q: What kinds of damage can be repaired? A: Broken xref tables, invalid objects, and structural corruption from bad transfers or buggy generators. Scanned-image pages inside a damaged file usually survive fully. - Q: Will everything be recovered? A: Everything that is physically intact and reachable. A file truncated mid-page loses that page; bookmarks and form fields may be dropped if their data is damaged. - Q: Why is my repaired file smaller? A: Repair re-saves with compressed object streams, which often packs the structure tighter than the original producer did. Content is unchanged. - Q: My PDF opens fine — will this improve it? A: Probably not. Repair is for files that fail to open or misbehave. For large healthy files, the PDF Compressor is the tool you want. Privacy: Your PDF is repaired locally in your browser and never uploaded. --- ### Flatten PDF URL: https://uttir.com/pdf-flatten Categories: pdf-tools Description: Flatten PDF bakes interactive form fields — text boxes, checkboxes, radio buttons — into the page itself. After flattening, the values you (or anyone) entered become ordinary page content that no viewer can change, and the file no longer depends on the filling app to render correctly. This is the final step before archiving or sharing a completed form: it guarantees what you see — including signatures — is exactly what everyone else sees. How to use: 1. **Choose the filled PDF** — A document with form fields or filled data. 2. **Flatten it** — Fields are converted to static page content. 3. **Download the flat copy** — The result has no editable fields left. FAQ: - Q: Will flattening change how the form looks? A: No — the displayed appearance of each field is drawn into the page as-is. What changes is that the fields are no longer editable or re-renderable. - Q: Does it work on PDFs without forms? A: Yes — the file is simply re-saved. The tool tells you when no form fields were present so you know nothing needed flattening. - Q: Can I un-flatten a PDF? A: No. Flattening is irreversible by design — that is the point. Keep the original fillable file if you might need to edit it again. - Q: Do digital signatures survive? A: Visible signature images become part of the page. Cryptographic signature validity can break because the document bytes change — re-sign the flattened file if that matters. Privacy: Your PDF is flattened locally in your browser and never uploaded. --- ### PDF to Markdown URL: https://uttir.com/pdf-to-markdown Categories: pdf-tools Description: PDF to Markdown extracts the text layer of your document and maps it to Markdown structure: ALL-CAPS and numbered lines become headings, bullet characters become lists, page numbers are stripped, and each page is separated by a rule so you always know where page boundaries were. The result is ready for static-site generators, wikis, GitHub READMEs, or AI tools that prefer Markdown context. Everything runs in your browser — the document never leaves your device. How to use: 1. **Choose the PDF** — Any text-based PDF converts instantly. 2. **Review the Markdown** — Headings, lists, and page breaks are detected for you. 3. **Copy or download** — Grab the .md file or copy it straight to your editor. FAQ: - Q: Will scanned PDFs work? A: No — scanned pages are images with no text layer. Run them through the OCR PDF tool first, then convert the searchable result. - Q: How are headings detected? A: Short lines without ending punctuation, ALL-CAPS lines, and numbered sections like "2.3 Results" are treated as headings. Long prose is joined into paragraphs. - Q: Are tables converted? A: Table text is extracted but complex grid layouts may flatten into lines. For heavy tables, the PDF to CSV or OCR route can work better. - Q: Why is there a --- between sections? A: That is a page separator, so you can see where each PDF page ended. You can disable it and export one continuous document. Privacy: Your PDF is converted locally in your browser and never uploaded. --- ### Compare PDFs URL: https://uttir.com/pdf-compare Categories: pdf-tools Description: Compare PDFs extracts the text layer from two documents and lines them up with a word-quality diff: added lines are highlighted green, removed lines red, and long unchanged stretches are collapsed so you can jump straight to the changes. Line numbers and pages are shown for every difference. It is a text comparison, not a pixel comparison — perfect for contracts, policies, and reports where the wording is what matters. Everything is computed in your browser; neither file is uploaded. How to use: 1. **Choose both PDFs** — The original first, then the revised version. 2. **Run the comparison** — Differences are highlighted immediately. 3. **Review the changes** — Green lines were added, red lines were removed. FAQ: - Q: Does it detect formatting or image changes? A: No — it compares text content. Moved paragraphs may appear as remove+add if their wording also changed; identical reordering of identical lines is not flagged. - Q: Can I ignore case or whitespace? A: Yes. Toggle "ignore whitespace" to hide reflow-only changes, and case sensitivity when capitalization differences do not matter. - Q: Are scanned PDFs supported? A: Only after OCR. The comparison works on the text layer, so run both files through the OCR PDF tool first if they are scans. - Q: Is there a page or size limit? A: Very large documents are compared with a reduced context view to keep the diff responsive. Files up to 50 MB are accepted, matching the other PDF tools. Privacy: Both PDFs are compared locally in your browser and never uploaded. --- ### PDF to PNG URL: https://uttir.com/pdf-to-png Categories: pdf-tools Description: PDF to PNG rasterizes each page of your document into a lossless PNG image at the resolution you choose. Unlike JPG, PNG never introduces compression artifacts, which makes it the better choice for screenshots of text, diagrams, and anything with sharp edges. Like every Uttir tool, rendering happens entirely on your device — the document is never uploaded, so private contracts and personal files stay private. How to use: 1. **Choose the PDF** — Any multi-page document works. 2. **Pick a resolution** — Scale 2 is screen-sharp; 3–4 is print-quality. 3. **Download PNGs** — Every page arrives as an individual PNG file. FAQ: - Q: PNG or JPG — which should I use? A: PNG for text, diagrams, and screenshots (lossless, sharp edges). JPG for photos in scanned documents (much smaller files). - Q: Which resolution should I pick? A: Scale 2 is twice the PDF point size — sharp on screens. Use 3 or 4 when the image will be printed or zoomed. - Q: Are multi-page PDFs supported? A: Yes — every page is converted, and each page downloads as its own numbered PNG file. - Q: Why are the PNG files larger than the PDF? A: PNG stores every pixel losslessly, while the PDF may keep text as compact vector data. If file size matters, PDF to JPG is the smaller option. Privacy: Your PDF is rendered locally in your browser and never uploaded. --- ### Extract PDF Images URL: https://uttir.com/extract-pdf-images Categories: pdf-tools Description: Extract PDF Images pulls out the actual embedded pictures — photographs, screenshots, scanned figures — at their original stored resolution, not a screenshot of the page. You can download each image individually or grab everything as a single zip. This is the difference between a 2000×1500 original photo and a blurry page capture. If the PDF is vector-only (text and drawings, no photos), the tool tells you honestly instead of returning junk — then PDF to PNG is the right tool for that job. How to use: 1. **Choose the PDF** — Any document with embedded photos works. 2. **Review the gallery** — Images are shown with page numbers and sizes. 3. **Download** — Grab individual PNGs or everything as one zip. FAQ: - Q: Will this recover images at original quality? A: Yes — images come out exactly as they were embedded, at full stored resolution. No re-compression, no page screenshots. - Q: Why did a page return no images? A: Pages with only text and vector drawings have no embedded raster images. Scan-heavy and photo documents extract the most. - Q: The same photo appears twice — why? A: Some PDFs embed the same image at multiple sizes (thumbnail plus full). Both copies are extracted; pick the larger one. - Q: How do I get whole pages as images instead? A: Use PDF to PNG — it rasterizes complete pages. This tool is only for pulling out the embedded pictures. Privacy: Your PDF is processed locally in your browser and never uploaded. --- ### Add Text to PDF URL: https://uttir.com/pdf-add-text Categories: pdf-tools Description: Add Text to PDF writes one or more lines of text onto the page you choose — or every page at once — with control over font, size, color, opacity, and precise placement. It is the lightweight alternative to a full PDF editor when you just need to stamp a label or drop in a correction. The text becomes real PDF content rendered exactly like the rest of the document — selectable, searchable, and print-sharp. Everything runs locally in your browser. How to use: 1. **Choose the PDF** — Pick the document to annotate. 2. **Type the text** — Choose the page, position, size, and color. 3. **Apply and download** — The text is written into the PDF. FAQ: - Q: Can I add text to every page at once? A: Yes — switch the target to "all pages" and the same text is written at the same position on every page, like a header or footer. - Q: Is the text selectable and searchable? A: Yes — it is real PDF text, not an image overlay. Readers can select, copy, and search it. - Q: Which fonts are supported? A: The standard PDF fonts: Helvetica (regular and bold), Times-Roman, and Courier. They require no font downloads and work in every viewer. - Q: Can I add several separate labels? A: One run adds one text block (which can span multiple lines). Apply the tool multiple times with different positions to build up several labels. Privacy: Your PDF is edited locally in your browser and never uploaded. --- ### Extract PDF Pages URL: https://uttir.com/pdf-extract-pages Categories: pdf-tools Description: Extract PDF Pages builds a new document from the pages you choose. Type a selection like "1,3,5-9,12" — single pages, ranges, or a mix — and the tool copies just those pages, in order, into a fresh PDF. Where PDF Split cuts a contiguous block, this tool handles arbitrary, non-contiguous picks, which is what most "extract pages" searches actually want. Everything runs locally in your browser. How to use: 1. **Choose the PDF** — The page count appears once the file is read. 2. **Type the page selection** — Use commas and ranges, e.g. 1,3,5-9. 3. **Extract and download** — The selected pages become a new PDF. FAQ: - Q: How is this different from PDF Split? A: Split cuts one contiguous from–to range. Extract Pages accepts any combination — 1,3,5-9,12 — and rebuilds a document from just those pages. - Q: Can I repeat a page or control the order? A: Pages are copied once, in ascending page order. Duplicate picks are collapsed, so 3,3,7 gives the same result as 3,7. - Q: What happens to pages I do not select? A: They stay in the original file untouched; the output is a brand-new PDF containing only your selection. - Q: Are out-of-range numbers an error? A: No — numbers beyond the last page are ignored, so a stale 999 in your list will not abort the extraction. Privacy: Your PDF is processed locally in your browser and never uploaded. --- ### PDF Metadata Editor URL: https://uttir.com/pdf-metadata-editor Categories: pdf-tools Description: PDF Metadata Editor reads and rewrites the Document Information Dictionary — the properties every PDF viewer shows under File → Properties. Set a proper title (the one browsers use for the tab and search engines for the snippet), name the author, add a subject, or list keywords. It also cleans the creator string left behind by whatever tool generated the file. Edits are saved back into the PDF locally; the file never leaves your device. How to use: 1. **Choose the PDF** — Current properties load into the form. 2. **Edit the fields** — Title, author, subject, keywords, creator, producer. 3. **Save** — A new PDF with the updated properties is downloaded. FAQ: - Q: Which fields can I edit? A: The standard Info-dictionary fields: title, author, subject, keywords, and creator — plus the modification date, which is refreshed automatically. The Producer field is shown for reference but is re-stamped by the processing library on every save. - Q: Does this remove hidden metadata too? A: It rewrites the visible properties panel. Attachments, annotations, and revision history are separate structures — use Flatten PDF for form/annotation content, and re-derive sensitive documents from source if that matters. - Q: Can I blank a field completely? A: Yes — clearing a field and saving writes an empty value, which viewers display as unset. - Q: Why does the Producer field not stick? A: pdf-lib, the in-browser library that rewrites the file, writes its own producer string during every save. Editing Producer would be silently undone, so the tool labels it as informational rather than pretend to change it. - Q: Why does the browser tab still show the old title? A: Viewers may cache properties until the file is reopened. The saved PDF carries the new title; re-download or reopen it to see the change. Privacy: Your PDF is edited locally in your browser and never uploaded. --- ### Rotate Image URL: https://uttir.com/rotate-image Categories: image-tools Description: Rotate Image turns photos and scans by right angles — 90° clockwise, 180°, or 270° (the same as 90° counter-clockwise). The pixels are redrawn on a canvas at the new orientation, so a sideways phone photo becomes upright in one click. Because the work happens on your device, even large photos process instantly and nothing is uploaded. The result is saved as PNG, which is lossless: rotating and saving repeatedly never degrades the image. How to use: 1. **Choose the image** — JPG, PNG, WebP, GIF, and AVIF are accepted. 2. **Pick the angle** — Rotate 90° at a time, or jump straight to 180°/270°. 3. **Download** — The rotated copy is saved as a lossless PNG. FAQ: - Q: Will rotating reduce my image quality? A: The output is a lossless PNG, so no quality is lost on save. Photos that started as JPEG will be re-encoded losslessly; the file may be larger than the original. - Q: Does the tool read the EXIF orientation flag? A: Yes — browsers apply EXIF orientation when decoding, so a photo flagged as rotated displays upright and the output matches what you see. - Q: Can I rotate by an arbitrary angle like 45°? A: This tool sticks to right angles, which keep the frame intact. For straightening horizons by a few degrees, a crop-and-straighten tool is a better fit. - Q: Which formats can I rotate? A: Anything your browser can decode: JPG, PNG, WebP, GIF, and AVIF. Animated GIFs are flattened to their first frame. Privacy: Your image is rotated locally in your browser and never uploaded. --- ### Flip Image URL: https://uttir.com/flip-image Categories: image-tools Description: Flip Image mirrors a photo across the horizontal or vertical axis. A horizontal flip produces the mirror image you would see in a reflection; a vertical flip turns the picture upside-down without rotating it. The flipped result is saved as a lossless PNG. Like every Uttir image tool, the pixels never leave your browser. How to use: 1. **Choose the image** — JPG, PNG, WebP, GIF, and AVIF are accepted. 2. **Pick the axis** — Flip horizontally (mirror) or vertically (upside-down). 3. **Download** — The mirrored copy is saved as a lossless PNG. FAQ: - Q: What is the difference between flipping and rotating? A: Rotating turns the image around its center; flipping mirrors it across an axis. A horizontal flip cannot be reproduced by any rotation. - Q: Will text in the image still read correctly? A: No — a mirrored image reverses text, which is the point of a mirror flip. Use it for effects or corrections, not for readable documents. - Q: Does flipping reduce quality? A: No. The output is a lossless PNG, so the pixels are preserved exactly. - Q: Can I flip and rotate in one step? A: This tool does one flip per pass. Chain it with Rotate Image for combined transformations. Privacy: Your image is flipped locally in your browser and never uploaded. --- ### Image Watermark URL: https://uttir.com/image-watermark Categories: image-tools Description: Image Watermark stamps text onto photos — a copyright line, a studio name, DRAFT or APPROVED — with control over position, font size, color, opacity, rotation, and a tiling mode that repeats the stamp across the whole frame. Unlike the PDF watermark tool, this one works on images for the web and social media. Everything is drawn on a canvas in your browser; the photo is never uploaded. How to use: 1. **Choose the image** — JPG, PNG, WebP, GIF, and AVIF are accepted. 2. **Style the watermark** — Set the text, position, size, color, opacity, rotation — or enable tiling. 3. **Download** — The watermarked copy is saved as a PNG. FAQ: - Q: Can I repeat the watermark across the whole photo? A: Yes — enable tiling and the stamp repeats in a grid over the entire image, which is the standard pattern for proof sheets and stock previews. - Q: Can I make the watermark semi-transparent? A: Yes — opacity is a slider from 0 to 100 percent, so you can go from a faint ghost stamp to a solid label. - Q: Can I use my logo instead of text? A: This tool stamps text. For logo overlays, the watermark pattern that fits is usually a small transparent PNG composited in an editor. - Q: Does it watermark PDFs too? A: That is a separate tool — Add Watermark to PDF. This one is for JPG, PNG, and WebP images. Privacy: Your image is watermarked locally in your browser and never uploaded. --- ### EXIF Remover URL: https://uttir.com/exif-remover Categories: image-tools, security-tools Description: EXIF Remover does two things. First it audits the photo and lists what it would leak when shared: GPS coordinates, device make and serial, capture timestamps, and editorial IPTC tags. Then it produces a clean copy with all of it stripped. The clean copy is made by re-encoding the decoded pixels through a canvas, which writes a fresh file with no EXIF, XMP, or IPTC containers. This is the same approach recommended for private photo sharing, and it runs entirely in your browser. How to use: 1. **Choose the image** — The audit lists every sensitive tag found. 2. **Review the findings** — GPS and serials are flagged high-risk. 3. **Download the clean copy** — A fresh, metadata-free file is saved. FAQ: - Q: Which metadata gets removed? A: Everything that lives in metadata containers: EXIF (camera, exposure, GPS), XMP, IPTC, and JFIF comments. Only the pixels survive. - Q: Why not just edit the tags instead of re-encoding? A: Re-encoding guarantees nothing was missed — an in-place edit can leave the original segments behind. The trade-off is one lossy generation for JPEG; PNG stays lossless. - Q: Will the image look different? A: Pixels are identical for PNG. For JPEG there is a single re-encode at high quality (92), which is visually indistinguishable in practice. - Q: How do I check what a photo currently leaks? A: The audit in this tool lists it, or use the EXIF Metadata Viewer for the full tag-by-tag readout. Privacy: The metadata check and the clean re-encode both happen locally in your browser. Nothing is uploaded. --- ### Hash Identifier URL: https://uttir.com/hash-identifier Categories: security-tools, developer-tools Description: Hash Identifier tells you which algorithm most likely produced a digest. It analyses the structure — length in hex characters, character set, and known constant prefixes like the famous MD5 digest of an empty string — and ranks the plausible algorithms. Length is strong evidence: 32 hex characters means a 128-bit digest (MD5 or NTLM), 64 means 256-bit (SHA-256 family), 128 means SHA-512 or BLAKE2b. For the four algorithms Uttir can compute locally, you can hash a known text and compare digests to confirm the guess. How to use: 1. **Paste the digest** — Whitespace, colons, and a 0x prefix are tolerated. 2. **Read the candidates** — Matches are ranked by length evidence. 3. **Confirm by comparison** — Hash a known input locally and compare digests when possible. FAQ: - Q: Can identification ever be certain from structure alone? A: No. MD5 and NTLM both produce 32 hex characters, and SHA-256, BLAKE2s, and BLAKE3 all produce 64. Structure narrows the field; hashing a known input and comparing digests confirms it. - Q: Does this crack or reverse hashes? A: No — and no honest tool does. Hashes are one-way. This identifies the algorithm so you can verify or migrate credentials properly. - Q: Which formats are accepted? A: Hexadecimal digests with optional whitespace, colons, or a 0x prefix. Base64-encoded digests are detected and noted as such. - Q: Is anything I paste uploaded? A: No. The analysis is pure string processing in JavaScript — the digest never leaves your browser. Privacy: Identification is pure string analysis in your browser. Your digest never leaves this page. --- ### QR Code Generator URL: https://uttir.com/qr-code-generator Categories: generators, image-tools Description: The QR code generator turns a URL, a block of text, a Wi-Fi configuration, or any other string into a scannable QR code in a fraction of a second. Choose your colors and error correction level, then download the result as a PNG image or a vector SVG file for crisp printing. Because generation happens locally with the browser’s built-in QR encoder, the content you encode never leaves your device — safe for personal links, payment details, or anything you would rather keep to yourself. How to use: 1. **Type or paste your content** — A URL, plain text, or any other string to encode. 2. **Tune the options** — Adjust the size, error correction level, and colors to match your use. 3. **Download or copy** — Save as PNG or SVG, or copy the data URL to embed it anywhere. FAQ: - Q: Is the QR code really free? A: Yes. There are no limits, watermarks, or expiration dates — the code is generated locally on your device. - Q: What is the error correction level for? A: Higher levels make the code readable even when part of it is damaged or covered. Use High for prints that might get scuffed, Low for clean digital screens. - Q: Can I change the colors? A: Yes. Dark and light colors are both customizable, but keep the contrast high — scannable codes need a strong difference between the two. Privacy: Your QR code is generated entirely in your browser. Nothing you type is ever sent to a server. --- ### EMV TLV Parser URL: https://uttir.com/emv-tlv-parser Categories: developer-tools, encoding-tools Description: EMVCo merchant-presented QR codes — the same document used for PIX, QRIS, PromptPay, DuitNow, VietQR, BharatQR, and most national QR-payment schemes — encode every field as a TLV triple: 2 hex digits of tag, 2 hex digits of length, then the value. Tags can nest, and a high bit on the first tag digit marks a constructed (nested) tag like 26 or 62. This parser walks the payload character by character and returns a readable tree. Use it to debug a payment integrator, sanity-check a QR you scanned, or reverse-engineer an unknown merchant payload. Parsing happens entirely in your browser — useful for production data, not just synthetic test values. How to use: 1. **Paste a hex or ASCII payload** — Any string of EMVCo TLV data. Examples are provided. 2. **Read the decoded tree** — Each tag is shown with its length, its value, and any nested children. 3. **Copy or download the result** — Save the parsed tree as JSON for later comparison. FAQ: - Q: Does this tool work for PIX and PromptPay too? A: Yes. PIX, PromptPay, QRIS, DuitNow, PayNow, VietQR, and BharatQR are all EMVCo merchant-presented QR profiles, and they share the same TLV format. The parser will walk any of them. - Q: Does it validate the CRC? A: No — this tool only walks the TLV tree. For CRC validation and modification (turn a static QRIS into a dynamic one, for example) use the QRIS Modifier. - Q: Is my QR data uploaded? A: No. The parser runs entirely in your browser; the network panel will show no requests carrying your payload. Privacy: Parsing runs entirely in your browser using local JavaScript. The QR payload never leaves your device. --- ### QR Modifier URL: https://uttir.com/qr-modifier Categories: developer-tools, generators Description: QRIS is the Indonesian national QR payment standard, built on EMVCo merchant-presented QR. A QRIS payload is a tag-length-value (TLV) string: tag 01 says whether the code is static ("11", customer enters the amount) or dynamic ("12", amount is fixed). This modifier parses any QRIS payload, lets you change the initiation method, amount, merchant name, and city, then recomputes the EMVCo CRC16-CCITT-FALSE checksum so the modified code remains valid. Everything runs client-side — no upload, no signup, no third-party API. How to use: 1. **Paste a QRIS payload** — Either scan a QR with your phone (most banking apps show the raw TLV string) or use the example buttons. 2. **Inspect the fields** — The tool shows the current mode (static/dynamic), merchant name, city, amount, currency, and CRC validity. 3. **Edit and recompute** — Change the amount, switch between static and dynamic, or override the merchant name. The CRC is recomputed automatically. 4. **Copy the modified payload** — Paste it back into your QRIS generator, POS system, or banking app to test. FAQ: - Q: Will this work with my real production QRIS? A: Yes. The modifier only changes fields the merchant controls (amount, name, city, mode). It does not touch the merchant account identifier, so the payment still routes to the right recipient. - Q: Why does the CRC need to be recomputed? A: The CRC at the end of the QRIS payload verifies that the data has not been altered. If you change any field without recomputing the CRC, payment apps will reject the code as tampered. - Q: Can I send the modified QRIS to a customer? A: Yes. The output is a valid EMVCo QR payload with a correct CRC. You can encode it as a QR image with any QR code generator. Privacy: Everything runs in your browser. The QRIS payload never leaves your device — safe to use with production merchant QRIS codes. --- ### Luhn / PAN Validator URL: https://uttir.com/luhn-pan-validator Categories: developer-tools, security-tools Description: The Luhn algorithm (a simple modulo-10 checksum) is what catches typos in card numbers before they hit the payment processor. Every well-formed card number passes it; a single mistyped digit fails. This tool validates the Luhn checksum, identifies the card scheme from the Issuer Identification Number (the first 6 digits), checks the length against what each scheme allows, and produces a display-safe mask for receipts and logs. Everything runs in your browser — no upload, no third-party API. How to use: 1. **Paste or type a card number** — Dashes and spaces are fine; they are stripped before validation. 2. **Read the verdict** — A green badge means it passes both the Luhn checksum and the length check for the detected scheme. 3. **Copy the masked display** — Use the BIN •••• last 4 mask for any UI that shows the card back to a user. FAQ: - Q: Is this safe to use with real card numbers? A: Yes. The validation runs entirely in your browser — your card number never leaves your device. There is no analytics, no logging, no third-party API call. - Q: Does a passing Luhn check mean the card is real? A: No. Luhn only verifies the digit pattern is well-formed. A real card requires an active account with the issuer. This tool catches typos, not fraud. - Q: Why does it identify the card scheme? A: Each card network has a unique Issuer Identification Number (IIN) prefix — Visa starts with 4, Mastercard with 51-55 or 222-272, Amex with 34 or 37, etc. The first 6 digits are enough to identify the network reliably. Privacy: Validation runs entirely in your browser. Your card number is never sent to a server, logged, or stored. --- ### Password Generator URL: https://uttir.com/password-generator Categories: generators, security-tools Description: Strong passwords are long, random, and unique to each account. This generator creates them with your browser’s cryptographically secure random number generator, so the result is unpredictable and nothing is ever transmitted or stored. Pick a length, choose which character sets to include — lowercase, uppercase, numbers, and symbols — and optionally drop ambiguous characters like “l”, “I”, “1”, and “O” that are easy to mix up. An entropy estimate shows you how strong the result is. How to use: 1. **Set the length** — Longer is stronger; 16 or more characters is a good default. 2. **Choose character sets** — Enable or disable letters, numbers, and symbols. 3. **Generate and copy** — Click regenerate for a fresh password, then copy it into your password manager. FAQ: - Q: Is this password generator secure? A: Yes. It uses the Web Crypto API’s cryptographically secure random source, the same one browsers use for security-critical operations. - Q: Are my passwords saved anywhere? A: No. Passwords are generated in memory on your device and disappear when you leave the page. Use a password manager to store them. - Q: What does the entropy score mean? A: Entropy measures how hard a password is to guess in bits. Above 60 bits is good for most uses; above 90 is very strong. Privacy: Passwords are generated locally with your browser’s secure random number generator. Nothing leaves this page. --- ### Email Signature Generator URL: https://uttir.com/email-signature-generator Categories: generators, text-tools Description: Your email signature is a tiny brand asset that appears on every message you send. Done well, it makes you look professional; done badly, it looks cluttered and dated. Fill in your name, role, and contact details and this generator produces a clean, email-client-friendly HTML signature you can paste straight into Gmail, Outlook, Apple Mail, or any other client. How to use: 1. **Enter your details** — Name, job title, company, email, phone, and website. Pick an accent color that fits your brand. 2. **Preview the signature** — A live preview shows exactly how the signature will look in an email. 3. **Copy and paste** — Copy the HTML, open your email settings, and paste it into the signature field. FAQ: - Q: How do I add it to Gmail? A: Open Gmail settings → General → Signature, paste the HTML into the box, and save. Gmail supports pasting rich HTML signatures directly. - Q: How do I add it to Outlook? A: Open Outlook settings → Mail → Compose and reply, create a new signature, and paste the HTML in. New Outlook and Outlook.com accept HTML signatures from the clipboard. - Q: Why does the signature use a table layout? A: Email clients strip modern CSS. The classic table layout is the most reliably rendered structure across Gmail, Outlook, Apple Mail, and mobile clients. Privacy: Your details are processed locally in your browser and never leave your device. --- ### Unit Converter URL: https://uttir.com/unit-converter Categories: converters Description: Whether you are cooking, traveling, shipping a package, or writing code, converting between units should be instant. This converter covers length, weight, temperature, area, volume, speed, time, and data storage with precise conversion factors, plus a full breakdown across every unit in the category. Every conversion runs locally with the browser’s native number handling, so your values are never transmitted — and the results update as you type. How to use: 1. **Pick a category** — Length, weight, temperature, area, volume, speed, time, or data. 2. **Choose the units** — Select the unit you have and the unit you want, or swap them with one click. 3. **Type a value** — The result appears instantly, along with every other equivalent value. FAQ: - Q: Are the conversion factors exact? A: Yes. Standard international conversion factors are used, and temperatures are converted with the correct offset formulas rather than a simple multiplier. - Q: Do you use decimal or binary units for data? A: Both. The data category includes decimal units (KB, MB, GB) and binary units (KiB, MiB, GiB) so you can compare them directly. - Q: Is my data sent anywhere? A: No. Conversion runs entirely in your browser, so nothing you type leaves the page. Privacy: All conversions happen locally in your browser. No values are sent anywhere. --- ### ULID Generator URL: https://uttir.com/ulid-generator Categories: generators, developer-tools Description: A ULID (Universally Unique Lexicographically Sortable Identifier) is a 26-character identifier with two parts: a 10-character timestamp (milliseconds since the Unix epoch) and a 16-character random part. Compare that to a UUID, which is 36 characters and has no time component. Because the timestamp is at the front, ULIDs sort in the same order as the events that created them. If you insert two rows into a database and look at the IDs, the lower ID was created first — no separate created_at column needed. The random part is 80 bits of cryptographic randomness, the same collision resistance as a UUIDv4. How to use: 1. **Set quantity** — Pick how many ULIDs to generate, from 1 to 1000. 2. **Generate** — Click the button. Each ID is 26 characters, URL-safe, and case-insensitive. 3. **Copy or download** — Use Copy to grab the IDs, or Download to save as a .txt file (one per line). FAQ: - Q: When should I use a ULID instead of a UUID? A: Use a ULID when chronological ordering matters — event logs, distributed databases, time-series data, message queues. Use a UUID when you only need uniqueness and your database already stores a separate created_at index. - Q: Can I extract the creation time from a ULID? A: Yes. The first 10 characters encode the millisecond timestamp. This tool exposes the timestamp for every ID it generates, and you can extract it from any valid ULID using the same formula. - Q: Are ULIDs collision-resistant? A: Yes. The random part is 80 bits drawn from a cryptographically secure source, so the chance of a collision is roughly 1 in 1.2 × 10^24 — the same order of magnitude as a UUIDv4. Privacy: IDs are generated locally using your browser's secure random number generator. Nothing is sent to a server. --- ### Binary, Hex & Octal Converter URL: https://uttir.com/binary-hex-converter Categories: converters Description: Programmers juggle number bases every day: IP addresses in decimal, memory addresses in hex, masks and flags in binary. Converting between them by hand is tedious and error-prone. Type a number in any of the four common bases — binary, octal, decimal, or hexadecimal — and see it converted into all the others instantly, with optional prefixes for convenience. How to use: 1. **Pick the input base** — Choose binary, octal, decimal, or hexadecimal for what you are typing. 2. **Type a number** — The other three representations update live as you type. 3. **Copy what you need** — Each result has a copy button, with or without prefixes like 0x and 0b. FAQ: - Q: What is a base? A: A base is how many digits a number system uses. Binary uses 0–1, octal 0–7, decimal 0–9, and hexadecimal 0–9 plus A–F. The same quantity can be written in any base. - Q: Why does hex use letters? A: Base 16 needs 16 digits, so after 0–9 it continues with A=10, B=11, C=12, D=13, E=14, F=15. - Q: Can I convert negative numbers? A: Yes. A leading minus sign is preserved through every base, though it is not a two’s-complement representation. Privacy: Conversions run locally in your browser — nothing is sent to a server. --- ### CSV to JSON Converter URL: https://uttir.com/csv-json-converter Categories: data-tools, developer-tools Description: CSV is the lingua franca of spreadsheets; JSON is the language of APIs. Moving data between the two is a daily task for developers, analysts, and marketers alike. This converter parses your CSV into clean JSON objects using the header row as keys — or flattens a JSON array back into a spreadsheet-ready CSV. Quoted fields, embedded commas, and newlines are all handled correctly, and nothing leaves your browser. How to use: 1. **Paste your CSV** — The first row is treated as column headers. Semicolon and tab delimiters are detected automatically. 2. **Switch direction** — Toggle to "JSON to CSV" and paste a JSON array of objects to get a CSV back. 3. **Copy the result** — Use the copy button to grab the converted output in one click. FAQ: - Q: Does it handle quoted fields with commas? A: Yes. Fields wrapped in double quotes can contain commas, newlines, and escaped quotes, and the parser keeps them intact. - Q: What if my CSV uses semicolons? A: The delimiter is detected automatically from the first line. You can also switch it manually between comma, semicolon, and tab. - Q: Is my data uploaded to a server? A: No. Conversion happens locally in your browser, so sensitive data never leaves your device. Privacy: Your data is converted entirely in your browser. It is never uploaded anywhere. --- ### CSV Viewer URL: https://uttir.com/csv-viewer Categories: data-tools, developer-tools Description: Most CSV viewers are desktop apps: Excel, Numbers, LibreOffice. They work, but they require an install, an account (for the cloud versions), or a license. For a quick "what is in this file?" question, a browser-based viewer is faster. This viewer parses the CSV in your browser, shows it as a sortable, searchable table, and lets you filter, sort, and export the result. The file never leaves your device. How to use: 1. **Paste or drop a CSV** — Drop a file onto the input area, click "Open file" to pick one, or just paste CSV text. The first row is treated as the header. 2. **Read the stats** — The summary cards show row count, column count, total cells, and the number of empty cells. Useful for a quick "how messy is this data?" check. 3. **Filter and sort** — Click any column header to sort by it (numeric sort when the values are numbers, alphabetic otherwise). Type in the search box to filter rows by any cell value. 4. **Export the result** — Download the filtered view as a CSV, or copy the whole thing as a JSON array. The export reflects the current sort and filter. FAQ: - Q: How large a CSV can it handle? A: Up to 100,000 rows. Larger files slow the browser down; for huge CSVs, use a desktop tool or a small script. - Q: Does it handle semicolon or tab delimiters? A: Yes. The viewer auto-detects the delimiter from the first line, just like the converter. Comma, semicolon, and tab are all supported. - Q: Is my CSV uploaded? A: No. The file is read in your browser and never sent to a server. You can verify by opening DevTools and watching the Network tab. - Q: Can I edit cells in the table? A: Not in this version. For editing, copy the table to a JSON or CSV, edit in a text editor, and paste back in. Privacy: CSV parsing and filtering happen entirely in your browser. Files are never uploaded. --- ### JSON Diff URL: https://uttir.com/json-diff Categories: developer-tools, data-tools, text-tools Description: A line-based diff treats JSON as text. It shows every line that changed, but it cannot tell you that a single key was renamed, that key order shifted, or that one array element was added. A semantic JSON diff compares the parsed structure. It walks both values, finds the added / removed / changed paths, and shows them in a table. Key order in objects is ignored by default (toggle off if order matters in your case). How to use: 1. **Paste the two JSON values** — Drop the "before" JSON in the left panel, the "after" in the right. Both can be objects, arrays, or any JSON value — they do not have to be the same type. 2. **Read the table** — Each row is a path (e.g. users[3].email). Green rows are added, red rows removed, amber rows changed. Toggle "Show unchanged" to see what stayed the same. 3. **Copy the patch** — The "Copy patch" button puts a one-line-per-op summary in your clipboard — useful for sharing in chat or in a commit message. FAQ: - Q: Does it ignore key order? A: Yes, by default. {"a":1,"b":2} and {"b":2,"a":1} are treated as identical. Toggle "Ignore key order" off to detect reorder as a change. - Q: Does it work on arrays? A: Yes. Arrays are compared by index, with added and removed elements reported as such. Note that this is positional — a different sort order is reported as a change to every element. - Q: How deep does it go? A: As deep as the JSON. The viewer handles arbitrarily nested structures; the path notation uses dot for object keys and [N] for array indices. - Q: Is the data uploaded? A: No. Both values are parsed in your browser and the diff is generated locally. The patch you copy is plain text, not a server call. Privacy: Both JSON values are parsed and compared in your browser. Nothing is uploaded — the diff never leaves your device. --- ### JSONPath Query URL: https://uttir.com/jsonpath Categories: data-tools, developer-tools Description: JSONPath is the query language for JSON — it lets you pull a single value out of a deeply nested response, filter an array of records to those that match a condition, or count how many items have a particular shape. It plays the same role for JSON that XPath plays for XML, or that jq plays at the command line. This tool runs the expression against the JSON you paste and returns every match. It supports the operators AI assistants and config tools (kubectl, jq-lite, GitHub Actions ${{ jsonPath(...) }}) reach for most: $ for root, dot and bracket member access, [n] and [-1] for indexing, [*] for wildcard, $.. for recursive descent, and [?(@.key op value)] for filtering. It does not cover every corner of the JSONPath spec — it covers the parts that are useful in day-to-day work. How to use: 1. **Paste your JSON** — Drop a JSON document into the input. The tool validates it and shows a tree preview below. 2. **Write a JSONPath expression** — Start with $, then dot/bracket through the structure. Use [*] for all items, [0] for the first, [?(@.active == true)] to filter. 3. **Read the matches** — Every match is shown in a list with its JSON value. The count at the top tells you how many results the expression returned. FAQ: - Q: What operators are supported? A: $.foo.bar for member access, [0] / [-1] for array index, [*] for all elements, $..foo for recursive descent (finds "foo" at any depth), and [?(@.key op value)] for filters with =, !=, <, and >. Strings, numbers, and booleans compare correctly. - Q: Why does my expression return zero results? A: Most zero-result queries are one of three things: a typo in a member name (JSONPath is case-sensitive), a missing root $ (the expression must start with $), or expecting an array when the value is actually an object (or vice versa). The tree preview below the input shows the actual shape. - Q: Is this jq? A: JSONPath and jq are related but different. jq is more expressive (it has pipes, conditionals, and reduction operators). JSONPath is the simpler read-only selector language that most config tools and AI assistants actually use. This tool is a strict JSONPath implementation — for full jq, use a CLI. Privacy: Query runs locally in your browser. Your JSON never leaves the page. --- ### Pressure Converter URL: https://uttir.com/pressure-converter Categories: converters, math-tools Description: Pressure is force per unit area. There are many units in common use: pascals (SI), bar (meteorology and diving), psi (US engineering), atmospheres (chemistry and physics), and mmHg or torr (medicine and vacuum science). This converter uses the pascal as the base and supports conversion between all of them. The math is done in your browser. How to use: 1. **Enter a value** — Type the pressure in any of the supported units. The default is 1 atm. 2. **Pick the from / to units** — The "from" dropdown lists the source unit; the "to" dropdown lists the target. The result updates as you type. 3. **Use the swap button** — Click the swap arrow to flip the from and to units. Useful for back-and-forth conversions. FAQ: - Q: What unit is used for blood pressure? A: Blood pressure is typically reported in mmHg (millimeters of mercury). 120/80 mmHg is the standard "normal" reading. - Q: What is the difference between bar and atm? A: 1 bar = 100,000 Pa. 1 atm = 101,325 Pa. They differ by about 1.3%; for most practical work, the difference is negligible. - Q: Is this the same as the unit-converter on the home page? A: No — this is a focused pressure-only converter with a wider unit list and quick-reference table. The general unit converter covers fewer pressure units. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Energy Converter URL: https://uttir.com/energy-converter Categories: converters, math-tools Description: Energy shows up in many units depending on the field: joules in physics, kilowatt-hours on utility bills, calories in nutrition, BTU in heating and cooling, and electron-volts in atomic physics. They are all measuring the same thing; the units just differ by a power of 10 (and sometimes by definition, like food calories vs thermochemical calories). This converter uses the joule as the base. The math is local. How to use: 1. **Enter a value** — Type the energy in any supported unit. The default is 1 kWh. 2. **Pick the units** — The from/to dropdowns list all supported units. Result updates live. 3. **Watch the quick-reference table** — For 1, 10, 100, 1000, 10000 in the source unit, the table shows the equivalent in the target. FAQ: - Q: How many joules is 1 food Calorie? A: 1 food Calorie (1 kcal) = 4,184 J. Food labels in the US use kcal but write "Calories" with a capital C. - Q: How many BTU does it take to heat a house? A: A typical US home uses about 50,000-100,000 BTU per day in winter (from the furnace). - Q: Why are BTU and kWh different magnitudes? A: BTU is older (steam-engine era); kWh is the modern unit. 1 kWh ≈ 3,412 BTU. Most US heating systems still quote BTU/h (BTU per hour) for power rating, while utility bills use kWh for energy. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Power Converter URL: https://uttir.com/power-converter Categories: converters, math-tools Description: Power is energy per unit time. The watt is the SI unit. Horsepower persists in the US for engines, motors, and machinery; metric horsepower is used in the EU and Japan. BTU/h is common for heating and cooling capacity. This converter uses the watt as the base. The math is local. How to use: 1. **Enter a value** — Type the power in any supported unit. The default is 1 kW. 2. **Pick the units** — The from/to dropdowns cover all supported power units. 3. **Check the quick-reference table** — For 1, 10, 100, 1000, 10000 W (or whatever the source unit is), the table shows the equivalent in the target unit. FAQ: - Q: What is mechanical vs metric horsepower? A: Mechanical horsepower (hp) is 745.7 W. Metric horsepower (CV in France, PS in Germany) is 735.5 W. They differ by about 1.4%. - Q: Why is BTU/h used for air conditioners? A: BTU/h describes the rate of heat transfer; a 12,000 BTU/h AC removes 12,000 BTU per hour. The kW equivalent is 3.52 kW. US consumers are more familiar with the BTU/h number for AC sizing. - Q: How many watts is 1 hp? A: 1 mechanical horsepower = 745.7 watts. 1 metric horsepower = 735.5 watts. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Force Converter URL: https://uttir.com/force-converter Categories: converters, math-tools Description: Force is mass times acceleration. The newton is the SI unit. The pound-force, kilogram-force, and ounce-force persist in US, civil, and household contexts respectively. The dyne is the CGS unit, used in older physics papers. The kip (1,000 lbf) is a US structural-engineering unit. This converter uses the newton as the base. The math is local. How to use: 1. **Enter a value** — Type the force in any supported unit. The default is 1 N. 2. **Pick the units** — The from/to dropdowns cover SI, CGS, and US customary force units. 3. **Use the quick-reference table** — The 1, 10, 100, 1000, 10000 table helps you eyeball the scale at a glance. FAQ: - Q: What is a kip? A: A kip is 1,000 pound-force. Used in US structural engineering; "kip" comes from "kilo-pound". 1 kip ≈ 4.448 kN. - Q: Is newton-force the same as newton-weight? A: Yes — the newton is a unit of force, not of mass. A newton-force is the force that accelerates a 1-kg mass at 1 m/s². - Q: How do I convert kg (mass) to N (force)? A: Multiply by 9.80665 (the standard gravity in m/s²). The result is the weight of that mass under Earth gravity. To convert in the strict sense, you need the local gravitational acceleration, but for most purposes 9.80665 is correct. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Angle Converter URL: https://uttir.com/angle-converter Categories: converters, math-tools Description: Angles are measured in degrees (°), radians (rad), or gradians (gon) depending on the field. Math and physics use radians. Navigation, surveying, and astronomy use degrees (often subdivided into arcminutes and arcseconds). Civil engineering in some countries uses gradians. One full turn is 360° = 2π rad = 400 gon. This converter uses the radian as the base. How to use: 1. **Enter a value** — Type the angle in any supported unit. The default is 1 degree. 2. **Pick the units** — The from/to dropdowns include degrees, radians, gradians, arcminutes, arcseconds, and turns. 3. **Watch the result** — The result updates live as you type. The quick-reference table shows 1, 10, 100, 1000, 10000 in the source unit. FAQ: - Q: When do I use radians vs degrees? A: Use radians for any math or physics formula (sine, cosine, derivatives, integrals). Use degrees for navigation, surveying, and any context where the unit is implicit. - Q: What is a gradian (gon)? A: A gradian (or gon) is 1/400 of a full turn. Useful in civil engineering (especially in France and Germany) and in surveying. 100 gon = 90°. - Q: What is a milliradian? A: 1 milliradian (mrad) = 0.001 rad. Used in ballistics and targeting: 1 mrad spreads the trajectory by 1 meter per kilometer of range. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Fuel Consumption Converter URL: https://uttir.com/fuel-consumption-converter Categories: converters, math-tools Description: Fuel economy is reported in different units in different countries. The US uses miles per gallon (MPG), the EU and most of the world use liters per 100 km (L/100km), and parts of Asia use km per liter (km/L). The US gallon and the UK (imperial) gallon are different, hence the "MPG (US)" and "MPG (UK)" distinction. This converter handles all four. L/100km is the inverse of the others, so the math is non-linear — but the result is correct either way. How to use: 1. **Enter a value** — Type the consumption in any supported unit. The default is 1 L/100km. 2. **Pick the units** — The from/to dropdowns cover all four common units. 3. **Mind the direction** — L/100km is "lower is better"; MPG and km/L are "higher is better". A 5 L/100km car is more efficient than a 10 L/100km car; a 50 mpg car is more efficient than a 25 mpg car. FAQ: - Q: Why is the US gallon different from the UK gallon? A: 1 US gallon = 3.785 liters. 1 UK (imperial) gallon = 4.546 liters. A car rated at 30 MPG (US) is about 35 MPG (UK) for the same fuel economy. UK ratings look higher because the UK gallon is larger. - Q: Which unit is most common globally? A: L/100km is the official standard in most countries. MPG persists in the US and a few others. km/L is common in East Asia. - Q: How do I interpret the result? A: For L/100km, lower is better (less fuel per 100 km). For MPG and km/L, higher is better (more distance per unit of fuel). When comparing two cars, normalize to the same unit. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Typography / CSS Unit Converter URL: https://uttir.com/typography-converter Categories: converters, color-tools, web-tools Description: CSS has many length units. Absolute units (px, pt, pc, in, cm, mm) are tied to physical measurements. Relative units (em, rem, %) are tied to font size or the root font size. The browser default font size is 16px; this converter assumes that base. Note: the em and rem conversions depend on the font-size context. If a CSS rule sets a different base font size, the em values change accordingly. How to use: 1. **Enter a value** — Type the length in any supported unit. The default is 1 px. 2. **Pick the units** — The from/to dropdowns cover all the CSS length units: px, pt, pc, in, cm, mm, em, rem, %. 3. **Mind the base** — em assumes 16px base (browser default). rem also assumes 16px root. If your CSS uses a different base, multiply the em/rem result accordingly. FAQ: - Q: Why is 1em = 16px? A: em is relative to the current font size; the browser default is 16px. If you set body { font-size: 18px }, then 1em in a child element would be 18px. - Q: When should I use pt instead of px? A: Use pt for print stylesheets (@media print) where you want to match a physical point size. Use px for screen layouts, where pixels are the natural unit. - Q: How do I convert a print design (say 8.5x11 inches) to screen pixels? A: Multiply by 96. 8.5 in = 816 px, 11 in = 1056 px. The 96 DPI is the CSS reference pixel and what most browsers use at 100% zoom. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Data Transfer Rate Converter URL: https://uttir.com/data-transfer-converter Categories: converters, math-tools, network-tools Description: Data rates come in two flavors: bits per second (used in networking and ISP marketing) and bytes per second (used in file transfer and download managers). 1 byte = 8 bits. Within each flavor, the SI decimal prefixes apply: 1 kbit/s = 1,000 bit/s, 1 Mbit/s = 1,000 kbit/s, and so on. This converter uses bit/s as the base and handles all the common combinations. How to use: 1. **Enter a value** — Type the rate in any supported unit. The default is 1 Mbit/s. 2. **Pick the units** — The from/to dropdowns cover bit/s, kbit/s, Mbit/s, Gbit/s, Tbit/s, and the same range in bytes (B/s through TB/s). 3. **Note the case** — A lowercase "b" means bits (kbit/s); an uppercase "B" means bytes (kB/s). The factor is 8 between them. FAQ: - Q: Why does my 100 Mbps connection only download at 12.5 MB/s? A: The ISP quotes bits per second (Mbit/s); the download manager shows bytes per second (MB/s). 8 bits = 1 byte, so 100 Mbit/s = 12.5 MB/s. The connection is not slow — the units differ. - Q: How much bandwidth do I need for 4K streaming? A: 4K HDR streams need 25-50 Mbps. 4K SDR needs 15-25 Mbps. HD needs 5-10 Mbps. SD needs 3-5 Mbps. - Q: Are kbps and KB/s the same? A: No. kbps = kilobits per second. KB/s = kilobytes per second. They differ by a factor of 8. Privacy: Conversions run locally in your browser. No values are sent anywhere. --- ### Time Zone Converter URL: https://uttir.com/time-zone-converter Categories: date-time-tools Description: Scheduling across time zones is a constant source of confusion — is 9 AM in New York the same as 3 PM in Berlin? Daylight saving shifts make it worse. This converter lets you pick a date and time in your zone and instantly see the equivalent time across major world cities, with daylight saving time handled automatically. How to use: 1. **Set the date and time** — Pick the moment you want to convert, or use "Now" to start from the current time. 2. **Choose the source zone** — The time you entered is interpreted in this zone. 3. **Read the comparison table** — Every listed city shows the equivalent time and its current UTC offset. FAQ: - Q: Does it handle daylight saving time? A: Yes. Conversion uses the official IANA time zone database, so DST transitions are applied automatically for the exact date you choose. - Q: Why is my city not in the list? A: The comparison shows the most common zones. The conversions are computed from the official time zone database, so any IANA zone could be added. - Q: What is a UTC offset? A: It is how many hours ahead of or behind Coordinated Universal Time a zone sits right now, for example UTC+09:00 for Tokyo. It changes twice a year in DST regions. Privacy: Time conversion happens instantly in your browser. Nothing is sent to a server. --- ### TOML ↔ JSON Converter URL: https://uttir.com/toml-json-converter Categories: data-tools, developer-tools Description: TOML (Tom's Obvious Minimal Language) is the configuration format you will find in pyproject.toml, Cargo.toml, and many other modern config files. It is designed to be easy to read and unambiguous — there is exactly one way to write any value. This tool converts between TOML and JSON in both directions. JSON-to-TOML is useful when you have data in code and want a clean config file. TOML-to-JSON is useful when you want to inspect a TOML file as a tree, or feed it into a script that only accepts JSON. How to use: 1. **Choose direction** — Toggle between TOML → JSON and JSON → TOML. 2. **Paste your input** — The output updates as you type. JSON-to-TOML expects a JSON object (or array) at the top level. 3. **Copy or download** — Use Copy to grab the converted text, or Download to save as a file. FAQ: - Q: What TOML features are supported? A: Standard mappings, sequences, scalars (strings, numbers, booleans, dates as strings), inline tables, arrays of tables, and dotted keys. Heredocs, multi-line raw strings, and exotic table forms are not supported. - Q: Are dates preserved as dates? A: No — TOML is the only mainstream format with typed dates. When you convert to JSON, dates become strings (ISO 8601). When you convert back to TOML, the strings round-trip as plain strings. If you need typed dates, keep the file in TOML. - Q: Can I convert arrays at the top level? A: TOML requires a top-level table, so a bare JSON array cannot be converted to TOML directly. Wrap it in an object first: { "items": [...] }. Privacy: Conversion runs locally in your browser. Your config never leaves the page. --- ### Hash Generator URL: https://uttir.com/hash-generator Categories: developer-tools, security-tools Description: Hashes are one-way fingerprints of data. Compare two hashes to verify that a file was not tampered with, store passwords securely, or check an integrity checksum after a download. This tool computes MD5, SHA-1, SHA-256, and SHA-512 digests of any text you type — or any file you drop in. Every hash updates live as you type. How to use: 1. **Type or paste text** — All four digests update live as you type. 2. **Hash a file instead** — Drop a file anywhere on the page to compute its checksum — useful for verifying downloads. 3. **Copy any digest** — Each hash has its own copy button. FAQ: - Q: What is the difference between the algorithms? A: MD5 and SHA-1 are fast but considered weak for security purposes. SHA-256 and SHA-512 are modern, cryptographically secure choices recommended for new work. - Q: Can I reverse a hash? A: No. Hashing is one-way by design. The only way to "reverse" it is to guess the input and compare hashes, which is why strong passwords matter. - Q: Why do hashes look random? A: Even a tiny change in input produces a completely different digest. That avalanche effect is what makes hashes useful for detecting tampering. Privacy: Hashing runs locally in your browser, so your text and files are never uploaded. --- ### UTM Builder URL: https://uttir.com/utm-builder Categories: seo-tools, developer-tools Description: UTM parameters are small text tags you append to a URL so your analytics tool can tell exactly where a visitor came from: which email, ad, social post, or newsletter sent them your way. This builder takes a normal link and turns it into a fully tagged campaign URL in seconds. Every link is built locally in your browser, so there is no risk of your campaign data being logged by a third-party tool. Paste the finished URL into your emails, ads, or posts and watch your sources separate cleanly in Analytics. How to use: 1. **Enter the destination URL** — The full address of the page you want to track, including https://. 2. **Fill in your campaign details** — Source (e.g. newsletter), medium (e.g. email), and campaign name (e.g. summer_sale) are required; term and content are optional. 3. **Copy the tagged URL** — The builder produces a ready-to-use link with all UTM parameters appended. FAQ: - Q: Which UTM parameters are required? A: Only utm_source, utm_medium, and utm_campaign are needed for basic tracking. utm_term is for paid search keywords and utm_content for differentiating links in the same piece. - Q: Are UTM parameters case-sensitive? A: Analytics platforms treat them as case-sensitive, so it is best to use lowercase consistently. The builder keeps whatever you type, so use one convention everywhere. - Q: Can I use this for QR codes and short links? A: Yes. Generate the tagged URL here, then feed it into the QR code generator or a link shortener of your choice. Privacy: Your URL and campaign details are processed entirely in your browser. Nothing is sent to a server. --- ### Meta Tag Generator URL: https://uttir.com/meta-tag-generator Categories: seo-tools, developer-tools Description: Meta tags are the HTML snippets that tell search engines and social platforms how to display your page. The title and meta description become your search result, while Open Graph and Twitter tags control how links look when shared on social media. This generator turns a handful of fields into a complete, correctly formatted meta block. Fill in the form, copy the output, and paste it into the of your page — no need to remember attribute names or escaping rules. How to use: 1. **Fill in the fields** — Title and description are the essentials; canonical, Open Graph, and Twitter fields are optional but recommended. 2. **Review the generated HTML** — Only the fields you filled in are included, grouped under clear comment headers. 3. **Copy and paste into your page** — Paste the block into the section of your HTML or your CMS’s custom head section. FAQ: - Q: How long should my meta title be? A: Around 60 characters keeps titles from being truncated in most search results. Use the SERP preview tool to check how your title will actually look. - Q: What is Open Graph? A: Open Graph tags control how your page appears when shared on Facebook, LinkedIn, and other platforms — the title, image, and description shown in the share card. - Q: Are the tags escaped safely? A: Yes. Special characters like quotes and ampersands are escaped automatically so the output stays valid HTML even with unusual input. Privacy: Everything you type is processed locally in your browser and never sent to a server. --- ### SERP Preview URL: https://uttir.com/serp-preview Categories: seo-tools, text-tools Description: Search engines truncate titles and descriptions that are too long, cutting off your message mid-sentence. The SERP preview shows a realistic Google-style snippet of your page so you can see — before publishing — exactly what searchers will get. Live character counters warn you when your title approaches the ~60 character limit or your description passes ~155 characters, with separate guidance for the slightly longer title limit on mobile results. How to use: 1. **Enter your page title** — Watch the desktop and mobile character counters as you type. 2. **Enter the URL** — Shown as the green display URL beneath the title. 3. **Enter your meta description** — Aim for roughly 150–155 characters so it does not get cut off. FAQ: - Q: What is the ideal title length? A: Google typically displays about 60 characters on desktop and up to 78 on mobile. Titles close to 60 characters are the safest bet. - Q: How long should a meta description be? A: Around 155 characters. Longer descriptions may be truncated with an ellipsis in search results. - Q: Does this guarantee my snippet looks exactly like this? A: No — Google may rewrite titles and descriptions based on the search query. This is a close approximation that is useful for sizing and message testing. Privacy: Your title and description are processed locally in your browser. Nothing is sent to a server. --- ### Keyword Density Checker URL: https://uttir.com/keyword-density-checker Categories: seo-tools, text-tools Description: Keyword density is the percentage of times a keyword appears compared to the total words on a page. Search engines use it as one signal of what your content is about — but stuffing keywords unnaturally hurts more than it helps. This tool counts total words, shows how often a specific keyword appears, and ranks the most frequent words in your text. Use it to check that your primary keyword appears a natural number of times and that you are not accidentally over-optimizing. How to use: 1. **Paste your content** — Any amount of text — a blog post, product page, or ad copy. 2. **Check a specific keyword (optional)** — See its exact occurrence count and density percentage. 3. **Review the top keywords list** — Spot accidental repetition and find opportunities to mention your main keyword. FAQ: - Q: What is a good keyword density? A: There is no perfect number — 1–3% is a common natural range. What matters more is that your content reads naturally and answers the searcher’s intent. - Q: Does keyword density affect rankings? A: It is a weak signal on its own. Modern search engines prioritize relevance and quality, and obvious keyword stuffing can actually hurt your rankings. - Q: Is my content uploaded anywhere? A: No. The analysis runs entirely in your browser — your draft stays private on your device. Privacy: Your text is analyzed entirely in your browser and never uploaded anywhere. --- ### JSON-LD Schema Generator URL: https://uttir.com/json-ld-generator Categories: seo-tools Description: JSON-LD structured data tells search engines exactly what your content is: an article with an author and publish date, a list of questions and answers, a business with an address and phone number. It is the markup behind rich results like FAQ accordions and rich snippets. This generator builds valid schema.org JSON-LD for the four most useful types. Choose a type, fill in the fields, and copy the formatted JSON into a in your page head, then validate with Google’s Rich Results Test. FAQ: - Q: What is JSON-LD? A: JSON-LD (JSON for Linking Data) is a standard format for describing data to search engines. It is the format Google recommends for structured data. - Q: Where do I put the generated code? A: Wrap it in and place it anywhere in the head or body of the page. Many CMS plugins also accept raw schema markup. - Q: How do I check that my schema is valid? A: Paste your page URL into Google’s Rich Results Test or validate the JSON itself with the JSON formatter on this site. Privacy: Your structured data is generated locally in your browser and never sent to a server. --- ### Sitemap Generator URL: https://uttir.com/sitemap-generator Categories: seo-tools, developer-tools Description: A sitemap.xml file tells search engines which pages exist on your site, when they were last updated, and how often they change. It is one of the fastest wins for helping Google discover your content. Paste your URLs — one per line — and this generator produces a valid XML sitemap you can save and upload to your server, then submit through Google Search Console. How to use: 1. **Paste your URLs** — One URL per line, starting with https://. Only http(s) URLs are accepted. 2. **Add optional metadata** — Set a global last-modified date, change frequency, and priority that apply to every URL. 3. **Copy and upload** — Copy the XML, save it as sitemap.xml, and upload it to the root of your domain. FAQ: - Q: Where do I upload the sitemap? A: To the root of your domain as sitemap.xml, then submit the URL (for example https://yoursite.com/sitemap.xml) in Google Search Console. - Q: What does change frequency mean? A: It hints to search engines how often a page changes — daily, weekly, monthly, and so on. It is a hint, not a directive. - Q: Is this valid for Bing too? A: Yes. The sitemap protocol is a shared standard supported by Google, Bing, and other major search engines. Privacy: Your URLs are processed locally in your browser and never sent to a server. --- ### robots.txt Generator URL: https://uttir.com/robots-txt-generator Categories: seo-tools, developer-tools Description: robots.txt tells search engines and other crawlers which parts of your site they may visit. A well-formed file prevents wasted crawl budget and can block unwanted bots — including AI crawlers. Pick which paths to allow and disallow, add your sitemap, and optionally include a section for AI crawlers. This generator produces a clean, standards-compliant robots.txt you can upload to your site root. How to use: 1. **Set global rules** — Allow and disallow paths apply to all crawlers, e.g. /admin should be disallowed. 2. **Add your sitemap** — Include the full URL, for example https://yoursite.com/sitemap.xml. 3. **Choose AI crawler rules** — Optionally add a section that explicitly allows or blocks generative-AI crawlers like GPTBot and ClaudeBot. 4. **Copy and upload** — Save the output as robots.txt in the root of your domain. FAQ: - Q: Where do I put robots.txt? A: In the root of your domain, so it is served at https://yoursite.com/robots.txt. It applies to the whole site (subdomains have their own). - Q: Should I block AI crawlers? A: That depends on your goals. If you want generative engines to cite and summarize your content, leave them allowed. If not, list their user agents under Disallow. - Q: Is robots.txt a security measure? A: No. It is a request, not a barrier — any crawler can ignore it. Use real access controls for anything private. Privacy: Your rules are generated locally in your browser. Nothing is sent to a server. --- ### Lorem Ipsum Generator URL: https://uttir.com/lorem-ipsum-generator Categories: generators, text-tools Description: Lorem Ipsum has been the industry-standard placeholder text since the 1500s, when an unknown printer scrambled a passage from Cicero to make a type specimen book. It has survived five centuries of typesetting, the leap into electronic typesetting, and more or less unchanged. Use this generator to fill designs, mockups, and content layouts with realistic-looking text that mimics natural word distribution. Pick how many paragraphs you need and roughly how long each one should be — paragraphs always start with the classic "Lorem ipsum dolor sit amet" so layouts read as expected. How to use: 1. **Set paragraph count** — Any number from 1 to 50. Defaults to 3. 2. **Set words per paragraph** — Any number from 10 to 200. Defaults to 60. 3. **Generate and copy** — Press Generate for a fresh batch; Copy puts the whole block on your clipboard. FAQ: - Q: Where does Lorem Ipsum come from? A: The standard Lorem Ipsum passage is a scrambled section of Cicero's "De Finibus Bonorum et Malorum" (On the Ends of Good and Evil), written in 45 BC. It has been used as placeholder text since the 1500s. - Q: Can I use Lorem Ipsum in commercial projects? A: Yes. Lorem Ipsum is uncopyrighted, public domain text. It contains no proprietary content, so it is safe to use in mockups, prototypes, designs, and templates that ship to clients. - Q: Is the output random? A: Each generate uses a fresh seed so you get different wording each time, but the first five words of every paragraph are always "Lorem ipsum dolor sit amet" to match traditional typesetting conventions. Privacy: Generated entirely in your browser. Nothing is uploaded or stored. --- ### Random Number Generator URL: https://uttir.com/random-number-generator Categories: generators, math-tools Description: Pick a number from any range, roll one or many dice, or shuffle a list of items. Every draw uses your browser’s cryptographically secure random number generator so the results are not predictable and not biased. Useful for giveaways, classroom picks, board-game decisions, dividing chores fairly, or anything else that needs an unbiased random choice. Set a min and max, choose how many numbers to draw, and copy the result. How to use: 1. **Choose a range** — Set the minimum and maximum (inclusive). 2. **Pick how many** — One number or a batch — useful for giveaways and raffles. 3. **Or use a preset** — Roll one or many six-sided dice, or shuffle any list of items. FAQ: - Q: How random is this? A: Numbers come from crypto.getRandomValues, a cryptographically secure RNG provided by your browser. The same API is used for TLS, password generation, and other security-sensitive work. - Q: Can I exclude some numbers? A: Not directly, but you can reroll the draw until you get a value that works for you. Each draw is independent. - Q: Is the random number cryptographically secure? A: Yes. The tool uses the browser's crypto.getRandomValues(), which is the platform's secure random source. The output is suitable for cryptographic keys, salts, nonces, and any place where predictability is a problem. Privacy: Numbers come from your browser’s cryptographically secure RNG. Nothing is sent anywhere. --- ### HTML Entity Encoder/Decoder URL: https://uttir.com/html-entity-encoder-decoder Categories: encoding-tools, developer-tools, text-tools Description: HTML reserves a handful of characters that have special meaning in markup: &, <, >, ", and '. When you want those characters to appear as text inside an HTML document, you replace them with entities like &, <, and ". This tool encodes plain text to entities (escaping only the reserved characters by default, or every non-ASCII character in "all" mode) and decodes any combination of named (©), decimal (©), and hex (©) entities back to the characters they represent. How to use: 1. **Encode or decode** — Switch the mode with the toggle at the top of the page. 2. **Paste your text** — Type or paste into the input box. Output updates as you type. 3. **Copy the result** — Use the Copy button to put the converted text on your clipboard. FAQ: - Q: What is the difference between basic and full encoding? A: Basic encoding escapes only the five reserved characters (& < > " '). Full encoding also turns every non-ASCII character into a numeric entity, which can help avoid encoding issues when serving the same HTML across many systems. - Q: Does the decoder handle decimal and hex entities? A: Yes. Both © (decimal) and © (hex) are recognized, along with any named entity from the standard set. Unknown entities are left as-is. - Q: What is the difference between named and numeric entities? A: Named entities use a short name (& for &, < for <, > for >). Numeric entities use the Unicode code point (& for &, < for <, > for >). Both render identically; named is more readable, numeric is more universal. Privacy: All conversion happens locally in your browser. No text leaves your device. --- ### Morse Code Translator URL: https://uttir.com/morse-code-translator Categories: encoding-tools, developer-tools, text-tools Description: Morse code assigns a sequence of short and long signals (dots and dashes) to every letter, digit, and most punctuation. This tool translates text to Morse and back using the standard ITU/ANSI alphabet. Words are separated by " / " and letters by a single space. Unknown symbols are replaced with "?" on decode so you can spot typos in your Morse input. How to use: 1. **Choose direction** — Pick "Text → Morse" or "Morse → Text". 2. **Paste your input** — Type or paste. The other side updates live. 3. **Copy the result** — Use the Copy button for a clean output. FAQ: - Q: What alphabet do you use? A: The ITU/ANSI standard used by amateur radio operators worldwide. Letter-spacing is one space, word-spacing is " / ". - Q: Why are some letters shown as "?" when decoding? A: A "?" appears wherever the decoder hits a sequence that does not match any standard symbol. That usually means a typo in the Morse or extra/missing spaces. - Q: Is there a standard for Morse code? A: Yes — the International Morse Code standard, last revised in 2004. The tool follows it, including the special prosigns (CT, SK, AR) used by radio operators. Privacy: Translation runs entirely in your browser. --- ### Base32 Encoder/Decoder URL: https://uttir.com/base32-encoder-decoder Categories: encoding-tools, developer-tools Description: Base32 represents binary data using a 32-character alphabet (A–Z and 2–7) defined in RFC 4648. It is common for TOTP secrets, case-insensitive identifiers, and short tokens where Base64 is too dense to be human-readable. This tool encodes UTF-8 text to a Base32 string with = padding, and decodes Base32 back to text. It rejects any input that contains characters outside the standard alphabet. How to use: 1. **Choose direction** — Switch between Encode and Decode with the toggle. 2. **Paste input** — The output updates as you type. 3. **Copy the result** — One click to copy the encoded or decoded value. FAQ: - Q: What is the difference between Base32 and Base64? A: Base32 uses a 32-character uppercase alphabet (A–Z, 2–7) and is case-insensitive. Base64 uses a 64-character mixed-case alphabet and is about 8% more compact. Base32 is preferred when humans may need to read or retype the value. - Q: Is this safe to use for production secrets? A: For one-off encoding and decoding, yes. For storing secrets long-term, prefer your platform’s native secret manager. Anything pasted here is processed only inside your browser — no network requests are made. - Q: When is Base32 used? A: Where Base64's character set is a problem: case-insensitive systems, URLs, filesystems, and human-typed codes. Base32 uses only A-Z and 2-7, which is easier to read, type, and process in those environments. Privacy: Encoding and decoding happen entirely in your browser. --- ### Cron Expression Parser URL: https://uttir.com/cron-parser Categories: developer-tools, date-time-tools Description: A cron expression is a compact way to describe a recurring schedule. The classic format has five fields: minute, hour, day of month, month, and day of week. Each field can be a wildcard (*), a single value, a list (1,15,30), a range (9-17), or a step (*/15, 9-17/2). Paste any cron expression and the tool breaks it down field by field, shows you the next five times it will fire (in UTC), and gives you a plain-English summary so you can sanity-check what you wrote. How to use: 1. **Paste a cron expression** — Five space-separated fields. Wildcards, lists, ranges, and steps are all supported. 2. **Read the breakdown** — Each field shows its raw value, allowed range, and matched values. 3. **Check the next runs** — Use the UTC time list to confirm the schedule fires when you expect. FAQ: - Q: Do you support seconds or year fields (6- or 7-field cron)? A: Not yet. This tool targets the classic 5-field POSIX cron used by crontab, GitHub Actions scheduled events, and most CI systems. Extended formats (Quartz-style) are not supported. - Q: Why are next-run times in UTC? A: Cron itself does not carry time zone information — it fires whenever the host clock matches the pattern. We display the next runs in UTC so the result is unambiguous regardless of where you are. - Q: What does "*" mean in a cron expression? A: Every value. In the minute field, "*" means every minute. In the hour field, "*" means every hour. To restrict to specific values, replace "*" with a number (e.g. "5"), a list ("1,3,5"), a range ("1-5"), or a step ("*/15" = every 15). Privacy: Parsing runs locally in your browser. No expression is sent to a server. --- ### Color Palette Generator URL: https://uttir.com/color-palette-generator Categories: color-tools, generators Description: A palette generator turns a single base color into a coordinated set of five swatches using a color-theory scheme. Analogous palettes feel calm and natural, complementary palettes pop with contrast, and triadic palettes stay balanced yet vibrant. Pick a base color, choose a scheme, and you get five swatches with their hex and RGB values. Click any swatch to copy its hex code. Useful for kicking off a brand, refreshing a design system, or finding accent colors that work with what you already have. How to use: 1. **Pick a base color** — Use the color input or paste a hex value. 2. **Choose a scheme** — Analogous, complementary, triadic, split-complementary, tetradic, or monochrome. 3. **Copy any swatch** — Click a swatch to copy its hex value to the clipboard. FAQ: - Q: Which scheme should I use? A: Analogous for calm/natural designs. Complementary for high contrast (e.g. CTAs). Triadic for vibrant but balanced brands. Tetradic for rich, multi-hue designs that still feel organized. Monochrome for minimal, premium aesthetics. - Q: Why five colors? A: Five is enough to express a brand (primary, secondary, accent, two neutrals) without overwhelming the result. You can always regenerate or pick fewer swatches for a tighter palette. - Q: What is a good color palette? A: A small set (3-5) of colors that work well together. Most palettes are based on a relationship: complementary (opposite on the color wheel), analogous (adjacent), or triadic (evenly spaced). The tool generates all three from a base color. Privacy: All color math runs locally in your browser. --- ### Tip Calculator URL: https://uttir.com/tip-calculator Categories: calculators Description: Enter the bill amount, pick a tip percentage, and set how many people are sharing. The calculator shows the tip total, the per-person tip, the per-person bill share, and the grand total per person — all instantly as you type. Use the quick presets for standard restaurant tips (15%, 18%, 20%, 25%) or dial in any custom percentage. Handy for group dinners, taxi rides, and any situation where the math gets awkward. How to use: 1. **Enter the bill** — The pre-tip total in your local currency. 2. **Set the tip percent** — Use a preset or type a custom value. 3. **Set the number of people** — The per-person breakdown updates immediately. FAQ: - Q: Should I tip on the pre-tax or post-tax amount? A: In the U.S., the common convention is to tip on the pre-tax subtotal. In many other countries, service is included in the bill. This tool does not add tax — just enter the number you want to tip on. - Q: How do I split uneven shares? A: This tool splits evenly. For uneven shares, calculate each person’s portion separately using the percentage calculator. - Q: How much should I tip? A: Standard in the US is 15-20% for restaurants, $1-2 per drink at bars, 10-15% for takeout. In many other countries, tipping is not expected. The tool lets you pick the rate and split between any number of people. Privacy: Math runs entirely in your browser. --- ### Aspect Ratio Calculator URL: https://uttir.com/aspect-ratio-calculator Categories: image-tools Description: Aspect ratio describes the proportional relationship between width and height. It is the magic number behind "why does this photo look squished?" and "what resolution do I need for an Instagram Reel?". Enter any two dimensions and the tool reduces them to their simplest ratio (e.g. 1920×1080 → 16:9). You can then resize to a target width, fit inside a maximum box, or look up common preset ratios for social media, print, and video. How to use: 1. **Enter width and height** — In any unit — pixels, mm, inches. The ratio is unitless. 2. **Read the reduced ratio** — The tool uses the GCD of width and height to show the cleanest form. 3. **Resize or fit** — Pick a target width or max bounds to see the new dimensions. FAQ: - Q: What is the "reduced" ratio? A: Every pixel-perfect ratio can be expressed as a simplified fraction. The reduced form is the version with the smallest whole numbers — 1920×1080 reduces to 16:9 because the GCD of 1920 and 1080 is 120. - Q: Why does my 1080×1080 Instagram post have ratio 1:1 but my 1080×1350 post has 4:5? A: Both are common Instagram aspect ratios. 1:1 is the original square format, 4:5 takes up more vertical space in the feed and gets more attention. Use the preset list to confirm what you are about to publish. - Q: What is the difference between 16:9 and 1.78:1? A: They are the same aspect ratio written two ways. 16:9 is the common short form; 1.78:1 is the decimal form. Both describe the ratio of width to height. The tool shows both. Privacy: All math runs locally. No image is uploaded. --- ### Discount Calculator URL: https://uttir.com/discount-calculator Categories: calculators Description: Three common discount problems, one tool. Use the forward mode when you know the percentage and want the final price. Use the reverse mode when you see a sale price and want to know the effective discount. Use the required-discount mode when you have a target price in mind and need to know what to mark items down to. Useful for shopping comparisons, retail pricing decisions, sale advertising, and the everyday "is this deal actually a good deal?" check. How to use: 1. **Pick a mode** — Forward (X% off), reverse (what % off), or required (hit a target price). 2. **Enter the numbers** — Original price + the other input. All values update as you type. 3. **Read the result** — Final price, amount saved, and effective percentage. FAQ: - Q: What is a "stackable" discount? A: Some stores apply multiple discounts (e.g. 20% off + extra 10% off). They multiply, not add: a 20% discount followed by a 10% discount on the reduced price equals 28% off, not 30% off. This tool applies a single discount at a time. - Q: Should I compare sale prices or effective discount percentages? A: Use the percentage when comparing deals across different original prices (a 25% off $80 jacket is a better deal than 30% off $50, but only $20 saved vs $15 saved). Use the dollar amount saved when the original prices are similar. - Q: Does the tool add sales tax? A: No. The result is the post-discount price. Add your local sales tax separately to find the final checkout total. Privacy: Math runs locally in your browser. No inputs are sent anywhere. --- ### Body Fat Calculator URL: https://uttir.com/body-fat-calculator Categories: calculators Description: The U.S. Navy method estimates body fat percentage from a few circumference measurements — height, neck, waist, and (for women) hip. It correlates reasonably well with DEXA scans for most adults and only needs a tape measure. Enter your measurements in inches, your weight in pounds, and the calculator returns your body fat percentage, the category, the equivalent fat mass, and the equivalent lean mass. How to use: 1. **Pick your sex** — The formula differs for men and women. 2. **Measure** — Neck (just below the larynx), waist (at the navel for men, narrowest point for women), hip (women, widest point). 3. **Read the result** — See your body fat %, the category, fat mass, and lean mass. FAQ: - Q: How accurate is the U.S. Navy method? A: Within about 3-4% of a DEXA scan for most adults. Less accurate for very lean or very obese individuals, and for people with unusual muscle/fat distribution. Use it for trends over time, not a single measurement. - Q: Where do I measure each circumference? A: Neck: just below the Adam's apple, tape horizontal. Waist: for men, at the navel; for women, at the narrowest point above the belly button and below the ribs. Hip (women only): at the widest point of the buttocks. - Q: How do body fat categories differ for men and women? A: Essential fat is higher for women (10-13% vs 2-5% for men) because of reproductive hormones. Athletes run 6-13% (men) or 14-20% (women). The "fitness" range is 14-17% (men) or 21-24% (women). Average: 18-24% (men), 25-31% (women). Privacy: All measurements stay in your browser. --- ### Ideal Weight Calculator URL: https://uttir.com/ideal-weight-calculator Categories: calculators Description: Ideal body weight (IBW) is a clinical estimate based on height and sex. Four formulas are commonly used: Devine (1974, the standard for drug dosing), Robinson (1983), Miller (1983), and Hamwi (1964). This tool shows all four plus the simple mean, and a BMI-based healthy range for comparison. Ideal body weight formulas are most useful as a reference point. They were derived from actuarial tables of height and weight in healthy adults and are not a target for everyone. Use them alongside body composition, lifestyle, and your own health data. How to use: 1. **Pick your sex** — The base weights differ for men and women. 2. **Enter your height** — In feet and inches. 3. **Read the results** — See all four formulas, the average, and the healthy BMI range. FAQ: - Q: Which formula is the most accurate? A: None of them. The formulas were derived from mid-20th-century population data and assume a specific frame size. Use them as a range, not a single target. For most purposes, the mean of the four (or the healthy BMI range) is more useful than any single formula. - Q: Why do the formulas give different answers? A: They were derived from different populations using different statistical methods. Devine was built for drug dosing (a conservative estimate). Robinson and Miller revised Devine using broader data. Hamwi is the oldest. The spread is usually 5-10 kg. - Q: Is ideal body weight the same as a healthy weight? A: Not exactly. IBW is a single point estimate from a formula. The healthy weight range (BMI 18.5–24.9) is a range of weights associated with the lowest health risk in population studies. The BMI range is usually more useful as a target. Privacy: Math runs locally. No measurements are sent anywhere. --- ### Work Hours Calculator URL: https://uttir.com/work-hours-calculator Categories: calculators Description: Add clock-in and clock-out times for each day, with optional unpaid break time. The calculator sums total hours, regular hours (under the daily/weekly OT threshold), and overtime hours, with a per-day breakdown. Useful for hourly employees tracking time cards, freelancers logging billable hours, small business owners running payroll, and anyone who needs to know how many hours they worked last week. How to use: 1. **Add rows for each shift** — Default 5-day week is set up — edit the rows for your actual days. 2. **Enter times as decimal hours** — 9 = 9:00, 9.5 = 9:30, 17.25 = 17:15. 3. **Set OT thresholds** — Default is 8 hours/day and 40 hours/week (U.S. standard). Change to match your policy. FAQ: - Q: How do I enter times? A: Use decimal hours. 9:00 = 9, 9:30 = 9.5, 17:15 = 17.25. This is the same format most modern time-tracking apps use, and you can convert clock times to decimals by dividing minutes by 60. - Q: Which overtime rule applies? A: In the U.S., the federal rule is overtime after 40 hours per week. California and a few other states also pay daily OT after 8 hours. Many employers set their own policy. Set the thresholds in the calculator to match your situation. - Q: Does this handle multiple jobs? A: Yes — add rows for each shift, with different labels. The total is the sum across all jobs. For per-job breakdowns, use the per-day view. Privacy: All entries stay in your browser. Nothing is uploaded. --- ### Pregnancy Due Date Calculator URL: https://uttir.com/pregnancy-calculator Categories: calculators Description: Two ways to estimate a due date. The default is Naegele's rule: due date = first day of last period + 280 days (40 weeks). This works if your cycles are roughly 28 days. If you know the conception date (IVF transfer, known ovulation, IUI), use that mode — it adds 266 days instead. The calculator shows the current week and day, which trimester you're in, days until the due date, and the key milestone dates (heartbeat detectable at 7 weeks, anatomy scan at 20 weeks, viability at 24 weeks, full term at 37 weeks). How to use: 1. **Pick the input mode** — LMP (last menstrual period) or known conception date. 2. **Pick the date** — For LMP: the first day of your most recent period. For conception: the date of ovulation, IUI, or embryo transfer. 3. **Read the result** — See the due date, current week/day, trimester, and milestone dates. FAQ: - Q: How accurate is the due date? A: Only about 4-5% of babies are born on their actual due date. The due date is a midpoint of a 5-week range (37-42 weeks is considered full term). Use it for planning, not as a deadline. - Q: What if my cycle is longer or shorter than 28 days? A: Naegele's rule assumes 28-day cycles. For longer or shorter cycles, the due date is off by the same number of days. Conception-date mode is more accurate when you know the actual date of ovulation. - Q: When will the first ultrasound be more accurate? A: The first-trimester ultrasound (8-13 weeks) measures the crown-rump length, which is the most accurate due-date method outside of IVF. Use the calculator as an estimate until your dating scan. Privacy: Your dates never leave the browser. --- ### Pace Calculator URL: https://uttir.com/pace-calculator Categories: calculators Description: Two ways to plan a run. Forward: enter a recent run time and distance to get your pace (min/km or min/mi). Reverse: pick a target pace and a distance to see your finish time. Useful for race planning, training zones, and tracking improvements. Supports both kilometers and miles. Switch the unit to see your pace in the other system without converting numbers by hand. How to use: 1. **Pick a unit** — Kilometers or miles — affects all displayed values. 2. **Forward: enter time and distance** — See your pace and your speed in the chosen unit. 3. **Reverse: enter pace and distance** — See your predicted finish time. FAQ: - Q: Is pace the same as speed? A: No. Pace is the time it takes to cover a unit distance (e.g. min/km). Speed is the distance covered per unit time (e.g. km/h). They are reciprocals. The calculator shows both. - Q: Why does my pace feel easier on a treadmill? A: Treadmill pace is usually a little easier than the equivalent outdoor pace because the belt assists leg turnover. Most runners add 5-10 seconds per km to their treadmill pace for outdoor effort equivalence. - Q: How do I predict a race time from a training pace? A: This calculator works for a single pace. For race prediction from a training run, Riegel's formula is the standard: T2 = T1 × (D2 / D1)^1.06. For most runners, a 5K pace is roughly 90% of a 10K pace, and a half-marathon pace is about 105% of a 10K pace. Privacy: Calculations are local. No data leaves your device. --- ### Square Footage Calculator URL: https://uttir.com/square-footage-calculator Categories: calculators Description: Calculate the area of a single room from its length and width, or add up the area of multiple rooms for a whole-floor total. The calculator returns square feet and square meters regardless of which unit you enter, so you can plan flooring, paint, or landscaping without converting numbers by hand. Use the single-room mode for a quick estimate. Use the multi-room mode when you have an actual floor plan or a list of room dimensions. How to use: 1. **Pick a unit** — Feet, meters, yards, inches, or centimeters. 2. **Single room: enter length and width** — Get the area in your unit, plus square feet and square meters. 3. **Whole floor: add rooms** — Each row sums to a grand total in square feet and square meters. FAQ: - Q: How do I convert between square feet and square meters? A: 1 square foot = 0.0929 square meters, or 1 square meter = 10.764 square feet. The calculator shows both side by side so you don't have to convert manually. - Q: How do I account for odd-shaped rooms? A: Break the room into rectangles (or triangles), calculate each area, and sum them. The multi-room mode works for this — add one row per rectangle. - Q: Does this work for flooring and paint estimates? A: For flooring: add 5-10% to the calculated area for cutting waste. For paint: a single gallon covers about 350-400 square feet per coat, so a 500 ft² room needs 2-3 gallons for two coats. Privacy: All measurements stay in your browser. --- ### Inflation Calculator URL: https://uttir.com/inflation-calculator Categories: calculators Description: How much will $100 today cost in 20 years? What did $100 in 2000 buy in 2024? This calculator answers both. Enter an amount, a number of years, and an annual inflation rate, and the tool shows the future cost and the equivalent purchasing power in today's dollars. For quick historical comparisons, pick a year from the U.S. CPI table (1990 onward). The long-run U.S. inflation rate is around 3.2% per year — a useful default for general planning. How to use: 1. **Enter the amount** — In today's dollars. 2. **Enter the number of years** — How far into the future (or past) to project. 3. **Pick a rate** — Custom annual rate, or use a historical U.S. CPI year. FAQ: - Q: What is a "good" inflation rate to use? A: For long-term U.S. planning, 3-3.5% is a reasonable assumption. The historical average is around 3.2%. The Fed targets 2% but actual inflation often runs higher over long periods. For 2021-2023, the U.S. rate spiked to 7-9% before easing back. - Q: Why does the future cost differ from the purchasing power? A: They are two sides of the same coin. The future cost is "how many dollars do I need in 20 years to buy what $100 buys today?" The purchasing power is "how much is $100 in 20 years worth in today's dollars?" Mathematically identical, just different framing. - Q: Does this account for compounding? A: Yes. Inflation compounds annually. At 3% per year, prices double in about 24 years (the rule of 72). At 7%, prices double in about 10 years. Privacy: Calculations are local. No data leaves your device. --- ### Retirement Calculator URL: https://uttir.com/retirement-calculator Categories: calculators Description: Enter your current age, target retirement age, current savings, monthly contribution, expected return, and (optionally) an annual raise on contributions and an inflation rate. The calculator projects your balance year by year, and shows the final balance in both nominal and real (today's-dollar) terms. Useful for sanity-checking your 401(k) or IRA plan, comparing scenarios, and answering the "am I on track?" question. Run a few scenarios with different contribution amounts to see how each extra $100/month changes the outcome. For the pure-math version (no age framing, no inflation, no raises), see the compound interest calculator. How to use: 1. **Set the timeline** — Current age and target retirement age. 2. **Enter your savings** — Current balance and monthly contribution. 3. **Set the assumptions** — Annual return, raise, and inflation. A common default is 7% return, 2% raise, 2.5% inflation. FAQ: - Q: What return rate should I assume? A: A common assumption is 7% real (above inflation) for a diversified equity portfolio, or about 10% nominal with 3% inflation. For a more conservative portfolio (60/40 stocks/bonds), 5-6% real. The historical S&P 500 average is about 10% nominal, 7% real. - Q: How does the inflation adjustment work? A: Each year, the projected balance is divided by (1 + inflation_rate)^years_elapsed. So $1M projected for 35 years from now at 2.5% inflation shows as ~$420K in today's dollars. Use the inflation-adjusted value for real-world planning. - Q: What about employer match? A: Add the employer match to your monthly contribution. A 4% employer match on a $60K salary is $200/month. Most calculators treat this as a flat addition to your contribution, which underestimates the compounding slightly but is close enough for planning. Privacy: Math runs locally. No inputs are sent anywhere. --- ### Macro Calculator URL: https://uttir.com/macro-calculator Categories: calculators Description: Convert a daily calorie target into protein, carb, and fat grams. Pick a split that matches your goal: balanced (30/40/30), high-protein (35/35/30), low-carb (25/20/55), or keto (20/5/75). The calculator returns grams and the calorie contribution of each macro. Useful for flexible dieting (IIFYM), macro-based meal planning, and tracking macros on apps like MyFitnessPal. Pair with the calorie calculator to set the calorie target first. How to use: 1. **Enter your calorie target** — From the calorie calculator or your own planning. 2. **Pick a split** — Balanced, high-protein, low-carb, or keto. 3. **Read the result** — See grams and calorie contribution for protein, carbs, and fat. FAQ: - Q: Which split should I pick? A: For most people, balanced (30/40/30) or high-protein (35/35/30) is fine. Low-carb and keto work for some — they're not inherently better or worse for weight loss, but they change the foods you eat. Pick what you can sustain. - Q: How much protein do I actually need? A: 0.7-1g per pound of body weight is a common target for active adults (1.6-2.2 g/kg). For most people, 25-30% of calories from protein is a reasonable default. Very high protein (>35%) is fine but rarely necessary. - Q: What about fiber? A: Fiber is part of the carb count in this calculator. The recommended intake is 25-35g/day, mostly from vegetables, whole grains, and legumes. Track it separately if it matters for your goals. Privacy: Math runs locally. No inputs are sent anywhere. --- ### JSON to YAML Converter URL: https://uttir.com/json-to-yaml Categories: data-tools, developer-tools Description: YAML is a human-friendly data format that you will encounter in Kubernetes manifests, GitHub Actions workflows, Ansible playbooks, Docker Compose files, and most modern configuration. This tool converts JSON to YAML and back, so you can paste JSON from an API response and get a YAML config ready to drop into a repo. Both directions preserve the data: objects map to mappings, arrays to sequences, and the common scalar types round-trip cleanly. Multi-line strings, anchors, and flow style are not supported — keep your input to the everyday JSON subset. How to use: 1. **Choose direction** — Toggle between JSON → YAML and YAML → JSON. 2. **Paste your input** — The output updates as you type or paste. 3. **Copy the result** — One click to copy the converted text. FAQ: - Q: Does this support flow style and anchors? A: Not yet. This tool targets the most common block-style YAML subset. It round-trips plain JSON shapes perfectly. If you need full YAML 1.2 support, look for a tool built on PyYAML or libyaml. - Q: Why does my YAML output look indented differently than I expected? A: Indentation is 2 spaces per level. If your editor expects 4, just run the result through your formatter of choice — the data is unchanged. - Q: When should I use YAML instead of JSON? A: YAML is easier to read and edit by hand. JSON is easier for machines to parse and is the lingua franca of web APIs. Use YAML for configuration files, CI/CD pipelines, and any place humans will edit the data. Use JSON for everything else. Privacy: Conversion runs locally in your browser. No data is uploaded. --- ### YAML to JSON Converter URL: https://uttir.com/yaml-to-json Categories: data-tools, developer-tools Description: YAML is the format you will find in Kubernetes manifests, GitHub Actions workflows, Ansible playbooks, Docker Compose files, and most modern configuration. It is more human-friendly than JSON but harder to read once it gets past a few levels of nesting. This tool takes YAML and renders it as pretty-printed JSON, so you can see the actual structure (objects, arrays, scalar values) at a glance. It also flags common YAML errors with the line and column where they occurred, so you can fix typos before committing. How to use: 1. **Paste your YAML** — Drop a YAML document into the input. 2. **Read the JSON** — The output updates as you type. Click any key in the tree preview to collapse the rest. 3. **Copy or download** — Use Copy for the clipboard, or Download to save as a .json file. FAQ: - Q: What subset of YAML is supported? A: The common block-style subset: mappings (key: value), sequences (- item), scalars (strings, numbers, booleans, null), inline tables, and arrays of tables. Anchors/aliases, flow-style collections, and heredocs are not supported. - Q: Why does my multi-line string come out as one line? A: JSON has no multi-line string type, so the tool joins multi-line YAML scalars into a single \n-separated string. That is the correct JSON representation — when a downstream consumer reads it back, the newlines are preserved. - Q: How do I know where a YAML error is? A: When the parser fails, the output shows the line and column number where the error was detected. YAML is whitespace-sensitive, so the most common cause is a misaligned indent. Privacy: Parsing runs locally in your browser. Your YAML never leaves the page. --- ### Date Add/Subtract Calculator URL: https://uttir.com/date-add-subtract Categories: date-time-tools, calculators Description: Add or subtract any number of days, weeks, months, or years from a starting date. Useful for figuring out deadlines ("30 days from today"), anniversaries, project timelines, and just about any date math you would otherwise do on a paper calendar. Months and years roll over correctly: January 31 + 1 month = February 28 (or 29 in a leap year). Days and weeks do not care about month length. How to use: 1. **Pick a starting date** — Defaults to today. Edit it freely. 2. **Choose a unit and amount** — Days, weeks, months, years, hours, or minutes. Negative values go backward. 3. **Read the result** — The target date and the number of days between start and target. FAQ: - Q: How are months handled? A: Months are added by name, so Jan 31 + 1 month = Feb 28 (or Feb 29 in a leap year). The tool never produces an invalid date — it rolls over to the last valid day of the month when needed. - Q: Are the calculations timezone-aware? A: Dates are treated as calendar dates in UTC, so you get the same answer no matter where you are in the world. If you need timezone-aware math (e.g. business days), that is a different tool. - Q: How are time zones handled? A: The tool uses your browser's local time zone for the input and output. If you need to add days in a specific time zone, set the time zone on the input — the output will be in the same time zone. Privacy: All math runs in your browser. No date leaves your device. --- ### Markdown to HTML Converter URL: https://uttir.com/markdown-to-html Categories: text-tools Description: Markdown is the de facto standard for writing content on the web — READMEs, blog posts, docs, comments. This tool converts Markdown to HTML in real time, so you can paste Markdown, see the HTML on the other side, and copy either form to the clipboard. It supports the common subset: headings, bold, italic, inline code, fenced code blocks, links, images, ordered and unordered lists, blockquotes, and horizontal rules. For the small percentage of edge cases (tables, footnotes, task lists), reach for a dedicated library like marked or remark. How to use: 1. **Type or paste Markdown** — The HTML preview updates as you type. 2. **Read the preview** — Use the rendered output to confirm the formatting is what you want. 3. **Copy the HTML** — Click Copy HTML to put the converted markup on your clipboard. FAQ: - Q: Does it support GitHub-flavored Markdown? A: It covers the most-used subset including headings, lists, links, images, code, and blockquotes. GFM-specific features like tables, task lists, and strikethrough are not included. - Q: Is the HTML safe to paste into my site? A: The converter HTML-escapes all input, so user-provided text is safe. Links are automatically given rel="noopener noreferrer" and target="_blank" to prevent tab-nabbing. - Q: Does the output match GitHub-Flavored Markdown? A: Mostly. Tables, fenced code, and task lists are supported. Some GFM extensions (mention autolinking, math with $$) are not. The output is safe HTML — no inline scripts, no event handlers — so it is safe to render in your own page. Privacy: Conversion happens entirely in your browser. --- ### Markdown Table Generator URL: https://uttir.com/markdown-table-generator Categories: text-tools, data-tools Description: Markdown tables are how most README files, blog posts, and documentation pages present structured data. They are easy to read in source, render nicely on GitHub, and survive copy-paste into most editors. But typing the pipe characters and alignment dashes by hand is tedious and error-prone. This tool takes your data (typed in, pasted as CSV, or pasted as a key/value grid) and produces a properly-formatted table with the right column count, alignment dashes, and cell padding. You can also pick per-column alignment: left (default for text), right (good for numbers), or center. How to use: 1. **Add a header row** — Type the column names in the first row, separated by tabs or commas. 2. **Add your data rows** — Type or paste each row, one per line. Same separator as the header (tab or comma). 3. **Set alignment (optional)** — Click a column header to cycle through left, center, and right alignment. 4. **Copy the table** — Use Copy to grab the rendered markdown. FAQ: - Q: What alignment options are available? A: Each column can be left, center, or right aligned. Click a column header to cycle. Left is the default and is best for text; right is best for numbers; center is best for short labels. - Q: How does the tool handle cells with commas or pipes? A: Cells cannot contain the pipe character (|) — that is the column separator in markdown. Newlines inside cells are also not supported by the standard. For cells that need a pipe, use a different separator (the tool supports tabs as the column delimiter). - Q: Is the output GitHub-flavored markdown? A: Yes. The alignment syntax (:---, ---:, :---:) is the same GitHub uses, and the tool produces a table that renders correctly on GitHub, GitLab, Bitbucket, Obsidian, and most static-site generators. Privacy: Generation runs locally in your browser. Your data never leaves the page. --- ### HTML Minifier URL: https://uttir.com/html-minifier Categories: developer-tools, web-tools Description: Minifying HTML removes the comments, indentation, and excess whitespace that make source readable but inflate file size. For production builds, a few percent off every page adds up to faster loads and lower bandwidth costs. Paste your HTML on the left, get the minified version on the right, and see the byte savings in real time. Toggle the "remove optional tags" option for an extra pass that drops redundant ,

, and similar closures that the browser will infer anyway. How to use: 1. **Paste your HTML** — Drop a snippet, a partial, or a full document. 2. **Pick options** — Toggle "remove optional tags" if you want an extra squeeze. 3. **Copy the minified HTML** — Use the Copy button to grab the result. FAQ: - Q: Will minifying break my HTML? A: For most static markup, no. The minifier does not touch the contents of