On-line artificial satellite identification

Click here for a list of artsats removed from NEOCP.

This is an on-line version of the sat_id program used for identifying artificial satellites found by asteroid observers. Use the form below to find which artsats match the position/motion of objects you've observed.

Suggested quick start: Don't panic! Copy/paste your observations in the large text window below, or click on "Browse" to pick a file containing the astrometry. Then click the "find matching artsats" button. That will probably be all you need.

The output will show each line of astrometry, followed by the object(s) within the specified angular distance and a little information about them. If you supply more than one position (which I strongly recommend), the apparent motion of "your" object will be shown, and will be compared to the motion of the possible matching artsats. In such a case, it'll almost certainly identify your object correctly (without motion data, it'll be essentially guessing; it could be any artsat that happened to be passing by.)

Identifications are done using elements from three different sources. For the Space-Track.org TLEs, I've saved some elements sets over the last few years at roughly monthly intervals, and the most current elements will also be available for contemporary observations. But (a) elements aren't available for every object and (b) even if we have elements for your object, we may not have elements with an epoch close to that of your observations. Bottom line: identification is by no means certain.

Also, the program times out after 15 seconds. That's usually ample, but don't try to feed it too many observations at once.

If you're still not getting things to work, contact me at p‮ôç.ötulpťcéjôřp@otúl‬m (modified to baffle spammers).


Cut/paste observations in the 80-column MPC format and/or ADES format (PSV and/or XML) below. Don't worry about it if some other text is copied in as well; extra text will simply be disregarded.

Or, you can upload a file containing the astrometry.

Find artsats within degrees

Motion tolerance : arcmin/sec

Source code for this can be found on GitHub.

Artsats removed from NEOCP

Pseudo-MPECs for most of these objects are available.

