reading file icon

reading-file from Agent Loaders by IconsDB · Animated · animated · MIT Free for personal and commercial use.

Name
reading-file
Set
Agent Loaders
Style
Animated
Animation
Animated SVG (SMIL)
Viewbox
24×24
License
MIT

Use the reading file icon

SVG

<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2.5H7a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7.5z"/><path d="M14 2.5v5h5"/><path d="M8.5 12h7M8.5 15h7M8.5 18h4" opacity=".3"/><line x1="8" y1="12" x2="16" y2="12"><animate attributeName="y1" values="11.5;18.5;11.5" dur="1.8s" repeatCount="indefinite"/><animate attributeName="y2" values="11.5;18.5;11.5" dur="1.8s" repeatCount="indefinite"/></line></g></svg>

React

import type { SVGProps } from "react";

export function AgentLoadersReadingFile(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"><path d="M14 2.5H7a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7.5z"/><path d="M14 2.5v5h5"/><path d="M8.5 12h7M8.5 15h7M8.5 18h4" opacity=".3"/><line x1="8" y1="12" x2="16" y2="12"><animate attributeName="y1" values="11.5;18.5;11.5" dur="1.8s" repeatCount="indefinite"/><animate attributeName="y2" values="11.5;18.5;11.5" dur="1.8s" repeatCount="indefinite"/></line></g></svg>
  );
}

Vue

<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2.5H7a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7.5z"/><path d="M14 2.5v5h5"/><path d="M8.5 12h7M8.5 15h7M8.5 18h4" opacity=".3"/><line x1="8" y1="12" x2="16" y2="12"><animate attributeName="y1" values="11.5;18.5;11.5" dur="1.8s" repeatCount="indefinite"/><animate attributeName="y2" values="11.5;18.5;11.5" dur="1.8s" repeatCount="indefinite"/></line></g></svg>
</template>

CSS

.icon-reading-file {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202.5H7a2%202%200%200%200-2%202v15a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7.5z%22%2F%3E%3Cpath%20d%3D%22M14%202.5v5h5%22%2F%3E%3Cpath%20d%3D%22M8.5%2012h7M8.5%2015h7M8.5%2018h4%22%20opacity%3D%22.3%22%2F%3E%3Cline%20x1%3D%228%22%20y1%3D%2212%22%20x2%3D%2216%22%20y2%3D%2212%22%3E%3C%2Fline%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202.5H7a2%202%200%200%200-2%202v15a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7.5z%22%2F%3E%3Cpath%20d%3D%22M14%202.5v5h5%22%2F%3E%3Cpath%20d%3D%22M8.5%2012h7M8.5%2015h7M8.5%2018h4%22%20opacity%3D%22.3%22%2F%3E%3Cline%20x1%3D%228%22%20y1%3D%2212%22%20x2%3D%2216%22%20y2%3D%2212%22%3E%3C%2Fline%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

This icon is animated. Browsers do not run SVG animation inside a CSS mask, so the rule above uses a still of the drawn icon. Inline the SVG (or use the React/Vue/Svelte snippet) to keep the animation.

Direct links: SVG · download · JSON · https://iconsdb.app/api/v1/icon/agent-loaders/reading-file.svg?color=%231a73e8&size=48