I am working on a hard(ish) science fiction space opera story, and I would like to get a good handle on distances between stars so that I can calculate appropriate travel times. There are a lot of resources online to find how far stars are from here - for example, Tau Ceti is 11.89 light-years away and Ross 248 is 11.32 light-years away - but how far is Tau Ceti from Ross 248? Is there any easy way to find out?

  • 8
    $\begingroup$ Are you looking for the average distance between stars or the normal range of distances between stars? Because the first one is kind of useless and the second one is gargantuan. And if you're looking for the distances for very specific stars within our solar system, that is, unfortunately, not a Worldbuidling question - just an astronomy one. $\endgroup$
    – Halfthawed
    Jul 14, 2020 at 13:25
  • 5
    $\begingroup$ Towards the center of galaxies, star density increases, but hazards increase because of that. Out in the more pleasant part like where our own sun is located, single digit light years between most stars is the norm. And there is the possibility that there is one closer to us than Proxima (but that it's too dim to easily see unless you're looking for it). I don't know the specific distance between your two examples, but it won't be 22ly (the maximum possible). It won't be unrealistic for you to claim it's 3ly or 7, etc. $\endgroup$
    – John O
    Jul 14, 2020 at 13:38
  • 4
    $\begingroup$ Don't forget binary star systems. Alpha Centauri is a mere 11 to 18AU! Closer than Neptune is to the sun. I didn't realize they could be so crazy close. $\endgroup$
    – DKNguyen
    Jul 14, 2020 at 13:59
  • 1
    $\begingroup$ @SmoggieTom, would you mind clarifying whether you're looking for the distance between two specific stars or a general estimate of the distance between an average star and its nearest neighbor? I tried to address both in my answer, but it would nice to know which you're interested in so all the answers can focus on that. $\endgroup$
    – HDE 226868
    Jul 14, 2020 at 16:39
  • 1
    $\begingroup$ @CGCampbell I meant galaxy. $\endgroup$
    – Halfthawed
    Jul 16, 2020 at 3:14

6 Answers 6


An exact answer

The position of a star in space can be specified by three coordinates: Its right ascension, $\alpha$, its declination, $\delta$, which are collectively referred to as equatorial coordinates, and its distance from Earth, $d$. It's probably easiest to calculate the distance between two stars by converting equatorial coordinates to Cartesian coordinates: $$x=d\cos\delta\cos\alpha$$ $$y=d\cos\delta\sin\alpha$$ $$z=d\sin\delta$$ Once you convert two stars' equatorial coordinates and distance from Earth to Cartesian coordinates, you can simply use the Pythagorean theorem to find their separation.

To use your example, Tau Ceti has right ascension $\alpha_1=1:44:04$, declination $\delta_1=-15^{\circ}56'15''$ and distance to Earth $d_1=11.9\;\text{light-years}$. Ross 248 has $\alpha_2=23:41:55$, $\delta=+44^{\circ}10'39''$ and $d=10.3\;\text{light-years}$. Here, I'm using hours, minutes and seconds for right ascension and degrees, arcminutes and arcseconds for declination.

If you don't want to do the calculations by hand, I wrote a Python script to do it using astropy:$^{\dagger}$

#!/usr/bin/env python

import numpy as np
from astropy import units as u
from astropy.coordinates import SkyCoord

ra_1 = '1:44:04'
dec_1 = '-15:56:15'
dist_1 = 11.9

ra_2 = '23:41:55'
dec_2 = '+44:10:39'
dist_2 = 10.3

def coords(ra, dec, dist):
    ""Converts equatorial coordinates to Cartesian coordinates""
    new_coords = SkyCoord(ra, dec, unit=(u.hourangle, u.deg))
    ra, dec = new_coords.ra.radian, new_coords.dec.radian

    x = dist*np.cos(dec)*np.cos(ra)
    y = dist*np.cos(dec)*np.sin(ra)
    z = dist*np.sin(dec)

    return x, y, z

def dist(ra_1, dec_1, dist_1, ra_2, dec_2, dist_2):
    ""Computes distance between two sets of Cartesian coordinates""
    x_1, y_1, z_1 = coords(ra_1, dec_1, dist_1)
    x_2, y_2, z_2 = coords(ra_2, dec_2, dist_2)

    separation = np.sqrt((x_2 - x_1)**2 + (y_2 - y_1)**2 + (z_2 - z_1)**2)

    print('The separation is {} light-years'.format(separation))