ZTF01wl was not a minor planet (2018 Dec. 11.47 UT) = ZTF01sS = ZTF01sX = ZTF01wl (Empty Trash Bag Object)
A10aElg was not a minor planet (2018 Dec. 11.09 UT) = 2011-037A = SPEKTR-R
ZTF01wS was not a minor planet (2018 Dec. 10.89 UT) = 2007-004G = THEMIS booster
ZX13D7B was not a minor planet (2018 Dec. 10.59 UT) = 2007-004G = THEMIS booster
A10azqL was not a minor planet (2018 Dec. 09.62 UT) = 2018-103B = NORAD 43846 = Chang'e 4 booster 
ZTF01sX was not a minor planet (2018 Dec. 05.98 UT) = ZTF01sS = ZTF01sX = ZTF01wl (Empty Trash Bag Object)
ZTF01sS was not a minor planet (2018 Dec. 05.98 UT) = ZTF01sS = ZTF01sX = ZTF01wl (Empty Trash Bag Object)
A10amie was not a minor planet (2018 Dec. 04.73 UT) = 2013-070B = Chang'e 3 booster
ZTF01rZ was not a minor planet (2018 Dec. 04.07 UT) = unidentified (e=0.822, P=1500m, i=35.5)
ZTF01nf was not a minor planet (2018 Nov. 20.14 UT) = unidentified (e=0.780, P=1378m, i=32.97)
ZTF01nb was not a minor planet (2018 Nov. 20.14 UT) = 1977-093E = NORAD 32705 = Blok SO-L 
ZW0621F was not a minor planet (2018 Nov. 20.14 UT) = 2011-037A = SPEKTR-R
ZTF01nQ was not a minor planet (2018 Nov. 12.94 UT) = unidentified (e=0.62, P=2022m, i=38.4)
ZV2F779 was not a minor planet (2018 Nov. 12.93 UT) = unidentified (e=0.642, P=3160m, i=26.7)
ZTF01ik was not a minor planet (2018 Nov. 12.93 UT) = 2000-041B = NORAD 26411 = Cluster II-FM7
ZTF01gE was not a minor planet (2018 Nov. 12.93 UT) = ZTF00Y9 = ZTF00Yp = ZTF00ah
ZV39AEB was not a minor planet (2018 Nov. 11.69 UT) = 2011-037A = SPEKTR-R
ZTF01aQ was not confirmed (2018 Nov. 11.07 UT) = unidentified (e=0.74, P=1890m, i=29.8)
ZTF01cw was not a minor planet (2018 Nov. 07.07 UT) = ZTF00Y9 = ZTF00Yp = ZTF00ah
ZV29964 was not a minor planet (2018 Nov. 03.67 UT) = 2011-037B = TA29DCF = Spektr-R booster
ZTF01aH was not a minor planet (2018 Nov. 02.66 UT) = 1983-020D = ASTRON booster
ZV29964 was not a minor planet (2018 Nov. 02.48 UT) = 2011-037B = TA29DCF = Spektr-R booster
A109uJh was not a minor planet (2018 Oct. 28.04 UT) = 2013-070B = Chang'e 3 booster
ZTF01ZJ was not a minor planet (2018 Oct. 13.62 UT) = unidentified junk (P=1502m, e=0.767, i=34.1)
JNS021 was not a minor planet (2018 Oct. 10.43 UT) = 2011-037B = TA29DCF = Spektr-R booster
ZT1390D was not a minor planet (2018 Oct. 05.77 UT) = 2011-037A = SPEKTR-R
ZT13429 was not a minor planet (2018 Oct. 05.54 UT) = 9O0DC57 (unidentified,  2.26-day orbit)
A108WQL was not a minor planet (2018 Oct. 03.06 UT) = 1964-040A = NORAD 00836 = Vela 2A
A108QVa was not a minor planet (2018 Sept. 24.69 UT) = 2013-070B = Chang'e 3 booster
ZTF01Xb was not a minor planet (2018 Sept. 22.80 UT) = ZTF00hf = ZTF00YB
ZTF01Vs was not a minor planet (2018 Sept. 22.52 UT) = ZTF00hf = ZTF00YB
M152gWW was not a minor planet (2018 Sept. 20.56 UT) = 2011-037A = SPEKTR-R
M152gWr was not a minor planet (2018 Sept. 19.97 UT) = 2011-037A = SPEKTR-R
M152gWN does not exist (2018 Sept. 19.48 UT) = 2011-037A = SPEKTR-R
M152gWp does not exist (2018 Sept. 19.38 UT) = 2011-037A = SPEKTR-R
ZS0BB63 was not a minor planet (2018 Sept. 18.56 UT) = 2011-037A = SPEKTR-R
ZS09798 was not a minor planet (2018 Sept. 18.50 UT) = 1964-040B = NORAD 00837 = Vela 2B
ZTF00pm was not a minor planet (2018 Sept. 18.44 UT) = ZTF00pm = ZTF01Ls = unidentified
ZTF01Ls was not a minor planet (2018 Sept. 18.44 UT) = ZTF00pm = ZTF01Ls = unidentified
A108DdQ was not a minor planet (2018 Sept. 17.56 UT) = 1999-040B = Chandra X-Ray Observatory (CXO)
A108wqT was not a minor planet (2018 Sept. 15.06 UT) = 9O0DC57 (unidentified,  2.26-day orbit)
ZTF017j was not a minor planet (2018 Sept. 15.06 UT) = unidentified artsat (e=.787, i=17, P=1543m)
ZR002D5 was not a minor planet (2018 Sept. 12.66 UT) = 9O0DC57 (unidentified,  2.26-day orbit)
ZTF00lH was not a minor planet (2018 Sept. 10.97 UT) = unidentified (P=1310m, e=.69, i=16.3)
ZTF00hf was not a minor planet (2018 Sept. 09.62 UT) = ZTF00hf = ZTF00YB
ZTF00ah was not a minor planet (2018 Sept. 09.06 UT) = ZTF00Y9 = ZTF00Yp = ZTF00ah
ZTF00Yp was not a minor planet (2018 Sept. 09.06 UT) = ZTF00Y9 = ZTF00Yp = ZTF00ah
ZTF00Y9 was not a minor planet (2018 Sept. 09.06 UT) = ZTF00Y9 = ZTF00Yp = ZTF00ah
ZTF00YB was not a minor planet (2018 Sept. 02.90 UT) = ZTF00hf = ZTF00YB
ZTF00Y5 was not a minor planet (2018 Sept. 02.89 UT) = ZTF00V9 = ZTF00Vv = ZTF00Y5 = unidentified object 
ZTF00Wo was not a minor planet (2018 Aug. 24.86 UT) = 2018-038A = TESS 
ZTF00Vv was not a minor planet (2018 Aug. 22.60 UT) = ZTF00V9 = ZTF00Vv = ZTF00Y5 = unidentified object 
A1085Up was not a minor planet (2018 Aug. 20.83 UT) = 1992-044A = GEOTAIL
ZTF00V9 was not a minor planet (2018 Aug. 20.63 UT) = ZTF00V9 = ZTF00Vv = ZTF00Y5 = unidentified object 
ZTF00TT was not a minor planet (2018 July 30.96 UT) = 2002-048A = NORAD 27540 = INTEGRAL
ZTF00TQ was not a minor planet (2018 July 27.94 UT) = 1964-054A = NORAD 00879 = OGO 1
ZTF00Sz was not a minor planet (2018 July 22.75 UT) = 2002-048A = NORAD 27540 = INTEGRAL
A107EL8 was not a minor planet (2018 July 17.87 UT) = 1964-054A = NORAD 00879 = OGO 1
JNS014 was not a minor planet (2018 July 10.85 UT) = 2012-003B = NORAD 38071 
A107p2k was not a minor planet (2018 June 24.18 UT) = 1977-093A = Prognoz-6 
A107p2k (sic) was not a minor planet (2018 June 23.88 UT) = 1977-093A = Prognoz-6 
S511443 was not a minor planet (2018 June 22.71 UT) = unidentified object
ZL22D13 was not a minor planet (2018 June 10.62 UT) = 2015-007B = DSCOVR booster
ZL22902 was not a minor planet (2018 June 10.50 UT) = 2007-004G = THEMIS booster
A106ZsZ was not a minor planet (2018 May 22.76 UT) = ZK1AE47 = Queqiao booster = 2018-045D 
A106Zt0 was not a minor planet (2018 May 22.76 UT) = ZK1AE48 = Queqiao = 2018-045A 
ZJ15031 was not a minor planet (2018 May 15.44 UT) =  ZGBD4BF = unknown artsat; Vela hardware? 
A106N61 was not a minor planet (2018 May 10.85 UT) = 2010-050B = Chang'e 2 booster 
ZJ110D0 was not a minor planet (2018 May 09.74 UT) = 2010-050B = Chang'e 2 booster 
A106IND was not a minor planet (2018 Apr. 18.82 UT) = 2007-004G = THEMIS booster 
JNS007 was not a minor planet (2018 Apr. 17.43 UT) = 2012-003B = NORAD 38071 
ZGBD4BF was not a minor planet (2018 Apr. 12.74 UT) =  ZJ15031 = unknown artsat; Vela hardware? 
ZD8FCAE = 2018 DM4 (2018 Mar. 12.73) = unknown artsat  (3.7-day orbit, i=7; probably Vela junk)
ZTF00HU was not a minor planet (2018 Mar. 8.97 UT) = unknown artsat  (1.06-day orbit, i=41;  no idea what it is)
ZTF00HT was not a minor planet (2018 Mar. 7.94 UT) = S510923 (probable SOLRAD-11 hardware)
ZB02596 was not a minor planet (2018 Jan. 20.62 UT) = 1992-044A = GEOTAIL
ZB01E6F was not a minor planet (2018 Jan. 19.65 UT) = 2013-070B = Chang'e 3 booster
A105Vpa was not a minor planet (2018 Jan. 13.11 UT) = 2011-037B = Spektr-R booster
YYBA961 was not a minor planet (2017 Dec. 20.99 UT) = Themis-D = 2007-004D
YX2674E was not a minor planet (2017 Dec. 16.65 UT) = 2007-004D = THEMIS-D 
YX205B9 was not a minor planet (2017 Dec. 9.17 UT) = 2010-050B = Chang'e 2 booster 
YW1DDB6 was not a minor planet (2017 Nov. 28.13 UT) = 1965-058B = Vela 3B 
YW1C24A was not a minor planet (2017 Nov. 27.49 UT) = unknown maneuvering object
YW14A15 was not a minor planet (2017 Nov. 22.48 UT) = 1963-039C = NORAD 00692 = Vela 1B
YW0F709 was not a minor planet (2017 Nov. 16.99 UT) = 2007-004D = Themis-D
A104JWr was not a minor planet (2017 Oct. 31.07 UT) = 2016-031B = S510599
YU04D17 was not a minor planet (2017 Oct. 28.84 UT) = 2011-037A = SPEKTR-R
A104F4L was not a minor planet (2017 Oct. 28.80 UT) = unknown maneuvering object
YU3F416 was not a minor planet (2017 Oct. 26.41 UT) = unknown maneuvering object
YUA31FA was not a minor planet (2017 Oct. 24.42 UT) = unknown maneuvering object
A104shw was not a minor planet (2017 Oct. 12.03 UT) = unknown maneuvering object
YT273BF was not a minor planet (2017 Oct. 11.71 UT) = unknown maneuvering object
YT273BF was not a minor planet (2017 Oct. 11.71 UT) = YS18A5C etc. =
   unknown maneuvering object
