back to top

8 Must Have Astrophotography Apps For iPhone

A- A+

Subscribe Below to Download the Article Immediately

You can also select your interests for free access to our premium training:

Your privacy is safe. I will never share your information.
Related course: Milky Way Mastery

Astrophotography can be technically challenging. But with these 8 apps, your iPhone will become your best night sky photography buddy. They will help you understand, navigate and photograph the night sky.

Let’s get started!

Photo of a small church with the milky way appearing on the night sky
Photo of a small church with the milky way appearing on the night sky

8. Stellarium PLUS – Star Map

Explore the night sky with the Stellarium star map.

This app labels objects in the night sky. It also allows you to see the stars at any point in history and as other cultures view the heavens.

iPhone

Screenshot of Stellarium Plus
Screenshot of Stellarium Plus

Stellarium has an easy-to-navigate interface. Point your iPhone anywhere in the night sky and constellations appear. Tap on a star or constellation, and more information will appear. Stellarium lets you zoom in for a closer look or zoom out for a 360-degree view of the sky.

Stellarium doesn’t have augmented reality, but this isn’t a deal-breaker. Where this app shines is the ability to find deep space objects. It will even pair with your telescope.

Stellarium is also available for Android.

7. Sun Surveyor

Sun Surveyor is one of my favourite night photography planning apps. It shows the positions of the Sun, Moon, and Milky Way.

The app is simple to use, but also powerful and highly customizable. The developers seem tuned in to exactly what information astrophotographers need. Then they make it easy to find.

iPhone

Screenshot of Sun Surveyor
Screenshot of Sun Surveyor

The interface is clean, and information is colour-coded. Though there is a lot of information included, the screen doesn’t feel cluttered.

Sun Surveyor quickly lets you know about photo opportunities for a given night. At your fingertips is the exact times the opportunity is available. With one click, you can add the event to your Google calendar.

The maps work with Google (or Apple) to help you plan photoshoots. They even let you get down to street view to virtually put yourself into position.

Live view lets you visualize where objects in the night sky are in relation to your environment.

The Lite version of Sun Surveyor gives you a taste of the app’s functionality. But you’ll quickly upgrade. It’s worth every penny.

Sun Surveyor is also available for Android.

6. PhotoPills

PhotoPills is a monster of a photography app. Each “Pill” or tool is a helpful program. At your fingertips will be information to help you track the Sun, Moon, and the Milky Way. Also included are tools to help you photograph star trails and meteor showers.

iPhone

Screenshot of PhotoPills
Screenshot of PhotoPills

In this app, you also have a handy exposure guide to help you with a number of things. These include camera settings, a depth of field calculator, and focal length tools. The app will also help you figure out how many photos you’ll take in a time-lapse. Then, it will help you plan star trail photos.

Augmented reality overlays information onto the scene in front of your iPhone. Dragging moves the Sun, Moon, or Milky Way across the sky. This lets you see exactly when the object will be in position.

All the tools can be overwhelming. But the PhotoPills Academy will walk you through the features.

PhotoPills is also available for Android.

5. Astrospheric

Astrospheric is one of the best weather forecast apps for astrophotographers. It contains information about skies and cloud cover. Whether you’re looking for clear skies or planning sunsets.

iPhone

Screenshot of Astrospheric
Screenshot of Astrospheric

This app gives cloud cover forecasts for a specified location. Impressively, Astrospheric goes beyond most weather apps.

It is created for photographers and includes information that affects photography. It forecasts the effects of smoke, elevation, surface pressure, and air turbulence on the atmosphere. Dark sky photographers look for excellent atmospheric transparency, not just low cloud cover.

The information is easy-to-understand and colour-coded in table form. Map overlays are also useful.

There is also an overlay to help you find areas with low light pollution.

And the best part, it’s free.

Astrospheric is also available for Android.

4. Sky Guide

Sky Guide has a clean interface showing you a classic view of the night sky, labelling all that you can see.

You can navigate it and zoom in and out. The latest version comes with augmented reality. This allows you to place the stars on top of the scene viewed by your iPhone’s camera.

iPhone

Screenshot of Sky Guide
Screenshot of Sky Guide

You can also navigate through time. The app will show the sky as it will be (or was) on a specified date and time.

The Sky Guide has a huge database of information on celestial objects. You can find out when they rise, peak and set, also their apparent magnitude and apparent size.

You can navigate different categories or search objects by name or classification. And you can even save your favourite targets to find them even faster.

There’s also a calendar of notable future astronomical events. These include planet conjunction, eclipses, moon phase, comets etc.

Whether you are into stargazing or a keen amateur astrophotographer, Sky Guide will let you know what is happening in the night sky.

3. Dark Sky Finder

Dark Sky Finder app allows you to overlay a light pollution map over a normal map.

iPhone

Screenshot Dark Sky Finder
Screenshot Dark Sky Finder

The map uses the Bortle Scale. Different levels of darkness are colour-coded from black (darkest) to white (brightest).

The app has a database of dark skies locations. You can also add locations yourself and contribute to the app.

The about icon will show you a great deal of info and light pollution in general.

It is one of the best apps to plan your next Milky Way photography outing.

2. Clear Outside

Clear Outside has a useful free little weather app to help you find clear night skies. It gives you weather forecasts including seeing conditions, visibility and sky clarity. This includes the hourly amount of low, medium and high altitude cloud coverage.

iPhone

Screenshot of Clear Outisde
Screenshot of Clear Outisde

The app can display a range of information for your current location or a specific one. In one handy table, you’ll have everything you need to plan your photoshoot.

Clear Outside is also available for Android.

1.  The Photographer’s Ephemeris (TPE)

The Photographer’s Ephemeris (TPE) is the industry standard for astrophotography planning.

iPhone

Screenshot of The Photographer's Ephemeris
Screenshot of The Photographer’s Ephemeris

TPE allows you to predict the positions of the Sun, Moon, and Milky Way. Where this app shines is when using the geodetic tool.

Select a position and a topographical feature to photograph. The app helps you determine what landscape features will be in view from a given position. You can search parameters and determine what dates and times the Sun or Moon will be in place.

Augmented reality lets you visualize the Sun, Moon, and Milky Way in relation to your environment. You can quickly scan through the timeline to find when subject and night sky features will align.

Light pollution overlays to give you a good idea in advance how dark the night sky will be in a set location.

TPE is designed to interact with the weather forecasting app Skyfire. There is a subscription fee, but you can try it free for 30 days.

You can easily share your plans with fellow photographers via email or IM or add it to your calendar.

TPE is also available for Android.

Conclusion

There you go. My 8 favourite astrophotography apps for iOS. They will cover all your astrophotography needs. Most will help you with any type of sky photography.

These apps will allow you to track objects in the night sky and plan an astrophotography shoot.

Not all of them are free, but they are well worth their price tag!

Want to learn more about photographing the Milky Way? Check out our course ‘Milky Way Mastery‘ next!

Show Comments (1)
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]