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
jariz avatar

jariz/vibrant.jsArchived

0
View on GitHub↗
4,594 stars·227 forks·CoffeeScript·MIT·25 viewsjariz.github.io/vibrant.js↗

Vibrant.js

vibrant.js is a JavaScript color extraction library used to identify dominant color palettes from images based on the Android Palette algorithm. It functions as an image palette generator and a color processing tool that converts extracted data between RGB, HSL, and Hexadecimal formats.

The library analyzes image pixels to categorize colors into specific profiles, including vibrant, muted, dark, and light. It also includes an accessible text color calculator that determines high-contrast hex colors for text overlays based on a selected background color.

The toolset covers automated palette generation, image color extraction, and the calculation of readable text contrast for dynamic user interface theming.

Features

  • Image Color Extractors - Analyzes image pixels to identify dominant color palettes for use in design and user interfaces.
  • Dominant Color Extraction - Analyzes images to identify a palette of dominant colors categorized by specific visual profiles.
  • Dominant Color Samplers - Analyzes pixel frequency across the image to determine the most prominent and dominant colors.
  • Color Palette Generators - Programmatically generates a set of coordinated colors from an image for use in digital projects.
  • Image-Based Palette Extractors - Analyzes image pixels to extract a set of dominant colors categorized into vibrant, muted, dark, and light profiles.
  • Color Profile Buckets - Sorts extracted colors into specific profiles like vibrant, muted, dark, and light based on saturation thresholds.
  • K-Means Clustering - Employs a clustering algorithm to simplify a wide range of colors into a few representative profiles.
  • RGB to Hex Converters - Converts color data between standard formats such as RGB, HSL, and Hexadecimal.
  • Canvas-Based Extractors - Utilizes a browser canvas element and the getImageData method to read raw image pixels for color analysis.
  • Color Space Converters - Provides logic to transform extracted color coordinates between RGB, HSL, and Hexadecimal formats.
  • Color Format Converters - Retrieves extracted color data in multiple standard representations including RGB, HSL, and Hexadecimal.
  • Luminance-Based Contrast Adjusters - Calculates the relative luminance of a color to automatically toggle between black or white text for readability.
  • Contrast Color Calculators - Calculates high-contrast text colors that ensure effective readability against extracted background colors.
  • Dynamic Theme Adaptation - Enables the automatic adjustment of UI colors to match the dominant tones of an uploaded image.
  • Text Color Selection - Determines the most readable hex color for text overlays based on a selected background color.
  • Color Manipulation - Extracts prominent colors from images.
  • Color Utilities - Extracts prominent colors from images.
  • Miscellaneous Tools - Library for extracting colors from images.

Star history

Star history chart for jariz/vibrant.jsStar history chart for jariz/vibrant.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Frequently asked questions

What does jariz/vibrant.js do?

vibrant.js is a JavaScript color extraction library used to identify dominant color palettes from images based on the Android Palette algorithm. It functions as an image palette generator and a color processing tool that converts extracted data between RGB, HSL, and Hexadecimal formats.

What are the main features of jariz/vibrant.js?

The main features of jariz/vibrant.js are: Image Color Extractors, Dominant Color Extraction, Dominant Color Samplers, Color Palette Generators, Image-Based Palette Extractors, Color Profile Buckets, K-Means Clustering, RGB to Hex Converters.

Which projects share features with jariz/vibrant.js?

Projects with overlapping indexed features include: lokesh/color-thief — Color-thief is a color quantization library and image color palette extractor designed to identify the most prominent… viccalexander/chameleon — Chameleon is a color framework for Swift and Objective-C applications. It provides systems for programmatic color… vicc/chameleon — Chameleon is a color framework for Swift and Objective-C applications, providing a toolkit for managing dynamic… gka/chroma.js — chroma.js is a JavaScript library for color manipulation, space conversion, and the generation of data visualization… benhowdle89/grade — Grade is a JavaScript library for image color analysis and dynamic theme generation. It extracts the most prominent… briangonzalez/jquery.adaptive-backgrounds.js — This is a jQuery plugin that extracts the dominant color from an image or CSS background image and applies it as a…

Projects sharing features with Vibrant.js

These projects share indexed features with Vibrant.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • lokesh/color-thieflokesh avatar

    lokesh/color-thief

    13,596View on GitHub↗

    Color-thief is a color quantization library and image color palette extractor designed to identify the most prominent colors in visual media. It functions as a semantic color classifier and color space converter, providing tools to extract dominant colors and generate representative palettes from images, videos, and canvas elements. The project utilizes a WebAssembly color processor and background workers to perform high-performance pixel analysis. It implements a WCAG contrast analyzer to calculate color contrast ratios and determine accessible foreground text colors based on accessibility s

    TypeScript
    View on GitHub↗13,596
  • viccalexander/chameleonViccAlexander avatar

    ViccAlexander/Chameleon

    12,323View on GitHub↗

    Chameleon is a color framework for Swift and Objective-C applications. It provides systems for programmatic color palette generation, global theme orchestration, hexadecimal conversion, and the extraction of visual data from images. The library includes a dynamic theme engine for applying global visual styles and luminance adjustments across an interface. It features a palette generator for creating analogous, complementary, and triadic color schemes based on a seed color, and an image color extractor to derive average colors or palettes from images. The framework covers a range of color man

    Objective-C
    View on GitHub↗12,323
  • vicc/chameleonvicc avatar

    vicc/chameleon

    12,325View on GitHub↗

    Chameleon is a color framework for Swift and Objective-C applications, providing a toolkit for managing dynamic palettes, gradient libraries, and hexadecimal conversions. It functions as a system for creating harmonious color schemes and calculating contrasting text colors based on background luminance. The project includes an image color extractor that analyzes images to generate matching color schemes or calculate average colors for user interfaces. It also features a gradient color library for creating and applying smooth transitions to backgrounds and text elements. The framework covers

    Objective-C
    View on GitHub↗12,325
  • gka/chroma.jsgka avatar

    gka/chroma.js

    10,569View on GitHub↗

    chroma.js is a JavaScript library for color manipulation, space conversion, and the generation of data visualization color scales. It provides a system for transforming colors between formats including RGB, HSL, Lab, LCH, OKLab, and CMYK, alongside tools for parsing and modifying colors across these spaces. The library specializes in data-driven color mapping, using algorithms such as Cubehelix, Bezier interpolation, and ColorBrewer palettes to translate numeric data into visual gradients. It includes a perceptual color difference calculator that utilizes CIE 2000 Delta E and Euclidean metric

    JavaScript
    View on GitHub↗10,569
Compare all 30 related projects→