We may earn an affiliate commission when you visit our partners.
Alexandr Tyurin

Do you want to learn Scalable Vector Graphics (SVG)? Perhaps you already have basic knowledge and want to deepen and expand it? Congratulations. You are on the right track.

This course provides the most complete and detailed information on the Scalable Vector Graphics standard of the W3C (World Wide Web Consortium) specification.

Today, 99% of the World Wide Web sites actively use this standard. Take a look at some of the benefits of SVG:

Read more

Do you want to learn Scalable Vector Graphics (SVG)? Perhaps you already have basic knowledge and want to deepen and expand it? Congratulations. You are on the right track.

This course provides the most complete and detailed information on the Scalable Vector Graphics standard of the W3C (World Wide Web Consortium) specification.

Today, 99% of the World Wide Web sites actively use this standard. Take a look at some of the benefits of SVG:

- scales without loss in image quality, which means it is ideal for responsive sites (graphic elements of such sites should be displayed without distortion at any screen resolution);

- has a small "weight" due to the ability to good compression (any site, ideally, should load quickly);

- supported by all modern browsers (SVG is fully compatible with web technologies and therefore becomes an organic part of sites);

- easy to use and easy to modify (the format allows you to set the necessary settings for color, shadow, blur and other design effects, both in a graphics editor and on the page itself using CSS, JavaScript);

- animated and made interactive (adding objects to the digital description of the picture and connecting scripts of the Javascript programming language to them);

- SVG is a text format, so you can optimize the file for SEO without external meta tags by directly entering keywords into the image code

And believe me, that's not all. To appreciate all the advantages of SVG, you need to work with it. But first, you should study it.

A classic academic learning model awaits you, allowing you to activate thinking, creativity and create new things.

In the video lessons of this course, you will become familiar with the theory of Scalable Vector Graphics (language elements, syntax, structure,  algorithms, data types).

All the practical part is attached to the lessons. Here you will find pdf documents summarizing lecture materials as well as homework modules (HTML & CSS files), where specific practical goals will be set for you. You will also find modules with answers (showing one of the possible options for the implementation of the task).

The academic model of training has proven itself all over the world for a long time and today there is no alternative to it in terms of the effectiveness of training specialists.

Basically, if you are looking for a hands-on course to learn a few tricks using SVG then DON'T take the course. Find the course where the instructor types the code and repeat. Everyone else: you should take the course, today.

Enroll now

What's inside

Syllabus

Create an external viewport, place basic shapes [ ] in the initial coordinate system. Use geometric properties of the base shapes.

The simplest concepts:

- coordinate system features in SVG;

- container element concept;

- <svg> element [first simplified approach to the concept of viewport].

Read more

Types of basic shapes. Application of basic shapes [painting (fill stroke markers), clipping mask]

- <rect> element and it’s geometric properties [x,y, width, height, rx, ry].

1. Primitives based on the geometry of radius

- <circle> element and it’s geometric properties [cx, cy, r];

- <ellipse> element and its geometric properties [cx, cy, rx, ry].

2. <line> element and its geometric properties [x1,y1,x2,y2]

Primitives based on the geometry of points

- <polyline> element and its geometric properties [points = “x1,y1,x2,y2 … xn,yn”];

- <polygon> element and its geometric properties [points = “x1,y1,x2,y2 … xn,yn”].

Create paths of any complexity using Path command [moveTo(M,m) lineTo(L,l) curveTo(C,c,S,s) curveTo(Q,q,T,t) Arc(A,a) closePath(Z,z)]. Speed up rendering by minimizing file sizes using syntax features

<path> element. Application [shape creation, clipping path, creating an animation, create text on a path]

- current point concept [cpx, cpy];

- path command [moveTo(M,m), lineTo(L,l), curveTo(C,c,S,s), curveTo(Q,q,T,t), arc(A,a), closePath(Z,z)];

- “d” property. Path data syntax [d=”M..L..C..A..Q..Z”];

- concise syntax [speed up rendering by minimizing file sizes using syntax features];

- open & closed path.

The cubic Bezier curve, Smooth cubic poly Bezier curve commands and its geometric properties

Quadratic Bezier Curve, Smooth Quadratic poly Bezier and its geometric properties

Elliptical arc curve commands and its arguments [Rx, Ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]