A104mHe was not a minor planet (2017 Oct. 4.52 UT) = MMS still in daylight phase
A104mHa was not a minor planet (2017 Oct. 2.70 UT) = MMS still in daylight phase
   The above two were arcminutes apart.  The Multiscale Magnetospheric Satellites
   are a tight cluster of four satellites.
A104lks was not a minor planet (2017 Sept. 30.85 UT) = unknown maneuvering object
A104dMW was not a minor planet (2017 Sept. 27.08 UT) =  2015-007B = DSCOVR booster
A104ayW was not a minor planet (2017 Sept. 26.77 UT) = YS18A5C = YS16534 = A104ayW
         = unknown maneuvering object
YS1D210 was not a minor planet (2017 Sept. 26.50 UT) = 2002-048A = INTEGRAL
YSAE1BF was not a minor planet (2017 Sept. 25.63 UT) = 2002-048A = INTEGRAL
YS16534 was not confirmed (2017 Sept. 24.76 UT),  but was = YS18A5C = A104ayW
         = unknown maneuvering object
A10422t was not a minor planet (2017 Sept. 20.89 UT) = OSIRIS-REx = 2016-055A
YS18A5C was not a minor planet (2017 Sept. 20.48 UT) = YS18A5C = YS16534 = A104ayW
            = A104lks = unknown maneuvering object
