Scalable Vector Graphics (SVG) is an essential tool in modern web design, and understanding its role is crucial for creating efficient, high-quality digital experiences.

SVG is an XML-based format that allows designers and developers to create vector images that remain crisp and clear at any resolution. Unlike raster images, SVG files are lightweight and fully scalable, making them ideal for responsive design and high-resolution displays.

In this article, we will delve into what SVG is in web design, exploring its advantages, usage, and implementation techniques. We will discuss how SVG compares to traditional image formats like PNG and JPEG, and how it enhances web performance and accessibility.

By the end, you’ll have a comprehensive understanding of SVG elements, their properties, and their role in creating visually appealing and interactive web pages.

Whether you’re optimizing for browser compatibility, improving page load time, or integrating CSS and JavaScript, SVG is a key component to elevate your web design projects.

Understanding the Basics of SVG

What is SVG?

SVG, or Scalable Vector Graphics, is a type of image format that leverages XML to define graphics. Unlike raster-based images such as JPEG or PNG, SVG files are made up of vector data, which means they can be scaled infinitely without any loss of quality.

Differences between Vector-Based and Raster-Based Images

Vector images like SVGs rely on paths and shapes to render graphics. These paths are defined by mathematical expressions, ensuring that an image remains sharp at any scale or resolution. Raster images, on the other hand, consist of a fixed grid of pixels.

This grid can become pixelated or blurry when scaled beyond its original dimensions.

To put it simply:

  • Vector Images: Defined by mathematical paths, infinite scalability.
  • Raster Images: Defined by pixels, limited scalability.

How SVG Integrates into Web Design and Development

See the Pen
Parallax scroll animation
by isladjan (@isladjan)
on CodePen.

SVGs integrate seamlessly into modern web design and development due to their versatility and performance benefits. They are lightweight, meaning faster load times, and can be easily manipulated with CSS and JavaScript. This makes SVGs ideal for responsive web design, ensuring that graphics look immaculate on any device or screen size.

SVG vs Raster Graphics

When contemplating the use of SVGs over raster graphics like JPEG, PNG, or GIF, several key differences emerge.

Key Differences Between SVG and Raster Graphics

  • Format: SVG files use XML for their format, while raster graphics use pixel data.
  • Scalability: SVGs are infinitely scalable, raster images are not.
  • Editability: SVGs are easy to edit with any text editor or vector graphic software; raster images require graphic design software.
  • File Size: SVGs generally have smaller file sizes compared to high-resolution raster images.
  • Browser Support: Modern browsers fully support SVG, while older browsers may require fallbacks for certain features.

SVGs offer distinct advantages in areas like scalability and performance, significantly enhancing the accessibility of web graphics.

Benefits of SVG Over Raster Graphics: Scalability, Performance, and Accessibility

  • Scalability: SVGs maintain quality at any size, making them perfect for responsive design and high-resolution displays.
  • Performance: SVGs are lightweight and load faster, improving web performance and user experience.
  • Accessibility: SVGs can be manipulated and animated with CSS, ensuring a higher level of interactivity and accessibility compared to raster images.

Comparison Table: SVG vs Raster Graphics

FeatureSVGRaster Graphics (JPEG, PNG, GIF)
FormatXML-based, scalable vector pathsPixel data, fixed resolution
ScalabilityInfinite scaling without quality lossPixelation and quality degradation when scaled beyond natural resolution
EditabilityEasily edited using text editors and vector graphic softwareRequires graphic design software
File SizeTypically smaller, especially for complex graphicsLarger file sizes for high-resolution images
Browser SupportBroad support in modern browsers, some limitations in older browsersUniversally supported, but performance may vary

Getting Started with SVG

Creating Basic SVG Images

See the Pen
Smooth Bouncing Dots SVG Loading Animation
by Bogdan Sandu (@bogdansandu)
on CodePen.

First things first, SVG files. They work using a simple structure made of tags. The core elements you’ll deal with include <svg><rect>, and <circle>. These are foundational.

Structure of an SVG file: At the base, you’ll have the <svg> tag. This tag contains everything else.

  • <rect> defines rectangles
  • <circle> defines circles
  • There are other tags too, like <line> or <polygon>, but let’s keep it simple for now.

