— FAQ

Frequently asked questions

Answers about how Kernos works, what happens to your data, and what each tool does — with links straight to the tool being asked about.

Is Kernos free to use?

Yes. Every tool is free, with no usage limits, sign-up wall, or paid tier.

Do I need to create an account?

No. There are no accounts on Kernos — you open a tool and use it immediately.

Does anything I type or paste get sent to a server?

No. Every tool runs entirely in your browser — nothing you enter is transmitted, logged, or stored anywhere we control. See Privacy for exactly how that works and how to verify it yourself.

What kinds of tools does Kernos have?

Two categories today: Developer Tools (formatters, validators, encoders) and Text Tools (counters, converters, cleaners). More categories are added based on real usage, not speculation.

Can I use Kernos tools offline?

Once a tool page has loaded, its processing happens locally in your browser and doesn't depend on a live connection to run — though you do need a connection to load the page itself.

Developer Tools

Why does my JSON show an error even though it looks fine?

The most common causes are a trailing comma after the last item in an object or array (valid in JavaScript object literals, but not in JSON), string values wrapped in single quotes instead of double quotes, or object keys that aren't quoted at all. JSON's syntax is stricter than JavaScript's.

Open JSON Formatter
Why does decoding sometimes fail with 'Invalid Base64 input'?

This happens when the input contains characters outside the Base64 alphabet (A–Z, a–z, 0–9, +, /, and = padding), has a length that isn't a multiple of 4, or decodes to bytes that aren't valid UTF-8 text. Copy-paste sometimes introduces stray whitespace or line breaks — those are stripped automatically before decoding, but other invalid characters will still be flagged.

Open Base64 Encoder/Decoder
Which regex flavor does this use?

JavaScript's native RegExp engine, the same one used in browsers and Node.js. Syntax and behavior may differ slightly from PCRE, Python's re, or other engines — for example, lookbehind support depends on the flags and engine version.

Open Regex Tester
Why does decoding fail with 'malformed % escape sequence'?

This happens when a % in the input isn't followed by two valid hexadecimal digits, or when the decoded bytes don't form valid UTF-8 text. Make sure the string you're pasting is actually percent-encoded and hasn't been truncated or double-encoded incorrectly.

Open URL Encoder/Decoder
How does the tool know if my timestamp is in seconds or milliseconds?

It counts digits: a value with 10 or fewer digits is treated as seconds (covers dates up to the year 2286), and a value with 11–13 digits is treated as milliseconds. Current Unix time is a 10-digit number of seconds or a 13-digit number of milliseconds, so this distinction is unambiguous in practice.

Open Timestamp / Unix Timestamp Converter
Which hash algorithm should I use?

For anything security-sensitive (passwords, signatures, integrity checks against tampering), use SHA-256 or stronger — MD5 and SHA-1 are both cryptographically broken and shouldn't be relied on where collision resistance matters. MD5 and SHA-1 are still commonly seen for legacy checksums and matching hashes against older systems, which is why they're included here.

Open Hash Generator (MD5/SHA)
Does this tool verify the JWT's signature?

No. Verifying a signature requires the issuer's secret (HMAC algorithms) or public key (RSA/ECDSA algorithms), neither of which this tool has or asks for. It only decodes the header and payload so you can read the claims — it doesn't tell you whether the token is authentic.

Open JWT Decoder
Is this password actually random, or just Math.random()?

It uses crypto.getRandomValues(), the Web Crypto API's cryptographically secure random number generator, not Math.random() — Math.random() is a fast, predictable PRNG that's unsuitable for anything security-sensitive since its output can sometimes be reconstructed. Character selection also uses rejection sampling rather than a plain modulo, so every character in the chosen set has an equal chance of appearing.

Open Password Generator
What's the difference between a UUID and a GUID?

They're effectively the same thing — GUID (Globally Unique Identifier) is Microsoft's name for the same 128-bit identifier format standardized as UUID (Universally Unique Identifier) in RFC 4122. A UUID generated here works anywhere a GUID is expected.

Open UUID Generator
What do the five fields mean, in order?

Minute (0-59), hour (0-23), day-of-month (1-31), month (1-12 or JAN-DEC), and day-of-week (0-6 or SUN-SAT, where both 0 and 7 mean Sunday). A cron expression like '30 9 * * 1-5' means minute 30, hour 9, every day-of-month, every month, Monday through Friday — 9:30 AM on weekdays.

Open Cron Expression Parser
What does the error correction level actually change?

It sets how much of the code's data capacity is spent on redundancy versus your actual content. At level L, roughly 7% of the code could be damaged or covered and still scan correctly; at level H, roughly 30% can be. The tradeoff is that higher levels need more modules (the black/white squares) to store the same data, so the code looks denser and can be harder to scan at very small print sizes.

Open QR Code Generator
Does this diff at the character level or the line level?

Line level — a line is marked as added or removed as a whole, rather than highlighting the specific characters that changed within a line. This keeps the diff fast and easy to read for most text, code, and config comparisons, though it means a one-character edit to a long line shows the whole line as changed rather than just that character.

Open Diff Checker
Which SQL dialect does this support?

