Skip to content

Conversation

@juanisidoro
Copy link
Contributor

@juanisidoro juanisidoro commented Jun 26, 2025

What is the purpose of this pull request?

  • New Icon

Description

Added new layers-plus icon.

Icon use case

The layers-plus icon represents the action of adding a new layer, stacked item, or grouped variation in a UI context. It was originally designed for use in an eCommerce application to let users add product variations — but it can be applied to any situation where elements are layered, grouped, or duplicated dynamically.

This icon is ideal for:

  • Design or editing tools (like Figma, Photoshop, or 3D editors) that manage layers or grouped content
  • UIs with repeatable, stackable structures such as product options, dynamic form sections, or content blocks
  • Hierarchical interfaces where the user adds nested elements (e.g. components, variations, sub-steps)

It is based on the existing layers icon, with a visually integrated plus symbol to clearly communicate an addition or creation action.

Alternative icon designs

Icon Design Checklist

Concept

  • I have provided valid use cases for each icon.
  • I have not added any a brand or logo icon.
  • I have not used any hate symbols.
  • I have not included any religious or political imagery.

Author, credits & license

  • The icons are solely my own creation.
  • The icons were originally created in # by @colebemis
  • I've based them on the following Lucide icons: layers, plus
  • I've based them on the following design:

Naming

  • I've read and followed the naming conventions
  • I've named icons by what they are rather than their use case.
  • I've provided meta JSON files in icons/[iconName].json.

Design

  • I've read and followed the icon design guidelines
  • I've made sure that the icons look sharp on low DPI displays.
  • I've made sure that the icons look consistent with the icon set in size, optical volume and density.
  • I've made sure that the icons are visually centered.
  • I've correctly optimized all icons to three points of precision.

Before Submitting

@github-actions github-actions bot added 🎨 icon About new icons 🫧 metadata Improved metadata labels Jun 26, 2025
@juanisidoro
Copy link
Contributor Author

Thanks for reviewing this contribution! Let me know if there’s anything I should improve.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 26, 2025

Added or changed icons

icons/layers-plus.svg

Preview cohesion icons/square-dashed.svg
icons/layers-plus.svg
icons/users.svg
Preview stroke widths icons/layers-plus.svg
icons/layers-plus.svg
icons/layers-plus.svg
DPI Preview

16px (shadcn/ui)

icons/layers-plus.svg

24px (default)

icons/layers-plus.svg

32px (shadcn/ui + retina)

icons/layers-plus.svg

48px (default + retina)

icons/layers-plus.svg
Icon X-rays icons/layers-plus.svg
Icon Diffs icons/layers-plus.svg
Icons as code

Works for: lucide-react, lucide-react-native, lucide-preact, lucide-vue-next

const LayersPlusIcon = createLucideIcon('LayersPlus', [
  ["path",{"d":"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z"}],
  ["path",{"d":"M16 17h6"}],
  ["path",{"d":"M19 14v6"}],
  ["path",{"d":"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178"}],
  ["path",{"d":"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962"}]
])

Copy link
Member

@karsa-mistmere karsa-mistmere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @juanisidoro,

The plus itself is too small, we normally use a 6by6 or 8by8 plus sign in these scenarios.

The icon also has gap guideline violations next to the plus sign:
image

@juanisidoro
Copy link
Contributor Author

Hi @karsa-mistmere,
Thank you very much for your detailed feedback and for pointing out the guidelines on plus size and spacing — it’s super helpful! 🙏
I’ll review the icon again and adjust the plus sign to fit the 6×6 or 8×8 standard, and also correct the spacing issues.
I'll update the PR as soon as I have the improvements ready.

Thanks again for your time and support!

@juanisidoro
Copy link
Contributor Author

Hi @karsa-mistmere,

I've just updated the icon and pushed the fix 🚀

For consistency, I used the plus symbol from the package-plus icon as a reference
Additionally, I reviewed the spacing to ensure it respects the safe area and doesn’t overlap with surrounding gaps.

Let me know if there’s anything else you'd recommend! Thanks again for the feedback and support 🙌

Comment on lines 14 to 15
<path d="M 16 16.5 L 22 16.5" />
<path d="M 19 13.5 L 19 19.5" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plus is now off-grid, resulting in blurry lines:
image

@juanisidoro
Copy link
Contributor Author

Hi @karsa-mistmere,

I’ve just pushed a fix that adjusts the alignment and slope of the plus sign. It should now be properly on-grid to avoid the blurry rendering issue.

My apologies for the back and forth — this is actually my first time contributing to an open source project, so I'm still getting used to the workflow. Really appreciate your patience and the guidance throughout 🙏

If there’s anything else that needs improvement, I’m on it!
Thanks again!

>
<path d="M 11.18 21.82 A2 2 0 0 0 12.83 21.82" />
<path d="M 12.83 21.82 L 15 20.5" />
<path d="M 12.83 21.82 L 15 20.83" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still off-grid, I'm afraid. And the gaps are now too large.

Here's an optimized version:

icons
Open lucide studio

@juanisidoro
Copy link
Contributor Author

Thanks so much @karsa-mistmere! 🙏
I’ve just replaced my version with the one you kindly optimized. It looks much cleaner and on-point now.
Really appreciate your support and guidance — I’ve learned a lot through this process.

Let me know if there's anything else! ^^

Copy link
Member

@ericfennis ericfennis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice looks good!
Maybe we should also add layers-minus (in a separate PR).

@github-actions github-actions bot removed the Stale label Aug 2, 2025
github-actions[bot]

This comment was marked as resolved.

@ericfennis ericfennis merged commit 790d30d into lucide-icons:main Dec 10, 2025
7 checks passed
karsa-mistmere pushed a commit that referenced this pull request Dec 12, 2025
* Added icons/layers-plus.svg

* Added icons/layers-plus.json

* Update layers-plus.json

fix: updated contributors to reflect actual author

* fix(icon): update layers-plus icon to follow size and spacing guidelines

* fix(icon): adjust layers-plus plus sign alignment and slope

* fix(icon): apply optimized version from reviewer to align on grid and spacing

* chore: add karsa-mistmere as contributor

---------

Co-authored-by: Eric Fennis <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎨 icon About new icons 🫧 metadata Improved metadata

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants