Arrow Turnstile Icon
A curved arrow straightens into a forward arrow inside a compact external-link icon.
A curved arrow straightens into a forward arrow inside a compact external-link icon.
Live Demo
Hover over the element or use Tab to focus.
Source Code
Copy the HTML, CSS or JavaScript you need for your project.
<a href="#external" class="tbx-1179" aria-label="View external page details"><span class="tbx-1179__rings" aria-hidden="true"></span><svg viewBox="0 0 90 90" aria-hidden="true"><path class="tbx-1179__curve" d="M22 56 C25 26 62 27 65 47 M52 36 L66 47 L55 58"/><path class="tbx-1179__direct" d="M23 66 L66 23 M46 23 H66 V43"/></svg><span class="tbx-1179__txt">VISIT</span></a>
.tbx-1179{box-sizing:border-box;position:relative;width:130px;height:153px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;color:#23485a;font:750 11px system-ui;letter-spacing:.12em}.tbx-1179__rings{position:absolute;width:105px;height:105px;top:7px;border-radius:50%;border:1px solid #a9cbd0;box-shadow:0 0 0 8px #f3f9f9,0 0 0 9px #d0e2e5;transition:transform .52s,border-color .52s}.tbx-1179 svg{z-index:1;width:80px;height:80px;overflow:visible}.tbx-1179 svg path{stroke:#255c6c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:opacity .3s,transform .45s;transform-origin:center}.tbx-1179__direct{opacity:0;transform:rotate(-25deg) scale(.8)}.tbx-1179__txt{z-index:1;margin-top:6px}.tbx-1179:is(:hover,:focus-visible) .tbx-1179__rings{transform:scale(1.09);border-color:#00a0a2}.tbx-1179:is(:hover,:focus-visible) .tbx-1179__curve{opacity:0;transform:rotate(45deg) scale(.7)}.tbx-1179:is(:hover,:focus-visible) .tbx-1179__direct{opacity:1;transform:rotate(0) scale(1)}.tbx-1179:focus-visible{outline:3px solid #0a788b;outline-offset:4px}
@media (prefers-reduced-motion: reduce) { .tbx-1179, .tbx-1179 *, .tbx-1179::before, .tbx-1179::after, .tbx-1179 *::before, .tbx-1179 *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; scroll-behavior:auto !important; } }
How to Use
Insert the HTML and add the CSS to your stylesheet. Adjust colors and sizes and avoid class conflicts.
Use Case
Useful for navigation menus and external link sections.
Technical Notes
Keep controls usable on touch devices. Test keyboard focus and reduced-motion preferences.
Mobile: Ensure the interactive content remains accessible without hover on touch devices.
Browser: Uses modern CSS. Check behavior in the browsers you support.
Reduced Motion: Check that prefers-reduced-motion is respected.