dist(ra_1, dec_1, dist_1, ra_2, dec_2, dist_2)

This tells me that Tau Ceti and Ross 248 are 12.2 light-years apart.

$^{\dagger}$It's not great, but it works, and hey, this is astronomy. . .

Estimating distances

A general method which you might find handy as an estimate is to just calculate the mean distances between stars in a particular area - it saves you from having to do spherical trigonometry.

We can get the mean separation between nearby stars, $l$ by calculating the local stellar number density, $n$. This is generally agreed to be $n\sim0.1\;\text{pc}^{-3}$, i.e. 1 stars per 10 cubic parsecs. Some groups have found values differing by a factor of 2 or 3; Wikipedia in particular gives $0.14\;\text{pc}^{-3}$. The mean separation is then approximately $l\approx n^{-1/3}$or $$l\approx n^{-1/3}=(0.1\;\text{pc}^{-3})^{-1/3}\approx2.2\;\text{parsecs}=7\;\text{light-years}$$ or a bit under twice the distance to Proxima Centauri, the nearest star to Earth.

This value should change in different places throughout the galaxy. In general . . .

  • It will decrease the closer you get to the galactic center.
  • It will decrease in areas of recent star formation.
  • It will increase in the (relatively rarefied) stellar halo, and in general outside the plane of the galaxy.
  • It will decrease in open clusters and globular clusters.
  • It will increase in spiral arms.

I'd expect variation of around an order of magnitude or two at the extremes.

  • $\begingroup$ I plugged the same numbers into neoprogrammics.com/stars/distance_between_two_stars/index.php and got distance = 9.8 light-years with x-y-z coordinates (10.7, 5.2, 0) and (7.4, -0.6, 7.2). Strange to see such a discrepancy! $\endgroup$
    – Brian
    Jul 15, 2020 at 23:06
  • 1
    $\begingroup$ @Brian That's a handy link! Plugging in the RA and Dec gives me 12.1 (and the coordinates (10.3, 5.03, -3.13) and (7.36, -0.58, 7.2)). Did you maybe plug something in wrong? $\endgroup$
    – HDE 226868
    Jul 16, 2020 at 1:25
  • 2
    $\begingroup$ Ah! I plugged in the numbers again. Now I get the same results you do. I plugged in 1 44 04, -15 56 15, 11.9 for the 1st star -- but the box next to Declination was already set to - :( Ah, well, mystery solved :) $\endgroup$
    – Brian
    Jul 16, 2020 at 4:43

I don't know if there is any catalogue that will give you the information you need. You will have to math it out. Think of this: there are up to 10,000 stars visible to the naked eye, so a full table with all the distances between any giver pair would have around 50,000,000 rows. It would be a really large book.

So you have to math it out. The easy way is to outsource the work to Wolfram Alpha, as seen in this answer to another question:

Using Wolfram Alpha to get distances between stars

The hard way is by going full boffin, as per the other answers to that question. But that gets into territory. Anyway, the law of cosines is your friend.

By the way, don't forget that stars move. Unless your story deals with instantaneous travel, you'll have to take that into account even when considering FTL.

This chart shows the distances of the closest stars to us over time:

Closest stars to us over time Source: https://en.wikipedia.org/wiki/List_of_nearest_stars_and_brown_dwarfs

This may be troublesome because Wolfram Alpha will only give you the current distance, not past nor future ones. And for future ones you have to factor in star orbits around the Milky Way, which takes you from basic trigonometry to actual rocket science.

  • 4
    $\begingroup$ To be fair, if you're dealing with FTL travel times, the motion of the stars during your travel is going to be so small compared to the distance you're going that it's almost certainly not going to matter to most readers or the plot whether the distance you wind up travelling from the Sun to Barnard's Star is 5.958 or 5.956 light-years. $\endgroup$
    – notovny
    Jul 14, 2020 at 14:46
  • 2
    $\begingroup$ But the characters will have to take into account the movements of the stars at least a tiny little bit. They may have to aim ahead of the present position of the target star by the angular distance that the star will travel during the duration of the voyage (usually by a tiny fraction of a degree). The faster the FTL drive is the smaller the necessary correction. But if a writer does their work calculating the amount of the correction mentioning how tiny it is might impress the reader with how realistic the story is.. $\endgroup$ Jul 14, 2020 at 15:58
  • $\begingroup$ @M.A.Golding exactly. In the immortal words of Jeff "Joker" Moreau: I just jumped us halfway across the galaxy and hit a target the size of a pinhead, so that's incredible! $\endgroup$ Jul 14, 2020 at 16:12
  • 3
    $\begingroup$ @M.A.Golding It may impress some readers, but stars aren't likely to move unpredictably, so matching velocities is going to be pretty routine and taken care of automatically by the navigation system or a legally competent pilot, akin to not driving through the neighbor's house when you pull out of your driveway. If the plot or characterization going to hinge on this, then explain it. If not... well, it's still up to the writer if they want to spend valuable storyspace on it. $\endgroup$
    – notovny
    Jul 14, 2020 at 17:35
  • 3
    $\begingroup$ @notovny That's only really true for 'close' stars from a travel time perspective. If you're going all the way to Mintaka (δ Orionis) from Sol and it only takes you 12 hours to get there, yeah, it probably doesn't matter, but if it takes you a few years, then the drift is going to be the difference between being in system and out of system on arrival (and that's all assuming you remember to account for the fact that where we see it now is where it was 1200 years ago). $\endgroup$ Jul 15, 2020 at 11:58

