:focus‑visible Tester - Online Keyboard‑Only Focus Ring
Compare :focus and :focus‑visible styling. See which one applies when using mouse vs. keyboard. Accessible focus management.
UD5 Toolkit
Online Colorful Text Cursors — type below and see your custom caret color in action
The blinking vertical line (caret) uses caret-color. Select a color on the right panel.
White bg · dark text · custom caret
Dark bg · light text · custom caret
Multi-line · same caret-color applies
Rich text · caret-color still works
Paste this into your stylesheet. Works in all modern browsers (Chrome 57+, Firefox 53+, Safari 11+, Edge 79+).
caret-color in CSS?
caret-color is a CSS property that sets the color of the text input cursor — the blinking vertical line (called a "caret") that appears inside <input>, <textarea>, and any element with contenteditable="true". It lets you customize the cursor color independently from the text color, which is great for branding, accessibility, and dark-mode designs.
caret-color different from the color property?
By default, browsers use the element's color value as the caret color. Setting caret-color overrides this, allowing the caret to be a different color than the text. For example, you can have dark text but a bright blue caret — making it easier to spot in long forms. If caret-color is set to auto (the default), the caret inherits the text color.
caret-color support gradients or animations?
No. The caret-color property only accepts solid color values (hex, rgb, hsl, named colors, or transparent). Gradients, conic gradients, and CSS animations are not supported for the native caret. If you need an animated or gradient cursor effect, you would need to build a custom fake caret using a <div> with JavaScript to track cursor position — but this is complex and not recommended for accessibility.
caret-color: transparent?
Yes! Setting caret-color: transparent makes the blinking caret invisible while the element remains editable. This is sometimes used for sleek search bars or password-like fields where you want a clean look. However, use it cautiously — hiding the caret can harm accessibility and confuse users who rely on it to know where they're typing.
caret-color?
caret-color is widely supported: Chrome 57+, Firefox 53+, Safari 11+ (including iOS Safari), and Edge 79+. It's safe to use in production. For older browsers, the caret simply falls back to the default text color — no layout breakage occurs.
caret-color affect the mouse cursor?
No. The caret (text cursor) and the mouse cursor (pointer) are two entirely different things. The caret-color property only controls the blinking text insertion indicator. To change the mouse cursor, use the cursor CSS property (e.g., cursor: pointer;).
If your caret color is dark (like black or navy) and your input has a dark background, there won't be enough contrast. Always test your caret-color against the background. A good rule of thumb: for dark backgrounds, use bright caret colors (white, cyan, yellow, light blue); for light backgrounds, darker colors work well. Our tool above shows contrast indicators to help you choose wisely.
caret-color with ::selection or other pseudo-elements?
caret-color is a standalone property and does not interact directly with ::selection (which styles selected text highlights) or ::placeholder. However, you can combine them for a fully customized input experience — for example, a blue caret, a yellow selection highlight, and a gray placeholder, all in the same input field.
Compare :focus and :focus‑visible styling. See which one applies when using mouse vs. keyboard. Accessible focus management.
Turn your browser screen into a full‑color flashlight or strobe. Adjust brightness and color. Simple utility.
Convert pixel values to em and rem units based on a base font size. Bidirectional. Must‑have for front‑end developers.
Paste HTML and see a before/after comparison of minified output. Check the byte savings. All local.
Hear a word spoken by browser TTS and type the spelling. Choose difficulty or paste your own list. Great for kids. Local only.
Click for a warm, encouraging sentence to lift your spirits or support a friend. Small positive boost. No repeats.
Start a 10‑15 minute guided laser chase session that ends with the dot landing on a treat, preventing frustration from never catching the prey.
Click any element on a demo page and see which events are attached. Visual debugger for event handling.
Estimate ovulation day and fertility window from last menstrual period. Displays probable conception dates. Informational only; processes locally in browser.
Fill in your details and generate a professional-looking invoice ready to print or save as PDF. No sign-up, all data stays on your device. Great for freelancers.
Hear text spoken word by word with boundary events. See the exact index and character. Advanced TTS dev tool.
Paste your speech, set time limit, and practice with a pacing indicator (words per minute). Refine delivery.
Get a short, thought‑provoking insight or proverb. A moment of reflection. Works offline.
Measure your visual and auditory reaction speed. Average and best times shown. No data collected. Pure Javascript timing.
Answer questions and see typical milestones for 0-5 years. Educational reference for parents. Not a diagnostic tool.
Fill in your details and generate a professional‑looking invoice ready to print or save as PDF. No sign‑up, all data stays on your device.
Set any future date and see a live countdown in days, hours, minutes, seconds. Fun animated display. Save multiple countdowns locally.
Tap a glass icon each time you drink a cup of water. See your daily intake. Reminders optional. Local storage.
Use your microphone to dictate text and see it appear live. Also upload an audio file for transcription (limited). All local.
Use your microphone to dictate text and see it appear live. Also upload an audio file for basic transcription. All local.
See a comprehensive table of which modern web APIs your current browser supports. Includes WebGPU, AVIF, and more.
Paste your script and get an approximate speech duration based on slow/average/fast pace. Avoid overtime.
Paste text and set display speed for Rapid Serial Visual Presentation. Train your reading speed.
Track days of sobriety with a motivational counter and milestone celebrations. Set quit date and see time elapsed in days, hours, minutes. Private & local.
Test your browser's built‑in speech recognition. Speak and see the transcribed text appear live. Must‑have for voice app devs.
Generate CUIDs that are optimized for horizontal scaling and collision resistance. Great for client‑side IDs. Pure JavaScript.
Test a regex against long strings and measure execution time. Detect catastrophic backtracking patterns. Visual warning if slow.
Paste robots.txt content and parse it to check validity, find disallowed paths. Educational SEO tool. Local processing.
Learn to aim a signal mirror by aligning a virtual finger and target. Simulates the retro‑reflective mesh technique. Practice before you need it.
Timer to remind you to limit shower water exposure even with a cast cover. Keep your cast dry.