Internationally recognized medical device symbols based on ISO 15223-1:2021 for global regulatory compliance. This package provides official medical device symbols as React components that can be easily integrated into web applications, documentation, and medical device labeling worldwide.
- π Globally Recognized: Based on ISO 15223-1:2021, the international standard for medical device symbols
- ποΈ Multi-Regulatory Compliance: Supports EU MDR/IVDR, FDA 21 CFR Part 801, Health Canada, and other international frameworks
- βοΈ React Components: Direct import as React components with TypeScript support
- π¦ Lightweight: Minimal package size with tree-shaking support
- π§ Easy Integration: Simple import syntax like popular icon libraries
- π¨ SVG Format: Scalable vector graphics for crisp display at any size
- π― Prop Support: Full SVG props support with size, color, and event handling
- π TypeScript Support: Full TypeScript definitions included
npm install medical-device-symbols
yarn add medical-device-symbols
pnpm add medical-device-symbols
Import individual icon components directly:
import { CautionIcon, CeIcon, ManufacturerIcon } from "medical-device-symbols";
function App() {
return (
<div>
{/* Simple usage with default size (24px) */}
<CautionIcon />
{/* Custom size */}
<CeIcon size={48} />
{/* Custom styling */}
<ManufacturerIcon style={{ fontSize: 72, color: "blue" }} />
</div>
);
}
import { CautionIcon, CeIcon, ManufacturerIcon } from "medical-device-symbols";
function MyComponent() {
return (
<div>
<CautionIcon />
<CeIcon size={32} />
<ManufacturerIcon style={{ color: "blue" }} />
</div>
);
}
import { CautionIcon } from "medical-device-symbols";
function App() {
return (
<div>
{/* Default size (24px) */}
<CautionIcon />
{/* Custom pixel size */}
<CautionIcon size={48} />
{/* Custom CSS unit */}
<CautionIcon size="2rem" />
{/* Using CSS in style prop */}
<CautionIcon style={{ fontSize: 72 }} />
</div>
);
}
import { CeIcon, ManufacturerIcon } from "medical-device-symbols";
function App() {
return (
<div>
{/* Custom colors */}
<CeIcon style={{ color: "blue" }} />
{/* All standard SVG props work */}
<ManufacturerIcon
fill="red"
stroke="black"
strokeWidth={2}
opacity={0.8}
/>
{/* Event handlers */}
<CeIcon
onClick={() => console.log("Clicked!")}
onMouseOver={() => console.log("Hovered!")}
style={{ cursor: "pointer" }}
/>
</div>
);
}
import React from "react";
import {
CautionIcon,
CeIcon,
ManufacturerIcon,
LotIcon,
ManufactureDateIcon,
} from "medical-device-symbols";
const MedicalDeviceLabel = () => {
return (
<div className="device-label">
<div className="warning-section">
<CautionIcon size={32} style={{ color: "#ff6b35" }} />
<span>Read instructions before use</span>
</div>
<div className="compliance-marks">
<CeIcon size={24} />
<ManufacturerIcon size={20} />
</div>
<div className="device-info">
<div className="lot-info">
<LotIcon size={16} />
<span>LOT: ABC123</span>
</div>
<div className="date-info">
<ManufactureDateIcon size={16} />
<span>2024-06</span>
</div>
</div>
</div>
);
};
The package includes full TypeScript definitions. All icon components are properly typed:
import { CautionIcon, IconProps } from "medical-device-symbols";
// IconProps interface is available for custom components
const CustomIcon = React.forwardRef<SVGSVGElement, IconProps>(
({ size = 24, ...props }, ref) => {
return <CautionIcon ref={ref} size={size} {...props} />;
}
);
All icon components accept the following props:
Prop | Type | Default | Description |
---|---|---|---|
size |
number | string |
24 |
Icon size in pixels or CSS units |
...props |
React.SVGProps<SVGSVGElement> |
- | All standard SVG element props |
Common SVG props include:
fill
- Fill colorstroke
- Stroke colorstrokeWidth
- Stroke widthopacity
- Opacity (0-1)className
- CSS classstyle
- Inline stylesonClick
,onMouseOver
, etc. - Event handlers
All symbols in this package are based on ISO 15223-1:2021 - the international standard for medical device symbols. This standard is recognized and referenced by regulatory frameworks worldwide, including:
- ISO 15223-1:2021 - Medical devices β Symbols to be used with medical device labels, labelling and information to be supplied
- European Union: EU MDR 2017/745 and EU IVDR 2017/746
- United States: FDA 21 CFR Part 801 - Labeling requirements
- Canada: Medical Devices Regulations (SOR/98-282)
- Japan: Pharmaceutical and Medical Device Act (PMD Act)
- Brazil: ANVISA medical device regulations
- China: NMPA (National Medical Products Administration) requirements
- South Korea: MFDS (Ministry of Food and Drug Safety) regulations
- Australia: TGA (Therapeutic Goods Administration) requirements
- IEC 62366-1 - Medical devices application of usability engineering
- IEC 60601-1 - Medical electrical equipment standards
The symbols provided are internationally recognized and should be used according to the respective regulations and standards in your target markets.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the GitHub Issues
- Create a new issue if needed
- Review the examples in the
examples/
directory
Returns the SVG content for the specified icon name, or null if not found.
Returns an array of all available icon names.
Returns an object with all icons where keys are icon names and values are SVG strings.
Each icon has its own dedicated function:
getCautionIcon(): string
getCeIcon(): string
getEcIcon(): string
getLotIcon(): string
getManufactureDateIcon(): string
getManufacturerIcon(): string
getMdIcon(): string
getReadIfuIcon(): string
getUdiIcon(): string
Object containing all icon names as constants for better developer experience:
{
CAUTION: 'caution',
CE: 'ce',
EC: 'ec',
LOT: 'lot',
MANUFACTURE_DATE: 'manufacture-date',
MANUFACTURER: 'manufacturer',
MD: 'md',
READ_IFU: 'read-ifu',
UDI: 'udi'
}
The SVG icons can be styled using CSS:
.mdr-icon {
width: 24px;
height: 24px;
fill: #333;
}
.mdr-icon.large {
width: 48px;
height: 48px;
}
.mdr-icon.warning {
fill: #ff6b35;
}
.mdr-icon.success {
fill: #4caf50;
}
This package provides symbols that are compliant with:
- ISO 15223-1:2021: The primary international standard for medical device symbols
- EU MDR 2017/745 & IVDR 2017/746: European medical device regulations
- FDA 21 CFR Part 801: US medical device labeling requirements
- Health Canada MDR: Canadian medical device regulations
- Other International Standards: Recognized by regulatory bodies worldwide
We welcome contributions! Please see our Contributing Guide for details.
MIT Β© Taig Mac Carthy
- π Report Issues
- π Documentation
- π¬ Discussions
Note: This package provides symbols based on ISO 15223-1:2021 for informational and development purposes. While these symbols are internationally recognized, always verify compliance with current regulations in your target markets and consult with regulatory experts for official medical device labeling requirements specific to your jurisdiction.