You can site your story in a place where you like the star distances.

Our star is in the suburbs of our galaxy. Large lawns. Swimming pools. Renan's answer is good for that.

But there are places more like downtown Hong Kong where star density is much higher. Here is Messier 15 in our galaxy.

Messier 15



M15's center packs approximately 4 million stars per cubic parsec — that's more than 75 million times denser than the region around the Sun. This works out to an average of only 0.013 light-year, or 860 astronomical units (1 AU is the average Earth-Sun distance), between stars. Most galaxies, such as M31 in Andromeda, M33 in Triangulum, and the Milky Way have central densities close to this value — an average separation of 0.013 light-year. But some galaxies pack stars even tighter. M32, one of the Andromeda Galaxy's satellites, has the highest measured stellar density of any nearby galaxy — around 20 million stars per cubic parsec in its core!

For reference it is 39 AU from the Sun to Pluto. Voyager 1 is 141 AU away from Earth.

Hard science non FTL travel speeds pose an issue for Earth based scifi on account of our star neighbors are far away. But if you sited your story (or game) in an area of a galaxy where the stars were packed tight like this it would be much quicker to go from star system to star system.

  • $\begingroup$ But do those star systems have planets, that could support life? $\endgroup$ Jul 14, 2020 at 14:53
  • 7
    $\begingroup$ @slobodan.blazeski there's no reason why thy couldn't have planets and support life. While the other stars are "close" they're not so close that they would interfere with life on one of the planets. $\endgroup$
    – Mathaddict
    Jul 14, 2020 at 17:53
  • 2
    $\begingroup$ @slobodan.blazeski - you are right. stars too close might screw up planet orbits. Grab planets from other stars. Rogue planets. astrobites.org/2017/05/08/…. But planets not impossible. $\endgroup$
    – Willk
    Jul 14, 2020 at 19:03
  • 5
    $\begingroup$ @slobodan.blazeski AFAIK the issue with life in denser areas are the rare big energy events. Stars occasionally go super nova, there are gamma ray bursts, etc. This happens only very rarely but these events can extinguish all life potentially several light years away. If there are lots of stars, the odds that something like this happens increase from once every billion years or so as it is for our sun to once every every couple of million years and that is too short for life to develop. $\endgroup$
    – quarague
    Jul 15, 2020 at 20:12
  • 3
    $\begingroup$ @Mathaddict they're not close at the moment. But I suspect at such densities, the probability that another star will get close enough to fling your planet out of orbit approaches something significant. Could be a challenge for the development of life -- or a plot device for an interstellar civilization. $\endgroup$
    – Phil Frost
    Jul 16, 2020 at 15:58

Using Sol as an example...

The other answers are very precise, both in their information and in their descriptions of the limitations of finding a generalizable answer. If you want specific distances between stars, yes, go with the ever-amazing Wolfram Alpha (link goes to the answer to your specific question).

With all of that in mind, here's a guide to how many stars you could expect to find within given travel distances of our own star. This is obviously just one example, but it can be instructive by giving you a sense for what proportion of stars are withing each distance. These percentages are only counting the 78,805 stars within 1,000 light years. I can update my code (pasted below) if you want to look farther away. Since your question asks about a star pairing that's so close, I'm assuming your story doesn't involve traveling thousands of light years.

0 stars (0%) are located within 0 light years

170 stars (0%) are located within 25 light years

986 stars (1%) are located within 50 light years

2,566 stars (3%) are located within 75 light years

