Nuxt content images are not loading - Nuxt Content v3.3.0
Hi,
I'm creating a blog with nuxt content but when I'm using an image in the .md file they are not loading/
Below is first-blog.md file with all options I have tried:
Below my content.config.ts
Below us how my [...slug].vue looks like
Help please🙂



3 Replies
Hi @grokRespawn. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
Your issue is related to how Nuxt Content and Nuxt handle static assets and image paths in Markdown files.
How to Reference Images in Nuxt Content Markdown
Images in Markdown files should be placed in the
Do not use
Referencing images from the
This tries to load
Relative paths like this do not resolve to the
Same as above, and single quotes are not standard in Markdown image syntax. -
Same as above. -
public/
directory and referenced with a root-relative path. For example, if you have public/profile.png
, you should use:
This will resolve to <http://localhost:3000/profile.png
> and should work correctly.Do not use
~/public/
, @/public/
, or relative paths like ../../public/
—these will not work, as the public/
directory is served at the root URL, not as a subdirectory.Referencing images from the
assets/
directory (e.g., ~/assets/images/profile.png
) will not work in Markdown, because assets/
is for build-time processing and not directly accessible at runtime via a URL. If you need to use images from assets/
, you must import them in Vue components, not in Markdown files.
#### Example Directory Structure
#### Example Markdown
Why Other Paths Don't Work
- 
This tries to load
/public/profile.png
, which does not exist. The public/
directory is not part of the URL.
- 
Relative paths like this do not resolve to the
public/
directory.
- 
Same as above, and single quotes are not standard in Markdown image syntax. -

@/
and ~/
are for imports in Vue/JS, not for URLs in Markdown.
- 
Same as above. -

assets/
is not publicly accessible at runtime.
Official Documentation
You can add images to your public
directory:
>
And then use them in your markdown files in the content
directory as such:
>
Prose Components: ImagesSummary - Place images you want to use in Markdown in the
public/
directory.
- Reference them with a root-relative path: /image.png
.
- Do not use ~/
, @/
, or relative paths to public/
or assets/
in Markdown.
If you follow this pattern, your images should load correctly in Nuxt Content v3.3.0 Docs: Markdown Images Docs: Assets.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@477643775787925515> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
Issue was resolved by following what kapa.ai suggested. Thank you!
🙂