Apply styles with: [style element inside svg element, external stylesheet using the link element, style attribute to the element, style attribute to the required element, presentation attributes]

Options for changing styles of graphic elements

- adding style element inside svg element;

- external stylesheet using the link element;

- add the style attribute to the element;

- adding a style attribute to the required element;

- presentation attributes.

The CSS rules specificity.

- specificity calculation;

- priority of applied styles.

Presentation attributes

- using of presentation attributes

- limitations

Geometry properties: in-depth [Part1]

- rx and ry geometry properties in detail;

- rx, ry calculation algorithm.

Geometry properties: in-depth [Part2]

- algorithm of the constructing a rectangle with the rounded corners

Geometry properties: in-depth [Part3]

- algorithm of the ellipse rendering

THESE KNOWLEDGE - NUCLEAR FUEL FOR STUDYING ANIMATION!!! [location of the viewport in the browser window, viewport sizes, panning the visible part of the image, scaling the visible part of the image]

All the image customization options in the SVG

- the concept of viewport in SVG;

- viewBox and its parameters [x, y, width, height];

- viewport initial coordinate system;

- local coordinate system

The relationship of viewport and viewBox in SVG.

- transformation of coordinate system in image rendering;

- the effect of the viewport and viewBox settings on the final image;

- pan and zoom functions.

Your help is needed here!

The viewBox and transformations:

- image rendering in cases (viewport=viewBox, viewport>viewBox, viewport<viewBox)

- transform scale function in the internal user agent mechanism

In this lesson, you will learn the role of the <preserveAspectRatio> attribute and how it effects on a displaying graphics.

The <preserveAspectRatio> attribute:

- parameter <align>

- parameter <meetOrSlice>

Establishing a new SVG viewport

- nested viewport;

- units and percentage calculation algorithm.

Structure SVG content, group elements using the attribute and apply the , , elements of the reused content

Document structure

- SVG fragment;

- types of elements [structural elements, structural external elements, graphics elements, graphics referencing elements]

In this lesson, we will learn how to use a group element and why we should do it

Grouping

- <g> element 

- properties of <g> element as a container element

Reusable content

- <defs> element;

- <use> element;

- <symbol> element;

- table comparing attributes and properties reusable content elements.

Application features of the <use> element

Apply a wide range of SVG attributes and properties to obtain fantastic images of any complexity.

Painting

- types of graphic elements

- <fill> attribute

- <stroke> attribute

- different ways of painting [single color, gradient, pattern]

- <paint> values

- SVG color units [CSS Color Module Level 3]

Fill properties.

- color control flexibility in fill methods

- fill algorithm in case of value fill-rule property: <nonzero>

- fill algorithm in case of value fill-rule property: <evenodd>

- flexible control of opacity

Stroke properties [stroke, stroke-width, stroke-opacity, paint order]

Stroke properties:

- stroke-linecup values [but, round, square]

- stroke-linejoin values [bevel, round, miter, arcs, miter-clip]

- miter [miter-length calculation, miter-limit]

Stroke properties:

- stroke-dasharray ;

- stroke-dashoffset.

Markers

- table comparing attributes and properties of markers & symbol elements

- marker creation algorithm [code example]

Bounding boxes

- three kinds of bounding boxes [object, stroke, decorated]

- examples of revealing bounding boxes of various elements in code

Apply drawing servers. Use linear and radial gradients. Use patterns

Paint Servers:

- types of paint servers [gradients, patterns]

- paint servers properties

- paint server user agent algorithm

Gradients:

- types of gradients [linear, radial]

- concepts of vector and normals

- color stops, color transitions

linear Gradient: the vector of attributes [x1,x2,x3,x4]

- Gradient stops [stop elements]

- <offset> attribute

- stop-color properties

- stop-opacity properties

- algorithm for constructing a linear gradient by a user agent during rendering

linear Gradient: other Attributes

- gradientUnits [objectBoundingBox, userSpaceOnUse]

- gradientTransform [translate, skew, rotate, scale]

- spreadMethod [pad, reflect, repeat]

- href

Radial gradient

- vector [inner & outer circumference]

- inner circumference [cx, cy, r]

- outer circumference [fx, fy, r]

- stop color in radial gradient

patterns [fill, stroke]

- tile concept

- pattern attributes [x,y,height,width, patternUnits, viewBox, preserveAspectRatio, patternTransform, href, patternContentUnits]