4,060 stars (5%) are located within 100 light years

5,575 stars (7%) are located within 125 light years

7,540 stars (10%) are located within 150 light years

9,745 stars (12%) are located within 175 light years

11,962 stars (15%) are located within 200 light years

14,300 stars (18%) are located within 225 light years

16,778 stars (21%) are located within 250 light years

19,218 stars (24%) are located within 275 light years

21,866 stars (28%) are located within 300 light years

24,570 stars (31%) are located within 325 light years

27,182 stars (34%) are located within 350 light years

29,885 stars (38%) are located within 375 light years

32,560 stars (41%) are located within 400 light years

35,143 stars (45%) are located within 425 light years

37,735 stars (48%) are located within 450 light years

40,223 stars (51%) are located within 475 light years

42,733 stars (54%) are located within 500 light years

45,079 stars (57%) are located within 525 light years

47,418 stars (60%) are located within 550 light years

49,599 stars (63%) are located within 575 light years

51,832 stars (66%) are located within 600 light years

54,011 stars (69%) are located within 625 light years

56,099 stars (71%) are located within 650 light years

58,082 stars (74%) are located within 675 light years

60,033 stars (76%) are located within 700 light years

62,047 stars (79%) are located within 725 light years

63,875 stars (81%) are located within 750 light years

65,644 stars (83%) are located within 775 light years

67,334 stars (85%) are located within 800 light years

68,938 stars (87%) are located within 825 light years

70,579 stars (90%) are located within 850 light years

72,100 stars (91%) are located within 875 light years

73,568 stars (93%) are located within 900 light years

75,022 stars (95%) are located within 925 light years

76,310 stars (97%) are located within 950 light years

77,629 stars (99%) are located within 975 light years

78,805 stars (100%) are located within 1000 light years

# http://www.astronexus.com/hyg

count_stars_within <- function(distance) {
  dta <- star %>%
    filter(dist <= distance)
    distance = distance,
    n = nrow(dta),
    percent = nrow(dta) / nrow(star)

star <- read_csv("http://www.astronexus.com/files/downloads/hygdata_v3.csv.gz") %>% 
  select(id, proper, dist, x, y, z) %>% 
  # Remove missing data
  filter(dist != 100000.0) %>% 
  # Convert distances to light years
  mutate(dist = dist * 3.262) %>% 
  # Only keep stars within 1,000 light years
  filter(dist <= 1000, dist > 0)


map_dfr(seq(from = 0, to = 1000, by = 25), count_stars_within) %>%
  mutate(distance = glue(
    "{comma(n)} stars ({percent(percent)}) are located within {distance} light years"
  )) %>%
  select(distance) %>%
  write.table("clipboard", sep = "\t", row.names = FALSE)
  • 2
    $\begingroup$ Out of curiosity, what language is this? $\endgroup$
    – HDE 226868
    Jul 15, 2020 at 2:22
  • 3
    $\begingroup$ @HDE226868 R language $\endgroup$
    – eps
    Jul 15, 2020 at 5:40

If you're looking to get a feel for the scale, rather than perhaps deal with the exact numbers and trajectories

You might try a simulation, such as Space Engine

With this, you can see the distances involved and what stars are relatively nearer one another.
I think for story-telling purposes this is probably more valuable.

  • 4
    $\begingroup$ Or, if you don't want to have to pay for this type of thing, check out Celestia. $\endgroup$ Jul 15, 2020 at 12:03

Traveller 2300 (roleplaying game)

One of the nice features of this roleplaying game was:

The Near Star Catalog

The Traveller: 2300universe deals with star systems within 50 light years of Earth. Extensive research and analysis has produced the most accurate star map ever made. Never before has such a monumentouts task been undertaken, either in gaming or in science fiction: over 700 stars in over 500 systems, on a 22" x 25" color map. Location, special type, size and magnitude are documented in a separate star catalog.

While I do not have a copy to check, I recall that all of the stars were listed with x, y, z coordinates to allow the distances between each star to be calculated using Pythagoras' Theorem. A quick Google indicates that while the information was the best available in 1986 when the game was published, comments such as this thread cast some doubt on whether some of the details have stood the test of time. So while Renan's answer and others may give more easily used resources, the Traveller 2300 rulebook is a paper-and-pen resource that can be used completely offline. It certainly worked for those of us playing the game back in the late 1980s when we needed to calculate the distances between the origin and destination stars our characters were travelling between, although a calculator did come in handy.


Not the answer you're looking for? Browse other questions tagged .