Login Register

Preparing an table for upload to SpeciesHub

Updated 9 September 2026 4 min read
This guide shows you how to format a Microsoft Excel spreadsheet (.xlsx) for smooth and efficient upload to SpeciesHub. Following these steps keeps your data organised correctly and minimises errors during import.

File Format and Data Sheet

SpeciesHub accepts the .xlsx file format (.xls also works), up to 2 MB. All observations must be in a sheet named exactly "data" — do not rename it. Any other sheets in the workbook, including the instructions and field lists in our template, are ignored by the importer.

You can either format your own spreadsheet to match the rules below, or simply copy your observations into our template (download the template). The template contains the ready-made "data" sheet, full instructions, and the complete list of optional fields.


Column Names

Row 1 of the "data" sheet holds the column names. Do not rename, translate or reorder them. These names are field identifiers inside SpeciesHub, not display labels, and altering them will prevent a successful import. Columns you do not need can simply be deleted.

One row = one observation of one species, at one place, on one date. Leave a cell empty when you have no value — do not write "-", "n/a" or "0" to mean "no data".


Coordinate System

All location data (x and y) must be in the WGS84 coordinate system, as decimal degrees, using a dot as the decimal separator. This is the standard coordinate system used by SpeciesHub for geospatial analysis. Degrees-minutes-seconds and projected coordinates such as LKS94 (EPSG:3346) are not accepted in the x and y columns — convert them first. You may keep your original values alongside, in the optional other_x, other_y and other_xy_name fields.


Mandatory Fields

Every species observation needs these five fields:

  • species: The scientific name of the species observed, genus + species (e.g., Ciconia nigra). Do not add the author or year. A name SpeciesHub cannot resolve means the row is rejected.
  • x: Longitude of the observation in WGS84 decimal degrees (e.g., 24.0819903).
  • y: Latitude of the observation in WGS84 decimal degrees (e.g., 55.5532194). In Lithuania x is roughly 21–27 and y roughly 53–57 — if your numbers look swapped, they probably are.
  • date: The date of the observation in YYYY-MM-DD format (e.g., 2026-04-22). This is currently the only format SpeciesHub supports. Format the column as Text before typing, otherwise Excel silently converts it to its own date format and the import fails.
  • author: Your name, or the name of the person who made the observation (e.g., John Smith). One name per row.

Optional Fields

Two optional columns are part of the basic template:

  • accuracy: The accuracy radius of your location data in metres, as a whole number. If left empty, SpeciesHub records a default value of 7 metres.
  • notes: Any additional details or comments about the observation.

Additional Data

A separate sheet named "optional data fields" is included in the template. It lists every field SpeciesHub can import — over a hundred of them, covering abundance, habitat, tree condition, bird ringing data and nest records — with the exact column name to use, its data type, and the values accepted. To use one, copy its column name into an empty cell in row 1 of your "data" sheet and fill the column.

  • List fields accept only the values shown in the "Allowed values" column, spelled and capitalised exactly, including any code prefix (e.g., "NY Nest with Young", not "nest with young"). Anything else is stored as empty.
  • Two lists are too long to print beside their field — eunis_all_levels and locality_country. Their complete values are on the template's "list values" sheet.
  • Number fields take digits only: no units, no ranges such as "10-15", no "~". Use a dot for decimals.
  • If the field you need does not exist, write to support@specieshub.io and we will consider adding it.

Before You Upload
  • The example row and any leftover test rows are deleted.
  • Column names in row 1 are unchanged.
  • x and y are decimal degrees with a dot, and are not swapped.
  • The date column reads 2026-04-22 — not 22/04/2026, and not 45123.
  • No merged cells, no meaning carried by cell colour, no totals row at the bottom.
  • List values match the "Allowed values" column character for character.
  • The file is .xlsx and under 2 MB.

Preparing Your Table with an AI Assistant

If your data already sits in a spreadsheet with its own column names, you do not have to rearrange it by hand. Open Claude, ChatGPT or any assistant that can read files, attach both your own file and the SpeciesHub template, and paste the ready-made prompt from the template's "prepare with AI" sheet. It tells the assistant which column names are valid, how to convert coordinates and dates, and to report anything it could not map instead of guessing. Always check the result against your original before uploading — it is your data.


Next Steps

Once your data is ready, go to the Upload page to submit it. For a step-by-step walkthrough of the upload screen, see our support article "How to Upload a Dataset."


Note: For an additional fee, we can prepare and import your data for you. If you are interested, contact us at support@specieshub.io with a sample of your file.
Still stuck? Write to support@specieshub.io and we answer within one working day. Write to support