Apply all SVG animation techniques and combine them with CSS animations for placement on a website

Information about the continuation of the course with the new section "SVG animation"

This tutorial will introduce you to SVG animation elements (Part1):

animate,

animateMotion,

animateTransform

This tutorial will introduce you to SVG animation elements (Part2):

discard [«Discard» element has been discontinued by browsers to improve security]

set

Attribute to identify the target element for an animation [href = “URL”].

Attributes to control the timing of the animation [begin, dur, min, max, restart, repeatcont, repeatdur, fill].

In this lesson, you will learn about attributes that define animation values over time [from, to, by, keyTimes, keySplines, calcMode, values]

In this lesson, you will learn about attributes that control whether animations are additive [additive & accumulate].

Morphing example.

And we will analyze clock values in detail

SVG elements which can be animated by an <animateMotion>

Data types used in the attributes and properties of the SVG animation.

In this lesson, you will learn about pointing device events with which you can start or stop SVG animation.

Examples of lessons from a series of web animation courses: 1. "Interactive Web Animation"; 2. "Creative Web Animation with GSAP 3"; 3. "Mastering Web Animation with Canvas".

Information about the composition of this bonus section

Capabilities of Web Animation using masks & clip path. Part1

In this lesson we will work with a clip path. In the first example, a raster image integrated into the SVG container will be used as the basis.

Capabilities of Web Animation using masks & clip path. Part2

In this lesson we will work with the mask. In the second example, we’ll work directly with SVG

Capabilities of Web Animation using masks & clip path. Part3

In this lesson, we will work with the clipping frame again. The third example will demonstrate the video content placed in the SVG container.

CSSPlugin [Part4: xPercent, yPercent]

Possibilities of use, advantages and disadvantages of using the “xPercent”, “yPercent” properties. Simplest practical example. Building an interactive animation "Eyes are watching you".

Staggered animations [configuration objects]
ScrollTrigger [Part1]
ScrollTrigger [Part2]
ScrollTrigger [Part3]

Canvas & Web Audio API [Audio Visualizer]. Part1

1. Basic html document settings for the project.

2. The 'audio' element. Purpose, use.

3. 'input' element. Purpose, use.

4. 'onchange' event

5. 'AudioContext' interface

6. The properties of the object to create the animation.

Canvas & Web Audio API [Audio Visualizer]. Part2

1. 'loadAudio()' method

2. FileReader interface

3. 'readAsDataURL()' method

4. Web Audio API: audio nodes, inputs and outputs, audio routing graph

5. audio initialization [part 1]

Canvas & Web Audio API [Audio Visualizer]. Part3

1. Audio initialization [part 2]

2. 'Uint8Array()' method

3. Building the first type of Audio Visualizer

4. The first version of the audio visualizer

Canvas & Web Audio API [Audio Visualizer]. Part4

1. Errors are related to the established connections between audio nodes and their elimination using the WeakMap object.

2. Setting up the first version of the audio visualizer.

Canvas & Web Audio API [Audio Visualizer]. Part5

1. Frequency audio test.

2. The second kind of audiovisualizer [based on the analysis of one of the set of frequencies].

3. Changes in transformation matrix.

4. Third kind of audiovisualizer.

What's next?

Save this course

Save SVG Fundamental to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in SVG Fundamental with these activities:
Review HTML and CSS Fundamentals
Reinforce your understanding of HTML and CSS, as SVG is often embedded within HTML and styled with CSS. A solid foundation will make working with SVG much easier.
Show steps
  • Review basic HTML structure and tags.
  • Practice CSS selectors, properties, and values.
  • Build a simple webpage using HTML and CSS.
Read 'SVG Essentials' by J. David Eisenberg
Gain a deeper understanding of SVG concepts and syntax by reading a dedicated book on the subject. This will supplement the course material and provide a broader perspective.
Show steps
  • Obtain a copy of 'SVG Essentials'.
  • Read the chapters relevant to the course syllabus.
  • Experiment with the code examples provided in the book.
Recreate SVG Icons
Solidify your understanding of SVG syntax and attributes by recreating common icons using SVG code. This hands-on practice will improve your ability to write and debug SVG.
Show steps
  • Find a collection of simple icons.
  • Analyze the shapes and paths that make up each icon.
  • Write SVG code to recreate each icon from scratch.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create an SVG Cheat Sheet
