Show HN: ICONSVG – Customize and Generate Common SVG Icons
iconsvg.xyz
iconsvg.xyz
I made this tool because I feel like there should be a much simpler way to quickly generate/customise common SVG icons for my project, especially while doing bunch of front-end development. You no longer have to open any design tool just to resize or change stroke style/color. You'll be able to do that and copy the resulting SVG code directly from this tool!
Let me know what do you think about this project
Most of the icons in this project are optimised version of feathericons.com by Cole Bemis (huge fan )
path { stroke: currentColor; }
https://developer.mozilla.org/en-US/docs/Web/CSS/color_value...Another thing that I find annoying about designer made SVGs is that the circle will not only be a path but the points on the path will be in 'NASA numbers', i.e. to nine decimal places. It is refreshing to find icons on a sensible grid and going for integers where possible.
Download size is one thing, however, I also think SVG icons should be a bit more literal, with things like mask and use brought into play. So the 'fast forward' icon might be lighter defined as two polygons, but the polygons are the same so the define one triangle and re-use it for the second makes more sense in a literal way even though the code to bring in the namespace for use might actually make the download size of the icon larger.
In this vein the other thing I like to see is a viewbox that has the origin in the middle. In that way a circle just has to have a radius to be centred and an arrow can use another arrow and be rotated by 180 degrees.
If you put this together then you can have a symbol set that has eight different arrows in it 'using' the base arrow and any changes to the base arrow get automagically updated to the others.
Another download option that would be useful to me would be a CSS variable version of each icon. This technique doesn't work in Edge but has its advantages in that you can have pseudo elements for things like 'external link' where the background to the pseudo element is an SVG in a CSS variable. The CSS variable needs some url-data-xml-type-svg syntax and any '#' characters have to be escaped out as %23.
By taking this approach the SVGs can be in the stylesheet and therefore downloaded 'for free'. If done in white they can also be colorised to anything including black in the CSS for the pseudo element. Lea Verou has done a talk or two on this SVG in CSS approach and a tool to get readymades would help make this method more acceptable to people who are still stuffing icons in fonts.
Anyway, thanks again for sharing your beautiful site, there is lots to learn from the icons you have there!
1) It would be great to be able to set options globally and download a bunch in one shot
2) Solid icons are generally easier to to recognize, it would be nice to have a second set of icons for that <https://uxmovement.com/mobile/solid-vs-outline-icons-which-a...
I really like the product, by the way. It's a great idea
For me (and I believe a ton of other of devs, especially back-end oriented ones), it is tiring and boring having to spend time and effort on design stuff, which is needed but could be done in a easier/simpler way, and I believe you're on the right path about this.
Keep up the good work.
I have some remarks about the "size (px)" / "stroke width (px)" descriptions.
The "px" (or more precisely "virtual / CSS pixel") value for stroke in app would currently apply only for icon size value of 24 (px, matching viewport), what may seem quite misleading. "1px stroke" in "16px size" is obviously not rendered as full colour CSS pixel, and hypothetically might be rendered as one physical pixel on screen with 150% DPI ratio if they happen to be shifted by half CSS pixel. I'm pretty sure you know what I try to describe: SVG line with stroke-width="1" sitting on whole integer coordinates in non-resized SVG on display with 100% DPI scale will be rendered as "2px" aliased line around that pixel boundary.
It would be interesting to (try to) introduce option to have real (CSS) pixel stroke widths accompanied with mechanism that will align them on CSS pixel grid. (I'm not sure it is doable and worth the effort, because it presumably does not have universal solution for every single DPI, but maybe something could be learnt trying.)
[2] https://firebasestorage.googleapis.com/v0/b/boxy-svg.appspot...
> This site is blocked due to a security threat that was discovered by the Cisco Umbrella security researchers.
"This site is blocked due to a security threat that was discovered by the Cisco Umbrella security researchers."
My wishlist of nicethingstohave would be:
- A choice of camelCase output for attributes (JSX-friendly)
- multiple selection and downloadTwo feature requests: backgrounds and shadows.
Shadow can be done by repeating the path, and applying a feGaussianBlur.