Ionic 2 Images not displaying on device Ionic 2 Images not displaying on device angular angular

Ionic 2 Images not displaying on device


I had the same issue with relative paths

<img src="../assets/img/vis_reco.png">  

does work with ionic serve / and also with livereload in the emulator (e.g. from src/pages/home/home.html ) But not on the device.

Don't use relative paths for images !!!

<img src="assets/img/vis_reco.png">  

works for me with Ionic (v3) and also angular typescript apps.On the device (ionic cordova run) with ionic serve and also with ng s (angular apps)

used dir tree:

used dir tree

you can see an (official) example in the ionic conference starter, try:

ionic start ionicConf conference

(btw: same quetiosn & answer here: https://forum.ionicframework.com/t/images-not-displayed-on-device/89145 )


You don't need to use ../assets/. Just specify path from assets/img/.

For images in your CSS (background-image, border-image, etc.), you need to use ../assets/.

Once you build the app, the file structure will be like,

 assets/    img/       img1.jpg       img2.jpg build/    main.css    polyfills.js    main.js index.html

HTML will be dynamically added to index.html. So src of img tag, will be from same location of the index.html file. So, assets/img/*.jpg is enough for src of img tag. Coming to CSS file, the assets folder is a folder back to the its location. So, for using image in CSS like, background-image, border-image etc. we need to specify the path like, ../assets/img/*.jpg.


Add your images to src/assets/imgs directory

Set image path in HTML like

<img src="assets/imgs/example.jpg">

Set image path in SCSS like

background-image: url(../assets/imgs/example.jpg);

It will work browser, emulator and build