Compile a cheat sheet of commonly used SVG elements, attributes, and syntax. This will serve as a quick reference guide and reinforce your understanding of the SVG language.
Show steps
  • Identify the most important SVG elements and attributes.
  • Organize the information in a clear and concise format.
  • Include examples of how to use each element and attribute.
Build a Responsive SVG-Based Data Visualization
Apply your SVG knowledge to create a dynamic and interactive data visualization that adapts to different screen sizes. This project will challenge you to use SVG's features for scaling, styling, and animation.
Show steps
  • Choose a dataset to visualize.
  • Design the visualization using SVG elements and attributes.
  • Implement interactivity using JavaScript.
  • Ensure the visualization is responsive across different devices.
Read 'Practical SVG' by Chris Coyier
Explore practical applications of SVG in web development by reading a book focused on real-world use cases. This will help you understand how to use SVG effectively in your own projects.
View Practical SVG on Amazon
Show steps
  • Obtain a copy of 'Practical SVG'.
  • Read the chapters relevant to your interests and projects.
  • Experiment with the techniques and examples presented in the book.
Contribute to an Open Source SVG Project
Contribute to an open-source project that uses SVG. This will give you valuable experience working with SVG in a collaborative environment and expose you to different coding styles and techniques.
Show steps
  • Find an open-source project that uses SVG.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete SVG Fundamental will develop knowledge and skills that may be useful to these careers:
