Image Darkmodifier
approvedby 0qln
Turn your inline images into darkmode (...and more!).
Image Darkmodifier
Obsidian Plugin.
Apply filters, such as darkmode effects (with transparency), to your markdown image links.
This is what it might look like:
No filter:
With @darkmode filter:
How to use this?
-
Add the plugin
-
Just add the filters to the alias part of your image link:
Normal embed:
`![[image.png|image-description]]`
Embed with darkmode:
`![[image.png|image-description @darkmode]]`
Where darkmode is essentially just a shorthand for this:
`![[image.png|image-description @invert @transparent(threshold="rgb((13, 13, 13))", remove="below") @boost-lightness(amount=1.2)]]`
The filter are applied in order left to right.
Filter Syntax
will look like this for most cases:
@filter-name(boolean-param, int-param=42, float-param=-6.9, string-param="text-value")
For string values, the following characters have to be written in a special way:
"=>""(=>(()=>))
Backslashes are not allowed. (Due to how the image-alt is parsed by obsidian.)
Link support
All kind's of link notation are supported:
![[image.png | image-description @darkmode]]

<img src="image.png" alt="image-description @darkmode" style="height: 410px">
You can even use image links to remote images:

(Note that this requires a network request to fetch the image data.)
The following filters can be used:
Darkmode
Reccomended for use on images with white backgrounds (e.g. screenshots of diagrams in papers).
name: @darkmode
params: none.
Default Behavior
By default, always applies dark mode adjustments: inverts the image, removes the background, and boosts the lightness by 1.2.
Essentially just a shorthand for: @invert @transparent(threshold="rgb((13, 13, 13))", remove="below") @boost-lightness(amount=1.2).
Theme Aware Mode
You can enable Theme Aware Mode in the plugin settings. When enabled, the @darkmode filter automatically adapts to Obsidian's current theme:
In Dark Theme:
- Inverts colors
- Removes dark backgrounds (below threshold)
- Boosts lightness by 1.2x
In Light Theme:
- Keeps original colors (no inversion)
- Removes bright backgrounds (above threshold ~240)
- Reduces lightness by 0.85x to increase contrast
Images will automatically re-render when you switch between light and dark themes.
Invert
Inverts the image.
name: @invert
params: none.
Lightness boost
Converts the image pixel representation to hsl, and boosts the lightness.
name: @boost-lightness
params:
amount:- float-value: the amount by which to boost the lightness.
Transparency
Make pixels below or above a certain threshold transparent.
name: @transparent
params:
remove:- string-value: can be either
"above"or"below"- if
"above": removes pixels above the threshold - if
"below": removes pixels below the threshold
- if
- string-value: can be either
threshold: all pixels that haver,gandbchannels above or below this threshold will be made transparent.- int-value: compare all channels to the same threshold
- string-value: can be any css-parsable string. e.g.
"rgb((69, 42, 3))"or"hsl((35deg, 91.7%, 14.1%))"would have the same effect:
Contributing
Filters
Feel free to open pullrequests or issues. Adding new filters is really straight forward, you can use existing filters for reference.
Mobile support
I don't use Obsidian Mobile myself, so if you want mobile support, feel free to open a PR.
Compatibility
Plugin will use the current image as you see it in Obsidian
- Theme Detection respects
Plugin and any Themes such as
that support it
Known issues:
- none so far
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.