# Images
`Image` loads and decodes images with the platform's native image loader.
Each platform caches responses and cancels obsolete requests when a source
changes or a component unmounts. Python doesn't download or decode image
bytes.
Sources can be a bundled [`Asset`][pythonnative.Asset], an `https` URL, a
file path, or a `data:` URI. `default_source` shows a local image while a
remote one loads (and keeps it if the load fails); `blur_radius` blurs the
decoded bitmap. Supply layout constraints when an image must reserve space
before its content loads.
```python
pn.Image(
source="https://example.com/photo.jpg",
default_source=pn.asset("images/placeholder.png"),
blur_radius=4,
style=pn.style(width=200, height=120),
)
```
## Images module
[`Images`][pythonnative.Images] measures, prefetches, and clears the
cache of the same pipeline:
```python
size = await pn.Images.get_size(pn.asset("images/hero.png"))
await pn.Images.prefetch("https://example.com/photo.jpg")
pn.Images.clear_cache()
```
::: pythonnative.native_modules.images
options:
show_root_heading: false
show_root_toc_entry: false
members_order: source
filters: ["!^_"]
## Next steps
- Bundle images, fonts, and vectors: [Assets guide](../guides/assets.md).