Astronomy tools · Observing site
Custom horizon file builder.
Paste azimuth and altitude readings in any common layout. Get sorted, de-duplicated, space-separated pairs that wrap around the compass, ready to paste or save, plus a check on whether a target clears your trees.
In the Telescopius forum thread “Request video tutorial on custom horizon scanning and import,” a developer answers the question people keep hitting with four words: “CSV is not supported.” The same reply explains that the first column is Az, the second is Alt, and that “you need to remove the commas for Telescopius.” Readings from a phone app or a notes file almost always arrive with commas and a header. This page cleans them into the shape those programs accept.
Short answer: Paste lines like “90, 70” and the page returns “90 70”: header dropped, commas removed, rows sorted by azimuth, and a closing point added at 360° so the circle wraps. In the worked example, a target at azimuth 100° and altitude 40° is blocked, because the horizon there is 46.7°.
What a horizon file is
It is a list of compass bearings with the height of the skyline at each one. Planning software draws it on the altitude chart and uses it to decide whether a target is really up. The N.I.N.A. documentation describes the format as “a simple style of azimuth altitude pairs,” says gaps between azimuths are interpolated, and says a minimum of two pairs is needed. Its example starts with a comment line, “# Az Alt,” and runs from 0 to 360 degrees, finishing on the same height it started on. Telescopius says to use the same Az and Alt layout as N.I.N.A.
What this page fixes
- A header such as “Az, El,” which the Telescopius developer says caused an invalid-format error when copied from a phone camera tool, is dropped.
- Commas and semicolons become spaces, since Telescopius needs the commas removed.
- Rows are sorted by azimuth. A repeated azimuth keeps the last reading and the page counts how many it replaced.
- If there is no point at 0 or 360 degrees, one is added by interpolating across north, so the circle closes smoothly.
- Altitudes outside 0 to 90 and azimuths outside 0 to 360 are rejected with the line number, not guessed at.
Which way is zero
The N.I.N.A. page does not say where azimuth 0 points or which way it increases. This page assumes the usual compass bearing: north is 0, east is 90, south is 180 and west is 270. Check your own program’s convention before relying on the file, and if it differs, convert your readings before pasting them here.
Taking the readings
Stand where the telescope will sit, point a compass or phone camera at the highest part of the skyline every 5 to 15 degrees of bearing, and write down the altitude. Put extra points where the skyline changes quickly, such as either side of a chimney or a tree. Because gaps are interpolated in a straight line, a rooftop between two readings is rounded off, so the more points the better near obstacles.
Worked example
The sample readings are the numbers from the example horizon file in the N.I.N.A. documentation, retyped with commas and a “Az, El” header, as a phone app might give them, and without the final 360-degree line. The page drops the header, removes the commas, and adds “360 14” because the file starts at 14 degrees at north. That gives 17 pairs. For a target at azimuth 100 degrees and altitude 40 degrees: the readings either side are 90 degrees at 70 degrees and 105 degrees at 35 degrees, so the horizon at 100 is 70 − 35 × (10 ÷ 15) = 46.7 degrees, and the target at 40 degrees is blocked.
Frequently asked questions
What format does Telescopius want for a custom horizon?
Azimuth in the first column and altitude in the second, the same layout as N.I.N.A., with the commas removed. A Telescopius developer states plainly that CSV is not supported.
What format does N.I.N.A. use?
A plain text file of azimuth and altitude pairs. Gaps between azimuths are interpolated and at least two pairs are required. Its documentation example opens with a “# Az Alt” comment line.
Why was my pasted horizon rejected?
The common causes are commas between the numbers and a header line such as “Az, El.” This page removes both. Altitudes above 90 or azimuths above 360 also fail.
Do I need a point at both 0 and 360 degrees?
Not here. If you leave them out, the page adds them by interpolating across north, so the horizon wraps without a jump.
How many points do I need?
Two is the minimum for N.I.N.A., but a useful horizon takes a point every 5 to 15 degrees, with more at obstacles that change quickly.
Which direction is azimuth zero?
This page assumes north is 0 and east is 90. The N.I.N.A. documentation does not state its convention, so check your software before using a file.
Sources and how it is calculated
Retrieved
The output format follows the N.I.N.A. documentation and the Telescopius forum replies. Wrap-around points and the target check use straight-line interpolation between your readings; the azimuth convention (north 0, east 90) is this page’s assumption. Pages were read on 26 October 2026.
- Telescopius forum, “Request video tutorial on custom horizon scanning and import”: “CSV is not supported,” first column Az, second Alt, remove the commas
- Telescopius forum, “Setting custom horizon in Observatory settings”: the “Az, El” header from a phone camera tool and the invalid format error
- N.I.N.A. documentation, Options, General: custom horizon file format, interpolation, two-pair minimum, example file
Runs entirely in your browser. Nothing you type is sent or stored. Not affiliated with any forum, software maker or publisher named on this page.
Check it in your planner
Load the file and compare the drawn horizon with the real skyline before relying on it for a night of imaging. Software versions change what they accept.