CSS Outline Generator
Visual CSS outline builder with :focus-visible mode, negative offset, currentColor, accessibility presets. Free, offline, client-side, instant.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Build CSS outlines with 4 pseudo-class modes (always, :focus-visible for modern keyboard-only, :focus, :hover). Supports negative outline-offset, the currentColor keyword, and accessibility-tuned presets.
Outline
CSS
HTML
How to Use CSS Outline Generator
- Pick a preset. "Default Focus" (3px solid) is the safest start; "Accessibility Strong" (4px double) meets WCAG 2.4.7 and 1.4.11 for minimum thickness.
- Choose a mode:
:focus-visible(recommended) only shows on KEYBOARD focus, hiding on mouse click, which is the best UX. - Set width (0 to 20px, 2px or more recommended), style (solid is safest; double doubles contrast), and color.
- Toggle
currentColorso the outline inherits the element'scolorproperty, useful for theme-following components. - Adjust offset. Positive pushes outward (visual breathing room); negative pulls inward (inset-style focus on tight layouts).
- Watch the diagnostic chip, which warns about width 0 or always-on outlines without a pseudo-class.
- Copy CSS, HTML, or download
outline.css.
Frequently Asked Questions
What is :focus-visible and why does it matter?
It is a CSS pseudo-class that matches an element with focus ONLY when the browser thinks a focus indicator should be shown, which is basically keyboard navigation, NOT mouse clicks. Modern UX best practice is to show the outline ring for Tab-key users (needed for orientation) and hide it for click users (they already know what they clicked). Universal browser support since 2021.
What is the difference between outline and border?
Outline: drawn OUTSIDE the border edge, does NOT take up space (does not shift layout), can be offset, supports outline-offset. Border: part of the box model, occupies space, can have different colors per side, supports border-radius natively. Outline is decoration and an accessibility ring; border is a structural edge.
Do outlines respect border-radius?
Yes, as of 2024 in Chrome 94+, Firefox 88+, and Safari 16+. Before that, outlines drew as rectangles around rounded corners. By 2026 the legacy rectangle behavior only affects users on browsers older than two years.
What is the WCAG focus-indicator minimum?
WCAG 2.4.7 (Level AA) requires VISIBLE focus indicators on all interactive elements. WCAG 1.4.11 (non-text contrast, AA) requires at least 3:1 contrast against adjacent colors. WCAG 2.4.11 (AAA, new in 2.2) adds an explicit minimum: 2 CSS pixels thick AND at least 3:1 contrast against the unfocused state. The Accessibility Strong preset (4px double) exceeds all three.
Why use currentColor for outlines?
It makes the outline color follow the element’s text color automatically. For example, a button with color: white on dark theme and color: black on light theme can use outline: 2px solid currentColor so the outline matches the theme without writing two separate rules. Great for theming.
Can I use negative outline-offset?
Yes. Negative values pull the outline INWARD, overlapping the element instead of sitting outside. A common use case is showing focus on absolutely-positioned elements where outward offset would clip against parent overflow. Browser support is universal.
Should I ever use outline: none?
Only if you immediately replace it with something else visible, either an alternative focus indicator (box-shadow ring, background change) or a different outline applied later (for example on :focus-visible). * { outline: none } with no replacement breaks keyboard navigation for everyone and is a WCAG 2.4.7 violation.
Outline vs box-shadow ring, when to use which?
Both work and neither shifts layout. Outline respects border-radius (in modern browsers) and has simpler syntax. box-shadow works as an inset shadow too (inner ring), supports multiple stacked rings (for example a white halo plus a colored ring), and allows blur for a softer look. Outline is the standard; box-shadow is for when you need stacked or blurred rings.
Is my data secure?
Yes. Settings, colors, and selector all stay in your browser. Nothing is uploaded.
Related Tools
CSS Animation Generator →
Generate CSS @keyframes animations - 16 presets, full duration/timing/delay/direction/fill controls, prefers-reduced-motion wrapper. Live preview.…
CSS Aspect Ratio →
Generate CSS aspect-ratio with padding-top fallback, object-fit options, 16+ presets, decimal input. Live preview.…
CSS Beautifier →
Beautify or minify CSS with proper nested @media/@keyframes/@supports handling, comment preservation, calc()/var() awareness. Free,…
CSS Border Radius Generator →
Visual CSS border-radius with elliptical mode, 6 unit types (px/%/em/rem/vw/vh), 8 shape presets, live…
CSS Clip Path Generator →
Visual clip-path builder - polygon / circle / ellipse / inset / path, 20+…
CSS Columns Generator →
Generate CSS multi-column layout with column-count or column-width, gap, rule, fill, span, break-inside. Live…
CSS Cursor Generator →
Browse 34 CSS cursors organized by category, with custom URL cursor builder. Live hover…
CSS Filter Generator →
Generate CSS filter with 10 functions including drop-shadow, backdrop-filter mode, 8 preset combinations. Live…
CSS Flexbox Generator →
Visual flexbox builder with container + per-item controls (flex-grow/shrink/basis/order/align-self) and 6 layout presets. Free,…
CSS Glassmorphism Generator →
Visual frosted-glass CSS builder. 9 controls including backdrop-saturate, 6 presets, 4 background scenes to…
CSS Gradient Generator →
Visual gradient builder with 6 types (linear, radial, conic + 3 repeating). 8 presets,…
CSS Grid Generator →
Visual CSS Grid builder with grid-template-areas, auto-fit + minmax responsive tracks, per-item spans. 6…