Frontend Developer
A frontend developer builds the user interface of websites and web applications. This role requires a strong understanding of web technologies, and this course fits perfectly. Frontend Developers often utilize Scalable Vector Graphics for icons, logos, and other visual elements because of their scalability and small file size. This course provides detailed information on the Scalable Vector Graphics standard, and helps build a foundation for understanding SVG syntax, structure, and algorithms, topics particularly relevant to creating optimized and interactive graphics for the web. By understanding the core principles taught in this course, a frontend developer can utilize SVG to its full potential.
Web Designer
A web designer plans and creates the visual appearance and layout of websites. This role involves designing graphics and user interfaces that are both aesthetically pleasing and functional. Web designers frequently use vector graphics to ensure images look sharp on any screen size. This course provides a comprehensive understanding of Scalable Vector Graphics, including the various ways to modify them using CSS and JavaScript. For a Web Designer, the course provides essential tools for creating and optimizing SVG files, and it may be particularly helpful in exploring SVG animation techniques and combining them with CSS animations for placement on a website.
UX Designer
A UX designer focuses on enhancing user satisfaction by improving the usability, accessibility, and pleasure provided in the interaction between the user and the product. UX Designers often make use of vector graphics. This course provides training in Scalable Vector Graphics which meet the scaling requirements of multiple media and screen sizes. The sections on SVG syntax, styling, and interactivity may be particularly relevant, helping a UX Designer create visually consistent and user-friendly interfaces.
UI Designer
A user interface designer focuses on the look and feel of digital interfaces, ensuring they are visually appealing and easy to use. UI Designers make use of vector graphics. This course examines Scalable Vector Graphics and how they meet the scaling requirements of digital interfaces for apps or the web. The course helps a UI Designer use SVG through learning about SVG language elements, syntax, structure, and algorithms. Given that modern interfaces increasingly rely on interactive and animated elements, the sections on SVG animation and integration with JavaScript within this course help refine the skills of a successful UI Designer.
Motion Graphics Designer
A motion graphics designer creates animated graphics or visual effects for film, television, online, and mobile platforms. Motion Graphics Designers animate vector graphics. This course on Scalable Vector Graphics helps them create source material to be animated. This course is a detailed look at the Scalable Vector Graphics, and the syllabus includes SVG animation techniques and combining them with CSS animations which are essential for creating dynamic and engaging motion graphics. Understanding path commands, applying styles, and using SVG animation techniques covered in this course help a Motion Graphics Designer.
Illustrator
An illustrator creates images for various media, including books, magazines, websites, and advertising. Illustrators make heavy use of vector graphics. This course in Scalable Vector Graphics provides an excellent foundation. Knowledge of SVG syntax, structure, and animation techniques within the course, combined with the ability to optimize files for web use, can enhance an illustrator's ability to create versatile and high-quality artwork for digital platforms. For an Illustrator, this course equips them with skills to create graphics that are both visually appealing and technically sound.
Graphic designer
A graphic designer creates visual concepts, using computer software or by hand, to communicate ideas that inspire, inform, and captivate consumers. Graphic Designers make use of vector graphics. This course helps the graphic designer manipulate Scalable Vector Graphics. The course provides a classic academic learning model. It may be particularly useful for graphic designers who want to create responsive designs, optimize images for SEO, or add interactivity to their graphics, all of which are covered in the syllabus.
Web Animator
A Web Animator creates engaging and interactive animations for websites and web applications. Web Animators use vector graphics. This course helps the Web Animator understand creating, styling, and animating Scalable Vector Graphics. The course syllabus covers animation techniques and how to combine them with CSS animations for placement on a website. The course may also be useful for its thorough overview of SVG elements, syntax, and structure, which are fundamental to creating web animations effectively.
Technical Artist
A technical artist bridges the gap between artists and programmers, creating tools and workflows that improve the art creation process in game development or animation. Technical Artists use vector graphics. This course helps a Technical Artist understand the Scalable Vector Graphics. It may be particularly helpful in learning how to optimize SVG files, automate the creation of SVG assets, and integrate SVG graphics into game engines or animation software. The knowledge of SVG syntax, structure, and animation techniques covered helps Technical Artists work efficiently.
AR/VR Developer
An Augmented Reality/Virtual Reality Developer creates immersive experiences using AR and VR technologies. AR/VR Developers often make use of vector graphics. This course provides training in Scalable Vector Graphics which meet the scaling requirements of multiple media and screen sizes. The course on SVG syntax, styling, and interactivity may be particularly relevant, helping a AR/VR Developer create visually consistent and immersive experiences.
Digital Marketing Specialist
A digital marketing specialist develops, implements, and manages marketing campaigns that promote a company and its products and/or services. Digital Marketing Specialists often work with Scalable Vector Graphics to optimize images for web use and improve SEO. This course provides a detailed understanding of how to use SVG, including how to optimize files for SEO by directly entering keywords into the image code. A Digital Marketing Specialist may find the knowledge of SVG's properties, styling options, and benefits for responsive design to be particularly helpful in improving website performance and search engine rankings.
Game Developer
A game developer creates video games for computers, consoles, and mobile devices. Game Developers use vector graphics. This course helps them understand Scalable Vector Graphics for creating user interfaces, in game animations, and other graphical elements. Because the course covers SVG syntax, structure, animation techniques, and optimization, it may be helpful for a Game Developer who wishes to enhance the visual aspects and performance of their games.
Instructional Designer
An instructional designer creates learning experiences, such as online courses and training materials. Instructional Designers use vector graphics. This course covers Scalable Vector Graphics and how it can be applied to instructional materials to improve clarity, engagement, and accessibility. Understanding how to create and optimize SVG graphics helps Instructional Designers create visually appealing and effective educational resources. The course's focus on SVG language elements, syntax, algorithms, and data types may also be useful for creating interactive learning modules and animated explainers.
Content Creator
A Content Creator develops and produces engaging content for various platforms, such as websites, social media, and marketing campaigns. Content Creators often use visual elements. This course provides training in Scalable Vector Graphics which meet the scaling requirements of multiple media and screen sizes. The sections on SVG syntax, styling, and interactivity may be particularly relevant. In the course, a Content Creator can learn to create appealing and visually consistent graphics.
Data Visualization Specialist
A Data Visualization Specialist creates visual representations of data, such as charts, graphs, and maps, to help people understand complex information. Data Visualization Specialists use vector graphics. This course helps those individuals with Scalable Vector Graphics for creating scalable and interactive visualizations. The course helps build a foundation on understanding the elements, syntax, and structure, and may also be helpful for generating dynamic and engaging data displays.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in SVG Fundamental.
Provides a comprehensive guide to SVG, covering everything from basic shapes to advanced animation techniques. It's a valuable resource for understanding the SVG specification and its practical applications. It serves as both a reference and a tutorial, making it suitable for both beginners and experienced developers. This book will add depth to the course by providing real-world examples and best practices.
Focuses on the practical aspects of using SVG in web development. It covers topics such as optimizing SVG for performance, creating accessible SVG, and using SVG with CSS and JavaScript. It's a great resource for learning how to integrate SVG into real-world projects. This book is more valuable as additional reading to expand on the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser