PostCSS plugin to inline local/remote images.
.foo {
  /* Input example */
  background-image: url('https://placehold.it/10x10');
}.foo {
  /* Output example */
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAo ... ORK5CYII=');
}npm i -D postcss postcss-image-inlinerconst postcss = require('postcss');
const imageInliner = require('postcss-image-inliner');
const opts = {
  assetPaths: [], // List of directories where the inliner should look for assets
  maxFileSize: 10240, // Sets a max file size (in bytes)
};
postcss([imageInliner(opts)]);See PostCSS docs for examples for your environment.
- Type: 
array - Default: 
[process.cwd()] - Example: 
['http://domain.de/', 'http://domain.de/styles', 'app/images', '**/images/'] - Required: 
false 
List of directories/URLs where the inliner should start looking for assets. You can define local directories (globs supported) or URLs.
- Type: 
int - Default: 
10240 - Example: 
0 - Required: 
false 
Sets a max file size (in bytes) for inlined images. Set to 0 to disable size checking.
- Type: 
function - Default: undefined
 - Example: 
function (file) { console.log('big file found:', file.path); return file.path } - Required: 
false 
Allows you to act on large files and change the url if you'd like. Make sure you have strict set to false when using this.
- Type: 
bool - Default: 
false - Required: 
false 
Use Base64 encoding for SVGs.
- Type: 
array - Default: 
[] - Required: 
false 
Use custom svgo configuration for svg optimization
- Type: 
bool - Default: 
false - Required: 
false 
Fail on error.
- Type: 
regex - Default: 
/^(background(?:-image)?)|(content)|(cursor)/ - Required: 
false 
Regex to match the CSS properties to be inlined.