Basic Grammar Checker - Online Free Writing Assistant
Identify common grammar mistakes (subject-verb agreement, tense, articles) with simple rule-based analysis. Explanations provided. Not AI, purely rule-based and local.
UD5 Toolkit
Parse, visualize, and validate npm-style semver ranges — ^1.2.3, ~1.2.3, >=1.0.0 <2.0.0, and more.
SemVer uses a three-part version number: MAJOR.MINOR.PATCH. Increment MAJOR for breaking changes, MINOR for new backward-compatible features, and PATCH for backward-compatible bug fixes. Optional pre-release labels (e.g., 1.0.0-alpha.1) and build metadata (e.g., 1.0.0+build.123) can be appended.
^ (caret) mean in npm version ranges?The caret ^ allows changes that do not modify the leftmost non-zero digit. For example, ^1.2.3 means >=1.2.3 <2.0.0 — compatible with 1.x.x. For ^0.2.3, it means >=0.2.3 <0.3.0, and for ^0.0.3 it pins to >=0.0.3 <0.0.4. This is npm's default when you run npm install.
~ (tilde) mean?The tilde ~ is more conservative. ~1.2.3 means >=1.2.3 <1.3.0 — only patch-level changes are allowed. ~1.2 means >=1.2.0 <1.3.0, and ~1 means >=1.0.0 <2.0.0. Use tilde when you want stricter control over dependency updates.
^ and ~ in practice?^1.2.3 accepts any 1.x.x version ≥1.2.3 (including 1.9.9), while ~1.2.3 only accepts versions from 1.2.3 up to (but not including) 1.3.0. Use ^ for libraries with stable APIs; use ~ for dependencies where you want minimal change risk.
By default, npm ranges do not match pre-release versions unless the range itself specifies a pre-release tag. For example, ^1.2.3 will not match 1.3.0-beta.1, but ^1.2.3-beta will match 1.3.0-beta.5. This prevents accidental upgrades to unstable releases.
1.2.x or *?1.2.x (or 1.2.*) matches any version >=1.2.0 <1.3.0 — equivalent to ~1.2.0. * (or just empty) matches any version at all (>=0.0.0). Use wildcards sparingly as they can lead to unpredictable dependency resolution.
1.2.3 - 2.3.4 work?A hyphen range like 1.2.3 - 2.3.4 translates to >=1.2.3 <=2.3.4 (inclusive on both ends). Partial versions are filled in: 1.2 - 2.3.4 becomes >=1.2.0 <=2.3.4. This syntax is common in package.json dependencies.
||?Yes! Use || to specify alternative ranges. For example, ^1.0.0 || ^2.0.0 matches any version in the 1.x range (≥1.0.0) or the 2.x range (≥2.0.0). This is useful when your package supports multiple major versions of a dependency.
While ranges like ^1.2.3 provide flexibility, they can introduce non-deterministic builds. Using a lockfile (package-lock.json or yarn.lock) pins exact versions while still allowing range-based resolution during updates. Combine ranges in package.json with a committed lockfile for the best balance of flexibility and reproducibility.
An empty string or * matches any version. An invalid expression (like ^^1.0 or abc) will be treated as an error by npm and most package managers. Always validate your ranges before publishing package.json to avoid unexpected resolution failures.
Identify common grammar mistakes (subject-verb agreement, tense, articles) with simple rule-based analysis. Explanations provided. Not AI, purely rule-based and local.
Check if the browser has captured the beforeinstallprompt event. Understand why your PWA is (or isn't) installable.
Check if a password appears in the Have I Been Pwned database using k‑Anonymity. Only the first 5 characters of the hash are sent.
Enter foreground and background colors to instantly see the contrast ratio and pass/fail for AA and AAA. Simple and fast.
Check which cipher suites a website supports and identify weak or outdated ones. Quick security audit from your browser.
Fetch a site’s HSTS header and validate its syntax, max‑age, and subdomain flags. Ensure your site enforce HTTPS.
Enter an API URL and quickly check its HTTP status code and response time. See response headers and body. Browser fetch.
Type any character and see how it renders in different font stacks. Detect missing glyphs and fallback behavior.
Enter a URL and get a one‑page report of titles, description, headings, image alts, and broken links. All from browser.
Look at HTTP headers and JavaScript objects to guess which browser extensions might be installed. For awareness.
Define minimum length, uppercase, digits, special chars, and check if a password meets your custom policy. Instant feedback.
Check if an IBAN has the correct length and structure for its country. Early validation, no bank connection.
Drop an image that might have wrong extension and see its real format (JPEG, PNG, WebP) based on header bytes.
Enter a URL and see its favicon at all standard sizes. Check if it's properly defined. SEO basic check.
Validate if a version string follows SemVer 2.0.0. Also sort and compare versions. Developer tool.
Check if a number of the form 2^p‑1 is a Mersenne prime. Quick Lucas‑Lehmer test simulation for small p.
Trace the full redirect path of a URL. See every hop, status code, and final destination. Detect broken chains.
Paste your email body and subject, and get a spam score based on common trigger words and patterns. Improve your cold outreach.
Type a word to see all its homophones with definitions. Avoid embarrassing mistakes (their/there/they’re). Static dictionary.
Interactive piano showing typical vocal ranges from Bass to Soprano. Highlight your range. For choir members.
Enter a year to check if it is a leap year. Shows the rule explanation and next/previous leap years. Simple reference.
Find out if a word is an isogram (no repeating letters). Different types: first-order, second-order. Word nerd fun.
Check if a word or phrase is a palindrome (reads same forward and backward). Live validation and fun facts.
Check HTTP status codes for multiple URLs at once. Identify broken links and redirects. All requests made via browser fetch.
Preview the Gravatar image associated with any email address. Generate the correct Gravatar URL. Handy for avatar debugging.
Check if a website is globally reachable or experiencing issues. Status code and latency displayed. Quick browser-side test.
Generate creative, available npm package names and check if a name is already taken on the registry. Quick and fun for developers.
Enter a URL and see the full HTTP response headers returned by the server. Detect redirects and server type. Useful for SEO and web debugging.
Evaluate the strength of your passwords with a visual meter and detailed feedback. Check for length, complexity, and breached passwords. All analysis is client-side.
Check the contrast ratio between foreground and background colors to ensure web accessibility compliance. Get WCAG 2.1 AA/AAA pass/fail results instantly.