# CSS: “background”: X is an incorrect URL.

> Canonical HTML version: https://rocketvalidator.com/html-validation/css-background-x-is-an-incorrect-url
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `url()` in a `background` value starts with a scheme the CSS validator doesn't recognize, so it can't read the value as a URL.

The validator accepts relative paths such as `images/arrow.png` or `/images/arrow.png`, and absolute URLs with common schemes such as `https:` and `data:`. It treats everything before the first colon as the scheme, and if it doesn't know that scheme, it reports the whole `url()` as incorrect. Quotes don't change this: `url("myapp://icons/arrow.png")` gets the same error.

The usual cause is a placeholder that a build tool or CMS was supposed to replace with a real path, such as `url(myapp://icons/arrow.png)`. A browser can't resolve that scheme either, so the image never loads. Local file paths cause it too: in `url(C:/images/arrow.png)`, the validator takes the drive letter `C` as the scheme, and visitors' browsers couldn't open a file on your disk anyway.

Look at the CSS the browser receives, not the template. Point `url()` at the file's real location with a relative path or a full `https://` URL, and fix the step that should have replaced the placeholder.

## Invalid example

```html
<div style="background: #f5f5f5 url(myapp://icons/arrow.png) no-repeat right center;">
  <p>Next page</p>
</div>
```

## Valid example

```html
<div style="background: #f5f5f5 url(/images/arrow.png) no-repeat right center;">
  <p>Next page</p>
</div>
```
