awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
linebender avatar

linebender/resvg

0
View on GitHub↗
3,895 stars·317 forks·Rust·Apache-2.0·14 views

Resvg

Resvg is a high-compliance SVG rendering library and parsing engine designed to convert scalable vector graphics into raster images. It functions as an SVG to raster converter that resolves XML trees and manages the transformation of vector data into bitmap formats.

The project ensures cross-platform visual consistency by producing identical pixel-perfect output regardless of the operating system or CPU architecture. It distinguishes itself through a text layout engine that handles complex typography, including bidirectional reordering, vertical writing modes, and color emoji fonts.

The library covers a broad capability surface including the application of external CSS stylesheets, the rendering of visual filters such as Gaussian blur, and programmable resolution for fonts and images. It also incorporates security measures to protect against resource exhaustion attacks by enforcing limits on document complexity and nesting depth.

Features

  • Cross-Platform Renderers - Ensures identical pixel-perfect raster output across different operating systems and CPU architectures.
  • Internal Tree Normalizations - Resolves complex XML into a standardized internal tree where attributes and references are pre-processed.
  • SVG Specification Parsers - Provides a high-compliance parsing engine that converts SVG XML into internal drawing primitives.
  • SVG Libraries - Functions as a high-compliance library for converting SVG vector graphics into consistent raster images.
  • Complex Typography Rendering - Supports complex typography including bidirectional reordering, vertical writing modes, and color emoji fonts.
  • Deterministic Raster Rendering - Produces identical pixel-perfect images regardless of the operating system or CPU architecture used.
  • Advanced Typography Rendering - Handles complex typographic layout including bidirectional reordering, vertical writing modes, and text-on-path.
  • Canvas Text Layout Engines - Integrates a layout engine that calculates glyph positions for bidirectional text and vertical writing modes.
  • Vector Rasterizers - Converts mathematical vector definitions of SVG files into pixel-based raster images.
  • CSS-Based Styling - Implements a high-compliance CSS cascade to apply styles to SVG elements based on specificity.
  • Bitmap Rasterizers - Transforms scalable vector graphics into bitmap formats with support for advanced CSS and visual filters.
  • Programmable Resolvers - Enables custom control over font matching and fallback behavior through a programmable resolver.
  • Two-Pass Parsing - Utilizes a two-pass parsing strategy to resolve XML attributes and references into a normalized internal tree.
  • External Asset Resolvers - Resvg handles external image links via a programmable resolver to control how assets are loaded.
  • SVG Filter Effects - Renders complex visual effects such as Gaussian blur and drop shadows using standard SVG filter functions.
  • Unicode Emoji Fonts - Supports the rendering of color fonts and emojis via specialized font tables.
  • Parsing Depth Limits - Enforces strict nesting depth and element count limits during parsing to prevent resource exhaustion attacks.
  • Document Security Limits - Protects against denial-of-service attacks by capping document complexity and nesting depth of SVG files.
  • Fixed-Point Arithmetic Engines - Implements a rendering engine using fixed-point arithmetic to ensure deterministic, pixel-perfect output across different CPU architectures.
  • SVG Attribute Styling - Allows overriding default visual appearances of vector graphics via external CSS stylesheets and custom font resolvers.
  • Custom Stylesheet Injections - Supports the injection of external CSS stylesheets to override the default visual styles during rendering.
  • Programmable Asset Resolvers - Provides a programmable interface for custom resolution of external fonts and images.
  • Graphics & Design - SVG rendering library.
  • Graphics Rendering - Library for SVG rendering.

Star history

Star history chart for linebender/resvgStar history chart for linebender/resvg

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Resvg

Similar open-source projects, ranked by how many features they share with Resvg.
  • sixlabors/imagesharpSixLabors avatar

    SixLabors/ImageSharp

    7,954View on GitHub↗

    ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c

    C#bmpc-sharpdrawing
    View on GitHub↗7,954
  • google/skiagoogle avatar

    google/skia

    10,762View on GitHub↗

    Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital surfaces. It functions as a hardware-accelerated graphics engine that offloads drawing operations to the GPU, a vector graphics processor for SVG and complex paths, and a typography engine for shaping and drawing characters with Unicode support. The project provides a cross-platform image codec for encoding and decoding standard image formats into raw pixel data across multiple operating systems. It also enables the development of user interfaces that maintain visual consistency a

    C++
    View on GitHub↗10,762
  • game-icons/iconsgame-icons avatar

    game-icons/icons

    1,308View on GitHub↗

    Icons is a repository of open-source vector graphics designed for tabletop games, video games, and digital projects. Alongside the asset library, the project provides a command-line utility for batch-processing entire directory structures of scalable vector files locally. The collection management capabilities enable bulk conversion of vector icons into optimized bitmap image files across directory hierarchies. Additionally, the software includes a color replacement engine that parses markup to swap default foreground and background color declarations with custom hexadecimal values, while pre

    Shellboardgamedungeons-and-dragonsgamedev
    View on GitHub↗1,308
  • svgkit/svgkitSVGKit avatar

    SVGKit/SVGKit

    4,577View on GitHub↗

    SVGKit is a graphics framework for the iOS and macOS ecosystems designed for rendering high-performance scalable vector graphics. It functions as a library that utilizes native hardware acceleration to display and interact with vector graphics on Apple platforms. The project provides a programmatic interface for editing vector elements and writing updated files back to disk. It also includes tools to convert vector graphics into rasterized bitmap image formats for use in standard image views. The framework handles the translation of XML-based documents into a hierarchy of hardware-accelerate

    Objective-C
    View on GitHub↗4,577
See all 30 alternatives to Resvg→

Frequently asked questions

What does linebender/resvg do?

Resvg is a high-compliance SVG rendering library and parsing engine designed to convert scalable vector graphics into raster images. It functions as an SVG to raster converter that resolves XML trees and manages the transformation of vector data into bitmap formats.

What are the main features of linebender/resvg?

The main features of linebender/resvg are: Cross-Platform Renderers, Internal Tree Normalizations, SVG Specification Parsers, SVG Libraries, Complex Typography Rendering, Deterministic Raster Rendering, Advanced Typography Rendering, Canvas Text Layout Engines.

What are some open-source alternatives to linebender/resvg?

Open-source alternatives to linebender/resvg include: sixlabors/imagesharp — ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying… google/skia — Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital… game-icons/icons — Icons is a repository of open-source vector graphics designed for tabletop games, video games, and digital projects.… svgkit/svgkit — SVGKit is a graphics framework for the iOS and macOS ecosystems designed for rendering high-performance scalable… googlefonts/noto-emoji — Noto Emoji is a Unicode emoji font collection and SVG asset library designed to ensure consistent emoji rendering… adobe-webplatform/snap.svg — Snap.svg is a JavaScript library for creating, manipulating, and animating scalable vector graphics directly in the…