Here’s a basic SVG structure for a red square:

<svg width="100" height="100">
  <rect width="100" height="100" style="fill:red;" />
</svg>

Want a yellow circle? Easy:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="yellow" />
</svg>

Viewing and Editing SVG Files

Tools and methods to view these SVG files are varied. A good starting point is any modern web browser. Just drag and drop the SVG file into the browser window.

Text editors like VS Code or Sublime Text let you directly edit the SVG code.

Embedding SVG into HTML directly has its perks. Use the <svg> tag directly within your HTML code. This allows for better control, enabling modifications via CSS or JavaScript.

Example inline:

<div>
  <svg width="100" height="100">
    <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="yellow" />
  </svg>
</div>

Alternatively, link external SVG files using tags like <img> or <object>.

Example with external file:

<img src="image.svg" alt="Description of the svg image">

Practical tips for organizing and editing SVG code efficiently include maintaining a clean structure. Remove any unnecessary metadata or comments that can bulk up the file. Group related elements using <g> tags. This not only keeps your code tidy but also enhances readability and manageability.

<svg width="100" height="100">
  <g>
    <rect width="100" height="100" style="fill:lightblue;" />
    <circle cx="50" cy="50" r="40" style="fill:yellow;" />
  </g>
</svg>

Deep Dive into SVG Syntax and Elements

Basic SVG Elements

SVG features a host of tags like <rect><circle><line>, and <polygon>, each with its own set of attributes. These tags shape your graphics.

Tags like <rect><circle><line><polygon>, and Their Attributes

  • <rect>: Simple rectangles
  • <circle>: Circles
  • <line>: Lines
  • <polygon>: Polygons

Let’s break down placement and control.

Placement and Control of Shapes Using Attributes (x, y, width, height, radius)

<rect> Example:

<rect x="10" y="10" width="100" height="50" style="fill:blue;" />

Defines a blue rectangle positioned at (10,10) with a width of 100 and height of 50.

<circle> Example:

<circle cx="50" cy="50" r="40" style="fill:green;" />

Here’s a green circle centered at (50,50) with a radius of 40.

The <path> Element

The <path> element can draw complex shapes using commands within the d attribute.

Overview of the <path> Element for Complex Shapes

Define intricate shapes, combining moves, lines, curves seamlessly in one tag.

Path Commands:

  • M (Move to)
  • L (Line to)
  • H/V (Horizontal/Vertical lines)
  • C (Curve)
  • Z (Close path)

Example Using the <path> Tag to Draw a Shape:

<path d="M 10 10 L 50 30 L 10 50 Z" style="stroke:red; fill:none;" />

Creates a red triangle with lines joining points (10,10), (50,30), and (10,50), closing the path.

SVG Coordinate System

SVG’s coordinate system governs positioning and scaling.

Explanation of the SVG Viewport and Coordinate System

The viewport is the visible area controlled by the width and height attributes. Coordinates start from (0,0) at the top-left corner.

Use of the viewBox Attribute for Controlling Zoom and Image Scaling

The viewBox attribute specifies the internal coordinate system for scaling:

<svg viewBox="0 0 100 100" width="200" height="200">
  <!-- SVG content -->
</svg>

Here, the viewBox scales the image from a 100×100 internal frame up to the 200×200 viewport.

Techniques for Precise Placement and Movement of Elements Within SVG

Precision in SVG involves careful use of attributes. Position shapes relative to the viewport for accurate layouts. Use transformations for more control:

<rect x="10" y="10" width="100" height="50" transform="translate(20, 30)" />

This moves the rectangle 20 units right, 30 units down.

Preparing and Optimizing SVG for the Web

Best Practices for SVG Creation

Creating SVGs that are web-ready involves careful design and efficient exporting.

Designing and Exporting SVGs from Vector Graphics Editors

When designing SVGs, Adobe IllustratorSketch, or Inkscape are top choices. These tools provide precise control over every aspect of your vector graphics.

After designing, exporting is crucial. Always choose the proper settings to ensure your SVGs are optimized from the start.

Importance of Removing Unnecessary Elements

The key to a sleek SVG is minimalism. Get rid of unnecessary elements. Unneeded metadata, comments, or unused definitions—they all bloat the file. Cleaner SVG means faster load times.

For example:

  • Metadata: Often includes editor-specific information that browsers don’t need.
  • Comments: These are great for developers but weigh down the file when deployed.

Guidelines for Text Conversion and Pixel-Perfect Designs

Text in SVGs can be tricky. Convert text to paths when you want to maintain visual consistency across browsers and avoid font issues. However, balance this with accessibility needs; sometimes text should remain text for screen readers.

Pixel-perfect designs matter. Double-check your dimensions and placements. Everyone hates blurry edges or awkward placements.

Optimization Tools and Techniques

Optimizing SVGs isn’t just about smaller file sizes. It’s about performance.

Using SVGO (SVG Optimizer) to Minimize File Sizes

SVGO, the SVG Optimizer, is a robust tool. It strips out redundant data and compresses SVG files significantly. An indispensable tool in the arsenal.

Install via npm:

npm install -g svgo

Run it to optimize an SVG:

svgo yourfile.svg

Combining Shapes and Reducing Path Points

Combining multiple shapes into one often reduces complexity. Merge similar paths. Simplified paths can also make a significant reduction in file size.

Example:

  • Instead of multiple <path> elements, use a single <path> with commands.

Gzip Compression for Faster Web Performance

Once optimized, further compress your SVGs using gzip. All modern web servers can handle gzip compression. It’s another layer of optimization.

Adding SVG to .htaccess:

AddOutputFilterByType DEFLATE image/svg+xml

This ensures browsers receive compressed SVGs, speeding up load times further.

Implementing SVG on Websites

Embedding SVG in HTML

When adding SVGs to your website, there are a few methods to consider.

Methods of Embedding SVG

Inline SVG involves placing the <svg> element directly in your HTML. This offers tight integration with CSS and JavaScript. You can style and manipulate parts of the SVG like any other HTML element.

Example:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="yellow" />
</svg>

External SVG File Linking comes in several forms, such as using <img><object>, or <iframe>.

  • <img> is straightforward, ideal for non-interactive images.
    <img src="image.svg" alt="Description of the svg image">
    
  • <object> allows for better control over the SVG content and can interact with CSS and JavaScript.
    <object data="image.svg" type="image/svg+xml"></object>
    
  • <iframe> embeds the SVG but limits CSS styling from the parent document.
    <iframe src="image.svg"></iframe>
    

Pros and Cons of Each Method Based on Interactivity, File Size, and Caching

Inline SVG:

  • Pros: Full control over styling and scripting.
  • Cons: Increases HTML file size.

External SVG File Linking:

  • Pros: Smaller HTML files; SVGs can be cached.
  • Cons: Limited styling with <img>iframe restricts parent-child interactions.

Using SVG as Backgrounds and Sprites

Utilizing SVGs as backgrounds and sprites can streamline design.

How to Use SVG Images as CSS Backgrounds

CSS backgrounds benefit from SVG’s scalability and small file size.

background: url('image.svg');

Creating SVG Sprites for Multiple Icons in One File

Sprite sheets condense multiple icons into one SVG file, reducing HTTP requests.

<svg>
  <symbol id="icon1" viewBox="0 0 100 100">
    <!-- icon1 paths -->
  </symbol>
  <symbol id="icon2" viewBox="0 0 100 100">
    <!-- icon2 paths -->
  </symbol>
</svg>

<svg>
  <use xlink:href="#icon1"></use>
</svg>

Challenges and Strategies for Using SVG with Media Queries

SVGs need careful handling with media queries to ensure responsiveness.

@media (max-width: 600px) {
  background: url('image-small.svg');
}

@media (min-width: 601px) {
  background: url('image-large.svg');
}

Managing SVGs requires testing across devices to confirm they respond correctly. Solutions might involve adjusting viewBox settings or tweaking SVG content.

Styling SVG with CSS

Applying Basic Styles

SVGs respond beautifully to CSS, allowing for precise style adjustments.

Modifying Shape Attributes with CSS

Want to tweak fillstroke, or opacity? It’s straightforward.

Example in HTML:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" class="my-circle" />
</svg>

CSS to modify:

.my-circle {
  fill: yellow;
  stroke: black;
  stroke-width: 3;
  opacity: 0.8;
}

Changing Colors, Border Thickness, and Transparency of Shapes

Above example makes it crystal clear. But let’s delve deeper.

.my-other-circle {
  fill: blue;
  stroke: red;
  stroke-width: 5;
  opacity: 0.5;
}

Now, using .my-other-circle, we give the circle a blue fill, red border, thick stroke, and 50% transparency.

Advanced Styling Techniques

Move beyond basics to make SVGs pop.

Using CSS Gradients and Transitions Within SVG

Gradients add that visual flair.

HTML:

<svg width="200" height="200">
  <defs>
    <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
  </defs>
  <circle cx="100" cy="100" r="80" fill="url(#grad1)" />
</svg>

This example uses a linear gradient from yellow to red.

Animating SVGs with CSS (Rotating, Scaling, Color Transitions)

CSS animations bring SVGs to life.

HTML:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" class="animate-circle"/>
</svg>

CSS:

@keyframes rotateAnimation {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.animate-circle {
  fill: green;
  animation: rotateAnimation 5s infinite linear;
}

This spins the green circle in a continuous loop.

Practical Examples of Smooth Transitions for Hover States or Responsive Design

Hover effects and responsiveness make user interactions delightful.

HTML:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" class="hover-circle"/>
</svg>

CSS:

.hover-circle {
  fill: purple;
  transition: fill 0.3s ease;
}
.hover-circle:hover {
  fill: orange;
}

Animating SVGs

SVG Animation Methods

SVG offers various animation techniques that can add dynamic elements to your web design.

Overview of SVG Animation Capabilities Using the <animate> Element

The <animate> element in SVG is a powerful tool. It allows you to animate attributes directly within the SVG file. For example, you can make a circle grow and shrink continuously.

<svg width="100" height="100">
  <circle cx="50" cy="50" r="30">
    <animate attributeName="r" from="10" to="30" dur="2s" repeatCount="indefinite" />
  </circle>
</svg>

Here, the circle’s radius (r) oscillates between 10 and 30 over two seconds.

CSS Animations for Transforming and Transitioning SVG Elements

CSS isn’t just for HTML—it can animate SVGs too.

<svg width="100" height="100">
  <circle cx="50" cy="50" r="30" class="pulse" />
</svg>

And the magic:

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.5); }
  100% { transform: scale(1); }
}

.pulse {
  animation: pulse 2s infinite ease-in-out;
}

This makes the circle “pulse” smoothly.

Animating with JavaScript

JavaScript Interaction with SVGs for Advanced Animations

JavaScript takes SVG animations to the next level. You can interact with elements dynamically.

<svg width="100" height="100" id="svg1">
  <circle cx="50" cy="50" r="30" id="animatedCircle" />
</svg>

Scripts like:

let circle = document.getElementById('animatedCircle');
circle.addEventListener('mouseover', function() {
  circle.setAttribute('r', '40');
});
circle.addEventListener('mouseout', function() {
  circle.setAttribute('r', '30');
});

Make the circle grow when hovered over.

Libraries and Tools

YouTube player

Several libraries simplify SVG animations. Snap.svg and GreenSock Animation Platform (GSAP) are popular choices.

Snap.svg example:

let s = Snap("#svg1");
let circle = s.circle(50, 50, 30);

circle.hover(
  function() { this.animate({ r: 40 }, 300); },
  function() { this.animate({ r: 30 }, 300); }
);

GreenSock Animation Platform (GSAP) example:

TweenMax.to(circle, 2, {x:100, y:100, repeat:-1, yoyo:true});

TweenMax creates seamless, professional animations with minimal code.

Examples of Interactive Animations Triggered by User Interaction

Simple interactions build user engagement.

document.getElementById("animatedCircle").addEventListener("click", function() {
  this.style.fill = "red";
});

In this scenario, a click turns our circle red.

Interactivity and JavaScript Integration

Making SVGs Interactive

Interactivity can transform SVGs from static images into engaging experiences.

Using JavaScript to Modify SVG Elements Dynamically

JavaScript gives life to SVGs. Want to change colors, positions, or attributes on the fly? Simple.

<svg width="100" height="100" id="svg2">
  <circle cx="50" cy="50" r="30" id="dynamicCircle" fill="blue"/>
</svg>

JavaScript:

document.getElementById('dynamicCircle').setAttribute('fill', 'green');

One line, and the circle turns green. Easy.

Adding Hyperlinks, Tooltips, and Interactive Features to SVGs

Interactive SVGs can have hyperlinks and tooltips.

Hyperlink Example:

<svg width="100" height="100">
  <a href="https://www.example.com">
    <circle cx="50" cy="50" r="30" fill="purple"/>
  </a>
</svg>

Tooltip Example:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="30" fill="orange">
    <title>My Orange Circle</title>
  </circle>
</svg>

A simple way to add descriptions without cluttering the design.

Handling JavaScript Events (Click, Hover, Drag) Within SVGs

SVGs respond to JavaScript events like any HTML element. Clicks, hovers, drags—all fair game.

Click Event Example:

document.getElementById('dynamicCircle').addEventListener('click', function() {
  this.setAttribute('fill', 'red');
});

Hover Event Example:

document.getElementById('dynamicCircle').addEventListener('mouseover', function() {
  this.setAttribute('stroke', 'yellow');
});

Drag Event Example:

let isDragging = false;
document.getElementById('dynamicCircle').addEventListener('mousedown', function() {
  isDragging = true;
});
document.addEventListener('mousemove', function(event) {
  if (isDragging) {
    let circle = document.getElementById('dynamicCircle');
    circle.setAttribute('cx', event.clientX);
    circle.setAttribute('cy', event.clientY);
  }
});
document.addEventListener('mouseup', function() {
  isDragging = false;
});

These interactions push the boundaries of what is SVG in web design, enhancing user engagement.

SVG Filters and Effects

Filters and effects go beyond basic styling, offering rich visual treatments.

Applying Filters (Blur, Shadow, Color Effects) to SVG Elements

CSS-like filters in SVG yield impressive results.

HTML with Filters:

<svg width="100" height="100">
  <defs>
    <filter id="blurFilter">
      <feGaussianBlur in="SourceGraphic" stdDeviation="5"/>
    </filter>
  </defs>
  <circle cx="50" cy="50" r="30" fill="lightblue" filter="url(#blurFilter)"/>
</svg>

Customizing SVGs with JavaScript for Dynamic User Interactions

JavaScript extends beyond simple modifications—real-time effects and interactions.

document.getElementById('dynamicCircle').onmouseover = function() {
  this.style.filter = "url(#blurFilter)";
};
document.getElementById('dynamicCircle').onmouseout = function() {
  this.style.filter = "none";
};

Fallbacks and Browser Compatibility

Ensuring Cross-Browser Support

Working with SVGs requires a bit of finesse to ensure they look great on any browser.

Browser Compatibility for Modern SVG Features

Modern browsers like Chrome, Firefox, Safari, and Edge handle SVGs with ease. They support almost all SVG features, from basic shapes to advanced animations and filters. However, each browser’s rendering might have minor discrepancies.

Best Practices for Ensuring Consistent Behavior Across Older Browsers

Consistency across browsers, especially older ones, is crucial.

  • Validate Your SVG: Use tools to check for errors.
  • Test Across Browsers: Don’t assume. Always test.
  • Styling: Stick to common properties when targeting older browsers.
  • Polyfills: Implement polyfills where necessary to bridge compatibility gaps.

Implementing Fallbacks for Older Browsers

When dealing with legacy browsers such as Internet Explorer 8, fallback strategies are essential.

Techniques to Provide PNG Fallbacks for Browsers Lacking SVG Support

One effective strategy: provide PNG fallbacks. Older browsers failing to support SVG can fall back to PNG images.

Basic implementation:

<!--[if lte IE 8]>
  <img src="image.png" alt="Description of the png fallback image">
<![endif]-->
<!--[if gt IE 8]><!-->
  <img src="image.svg" alt="Description of the svg image">
<!--<![endif]-->

Conditional comments target IE browsers, providing a fallback where SVG support is absent.

Resources for Testing and Implementing Fallback Strategies

Several resources make testing and implementing fallbacks straightforward.

  • Modernizr: A JavaScript library detecting HTML5 and CSS3 features in the user’s browser.
  • Can I Use: A comprehensive compatibility table for HTML5, CSS3, SVG, and more.
  • CSS-Tricks’ SVG Fallback Guide: A detailed guide on implementing various fallback strategies effectively.

Ensuring compatibility across diverse browsers by leveraging these resources and strategies directly addresses the challenges in understanding what is SVG in web design.

FAQ On SVG

Why use SVG in web design?

Using SVG in web design ensures graphics remain crisp across all devices and screen sizes. SVG files are typically smaller than other formats like PNG or JPEG, improving page load times.

Their scalability and ability to integrate seamlessly with CSS and JavaScript offer design flexibility and performance benefits.

How do I implement SVG in HTML?

Implementing SVG in HTML is straightforward. You can use the <svg> tag directly within your HTML code.

Alternatively, you can embed SVG files using the <img> tag or as background images through CSS. Inline SVG is particularly useful for applying CSS styling and animations.

Is SVG supported by all browsers?

Yes, modern browsers widely support SVG. Whether you’re using Chrome, Firefox, Safari, or Edge, compatibility is generally not an issue.

However, it’s always a good idea to check specific browser compatibility for unique SVG features or older versions when developing web applications.

Can SVG improve website performance?

Absolutely, SVG can significantly boost website performance. SVG files are often smaller in size compared to raster images, reducing page load time.

Their text-based format allows for easy compression and optimization. Additionally, SVG allows for better graphic scalability without compromising quality, leading to faster, more responsive websites.

How can I style SVG using CSS?

Styling SVG with CSS is highly flexible. You can apply styles directly through inline SVG or via external CSS.

Attributes like fillstrokeopacity, and transform are commonly adjusted. This allows for consistent styling across your web project, and the ability to create dynamic, interactive graphics.

Are SVG files accessible?

SVG offers excellent accessibility features. You can include alternative text descriptions within the SVG code using the <title> and <desc> tags.

This makes the images screen-reader friendly. Additionally, SVGs can be styled to improve visibility and readability, contributing to a more inclusive web design.

What tools can I use to create SVGs?

Several tools allow for creating and editing SVG files. Popular options include Adobe Illustrator and Inkscape.

These tools provide robust features for designing vector graphics which can be directly exported as SVG files. Additionally, simpler online editors and code-based tools are also available for quick SVG creation.

How do SVG animations work?

SVG animations use either CSS or JavaScript. CSS animations are simple to implement and can modify properties like transformopacity, and positions.

For more complex animations, the SMIL (Synchronized Multimedia Integration Language) specification or JavaScript libraries like GreenSock can be utilized to create engaging, interactive web graphics.

What are the SEO benefits of SVG?

SVGs contribute positively to SEO. They can be indexed by search engines, much like HTML. Lightweight SVG files improve page load time, which is a ranking factor.

Additionally, embedding relevant keywords within SVG titles, descriptions, and metadata can further optimize visibility in search results.

Conclusion

Understanding what is SVG in web design reveals its critical role in creating flexible, scalable, and effective digital experiences. SVG offers numerous benefits, from enhancing page load times to ensuring graphics remain crisp on high-resolution displays. Its XML-based format integrates seamlessly with HTMLCSS, and JavaScript, providing extensive styling and animation options.

Choosing SVG means optimizing for browser compatibility, improving SEO, and ensuring that your graphics are accessible to all users. By leveraging tools like Adobe Illustrator or Inkscape, creating and implementing SVG elements becomes straightforward.

Ultimately, the adoption of SVG in web design signifies a commitment to quality, performance, and user experience. From responsive design to advanced graphic editing, SVG is indispensable for today’s web projects. Incorporate it into your web development workflow to ensure visually appealing and efficient websites.

Author

Bogdan Sandu is the principal designer and editor of this website. He specializes in web and graphic design, focusing on creating user-friendly websites, innovative UI kits, and unique fonts.Many of his resources are available on various design marketplaces. Over the years, he's worked with a range of clients and contributed to design publications like Designmodo, WebDesignerDepot, and Speckyboy among others.