It formats using standard ANSI SQL conventions, which reads cleanly for MySQL, PostgreSQL, SQLite, SQL Server, and most other dialects. It doesn't do dialect-specific validation (e.g. Postgres-only syntax vs. T-SQL-only syntax), only structural checks that apply universally.

Open SQL Formatter
Does this validate CSS property names and values?

No. It checks structure — matching braces, closed strings and comments — not whether a property or value is spec-valid CSS. Browsers are lenient about unknown properties (they just ignore them), so catching that class of error requires a full CSS spec parser, which is more than a formatter needs to be useful.

Open CSS Formatter
Can I create a gradient with more than 2 colors?

Yes. Click "+ Add stop" to add up to 5 color stops, each with its own color and position (0–100%). Stops are automatically rendered in position order regardless of the order you added them.

Open CSS Gradient & Shadow Generator

Text Tools

How is the word count calculated?

The text is trimmed of leading/trailing whitespace and split on any run of whitespace characters (spaces, tabs, line breaks). Each resulting chunk counts as one word, so extra spaces between words never inflate the count.

Open Word Counter
How does the converter detect word boundaries for camelCase or snake_case?

It splits on spaces, hyphens, underscores, and existing camelCase boundaries (a lowercase letter followed by an uppercase letter). This means you can convert already-formatted text — e.g. a snake_case variable name — into any other style, not just plain sentences.

Open Case Converter
Does this compare word-by-word or line-by-line?

Line-by-line. If a single line has a small change (like one word edited), that whole line shows as one removed line and one added line rather than highlighting just the changed word.

Open Text Compare
What counts as a 'character'?

Every individual character in the text — letters, numbers, punctuation, and (in With spaces mode) spaces and line breaks. Emoji and other multi-byte characters are each counted as they're represented in JavaScript strings.

Open Character Counter
How does this tool detect sentence boundaries?

It splits text wherever a period, exclamation mark, or question mark ends a run of characters. This works well for standard prose but, like any automated sentence splitter, it can miscount on text with abbreviations (e.g. "Dr. Smith") or unconventional punctuation.

Open Sentence Counter
What reading speed does this use by default?

200 words per minute, a commonly cited average for adult silent reading of straightforward prose. You can change it — many publications use 200–250 wpm, while narrated or technical content is often estimated slower.

Open Reading Time Calculator
How is this different from Case Converter?

Case Converter covers eight casing styles — including UPPERCASE, Title Case, and Sentence case — one at a time, picked from a mode selector. This tool is scoped to the four programming-identifier formats and shows all of them simultaneously, which is faster when you just need to rename something across a few naming conventions at once.

Open Identifier Case Converter
Will this remove blank lines or line breaks from my text?

No. This tool only touches spaces and tabs within and around each line. Removing line breaks entirely, or removing empty lines, are handled by separate, dedicated tools so each one stays predictable and focused.

Open Whitespace Remover
Will this turn my whole text into one giant line?

Only if you turn off "Preserve paragraphs." With it on (the default), blank lines between paragraphs are kept, and only the line breaks inside each paragraph get joined.

Open Remove Line Breaks
Does it keep the first or last occurrence of a duplicate?

The first occurrence. Later duplicates are removed and the rest of the list keeps its original order.

Open Duplicate Line Remover
What's the difference between removing and collapsing blank lines?

Removing deletes every blank line, joining paragraphs tightly together. Collapsing keeps paragraph spacing by turning any run of consecutive blank lines into exactly one blank line instead of deleting it.

Open Remove Empty Lines
Can I replace text with nothing to delete it?

Yes. Leave "Replace with" empty and every match of your find term is removed from the text.

Open Find and Replace
Does sorting remove duplicate or blank lines?

No. Sort Lines only changes the order of your lines — use the Duplicate Line Remover or Remove Empty Lines tools first if you also want to clean those up.

Open Sort Lines
Does it handle commas inside quoted values, like real CSV?

No. This is a simple line ↔ comma-separated converter, not a full CSV parser — it splits on every comma. If your items themselves contain commas, they'll be split too.

Open Comma Separator
What's a good Flesch Reading Ease score?

It depends on your audience, but as a rough guide: 60–70 reads as "Standard" and is comfortable for most general audiences, 80+ is easy enough for a wide readership, and scores below 30 are considered difficult, dense text more typical of academic or legal writing.

Open Readability Score Checker
What does lorem ipsum actually mean?

It's scrambled, non-translatable Latin-derived text, not a real passage with a coherent meaning. Its point is to look like real body text — natural word lengths and sentence rhythm — without any actual meaning that would distract a viewer from the design.

Open Lorem Ipsum Generator
Why use hyphens instead of underscores in a slug?

Hyphens are the near-universal convention for URLs — search engines treat a hyphen as a word separator but generally don't treat an underscore the same way, so hyphenated slugs tend to read better in search results. Underscores are still common in non-URL contexts like filenames or database keys, which is why both are offered here.

Open Slug Generator
Does this validate that the emails or URLs are real?

No — it only matches text that looks like an email address or URL by shape (structure and characters), the same way a spam filter or search tool would spot one in a wall of text. It doesn't check whether the address actually exists or the link resolves.

Open Extract Emails/URLs