A103Plg was not a minor planet (2017 Sept. 12.88 UT) = 2002-048A = INTEGRAL
A103gra was not a minor planet (2017 Aug. 7.73 UT) =  2015-007B = DSCOVR booster
A102PtH was not a minor planet (2017 June 29.94 UT) = 2002-048A = INTEGRAL
YJ8E84E was not a minor planet (2017 May 5.49 UT)2010-050B = Chang'e 2 booster 
A102rYH was not a minor planet (2017 May 4.80 UT) (= Chang'e 2 booster = 2010-050B)
A102mZM was not a minor planet (2017 Apr. 16.10 UT) (= Jovian moon J11 (Carme))
YE86B74 was not a minor planet (2017 Mar. 8.54 UT) (=artsat, q=8,900km, P=1,395m, e=0.79, H=33.3)
DR0144 was not a minor planet (2017 Mar. 3.51 UT) (= DR0143 = 2010-058A - Meridian 3)
YDBE38D was not a minor planet (2017 Feb. 24.73 UT) (=IMP-7 = 06197U = 1972-073A)
YDBCB9B was not a minor planet (2017 Feb. 23.56 UT) (= 2007-004G = Themis booster)
YDB93D4 was not a minor planet (2017 Feb. 22.58 UT) (= unidentified art sat,
    q = 11000km, P=1405m, e=0.732, i=5.5°)
YCB3006 was not a minor planet (2017 Feb. 5.62 UT) (= unidentified art sat,
    q=27,000km, a=82,000km, e=0.67, i= 5°, P=2.7d, H=33)
YCB2EAD was not a minor planet (2017 Feb. 5.62 UT) (=unidentified art sat)
YB98FF0 was not a minor planet (2017 Jan. 26.54 UT) (q=8,500km, Q=84,000km,
     a=46,000km, e=0.816, i=18°, P=1.14d)
YA90431 was not a minor planet (2016 Jan. 9.75 UT) (=2011-037A = SPEKTR-R)
A101CTf was not a minor planet (2016 Jan. 9.75 UT) (=2011-037A = SPEKTR-R)
XY0AC11 was not a minor planet (2016 Dec. 19.19 UT) (= 9O0DC57)
XWA402E was not a minor planet (2016 Nov. 26.55 UT) (= unidentified art sat,
     P=3.6d, i=34°)
XW99CEC was not a minor planet (2016 Nov. 19.60 UT) (= art sat XV902A4)

XV902A4 was not a minor planet (2016 Nov. 11.60 UT) (= XW99CEC, q~17,350km, e~0.791,
     a~82,950km, incl.~18.1, P~2.75d)
XUA93AC was not a minor planet (2016 Oct. 21.56 UT) (=9O0DC57)
XSE131F was not a minor planet (2016 Sept. 25.74 UT) (=9O0DC57)
ARO9271 was not a minor planet (2016 Sept. 24.61 UT) (=IMP-7 = 06197U = 1972-073A)
S510942 was not a minor planet (2016 Sept. 23.00 UT) (P=1458m, i=25.5°, e=.48);
     probably related to 038001s
S510923 was not a minor planet (2016 Sept. 5.07 UT) (P=7702m/5.35d, e=.03, i=38.4°);
     probably SOLRAD 11 hardware
P10wKxy was not a minor planet (2016 Aug. 27.09 UT) (= 2013-070B = NORAD 39459 =
     Chang'e 3 booster)
S510599 was not a minor planet (2016 Aug. 5.55 UT) (= 2016-031B = NORAD 41553:
     P=1947m, e=.87, i=22.2°)
XN9B63A was not a minor planet (2016 July 12.65 UT) (= 1983-020D)
XL8D89E was not a minor planet (2016 June 9.76 UT) (probably = 6Q0B44E, q=802,000km, a=880,000km,
     e=0.088, i=32°, P=95d, H=30.1)
S509590 was not a minor planet (2016 May 29.84 UT) (= 2009-068B = NORAD 36109 =
     WF0AEDA = WGS 3 rk)
S509559 was not a minor planet (2016 May 11.11 UT) (= probable Vela art sat:
     P=6733m/4.68d, e=.45, i=13°)
A100BHx was not a minor planet (2016 May 7.48 UT) (=2011-037A = SPEKTR-R)
S509434 was not a minor planet (2016 Apr. 19.74 UT) (= 2013-041B = NORAD 39224 = WGS 6 Rk)
LM05M27 was not a minor planet (2016 Apr. 11.65 UT)
LM056yj was not a minor planet (2016 Apr. 11.65 UT)
S509356 was not a minor planet (2016 Apr. 8.78 UT) (= WJ2AD07 = 2015-019C = NORAD 41929)
LM057MD was not a minor planet (2016 Mar. 31.83 UT) (= Jupiter satellite J8 (Pasiphae))
LM057QR was not a minor planet (2016 Mar. 31.83 UT) (= Jupiter satellite J9 (Sinope))
XF38FAC was not a minor planet (2016 Mar. 20.63 UT) =  2015-007B = DSCOVR booster
M70pEOH was not a minor planet (2016 Mar. 16.07 UT) (= ExoMars2)
M70pEQ1 was not a minor planet (2016 Mar. 16.07 UT) (= ExoMars2)
M70pGbh was not a minor planet (2016 Mar. 15.60 UT) (= ExoMars1)
M70pF8A was not a minor planet (2016 Mar. 15.60 UT) (= ExoMars1)
M70pEPX was not a minor planet (2016 Mar. 15.60 UT) (= ExoMars1)
XE9C2B4 was not a minor planet (2016 Mar. 3.54 UT) (artificial satellite,
     q=15,000km, e=0.696, a= 49,300km, P=1.26d, H=35)
XE2BED3 was not a minor planet (2016 Mar. 1.72 UT)
XC23519 was not a minor planet (2016 Feb. 14.24 UT) = 2007-004A = Themis-A
XC83E0D was not a minor planet (2016 Feb. 8.80 UT) (= 1976-023C = SOLRAD 11A = NORAD 08748 =
     WB31C9F)
XC1CF5F was not a minor planet (2016 Feb. 7.60 UT) = 2007-004D = Themis-D
XB17DFE was not a minor planet (2016 Jan. 31.58 UT) (but possibly could have
     actually been a minor planet)
XB134E9 was not a minor planet (2016 Jan. 21.63 UT) = 1965-058A = Vela 3a
XB134E9 was not a minor planet (2016 Jan. 21.50 UT) = 1965-058A = Vela 3a
XA0D00E was not a minor planet (2016 Jan. 12.66 UT)
     (= 32705 = 1977-093E = SL-6 R/B(2))
XA0BC12 was not a minor planet (2016 Jan. 12.64 UT) = 1965-058A = Vela 3a