Skip to content

Supported file formats

Swyvl supports all common spatial and media formats used in surveying and drone operations. Files are classified automatically on upload — no configuration needed.

Point clouds

FormatExtensionNotes
LAS.lasIndustry-standard lidar format, all versions
Compressed LAS.lazLossless compressed LAS — recommended for large scans
E57.e57Common scan format (FARO, Leica, Z+F)
PLY.plyPolygon file format — meshes and point clouds
PTX.ptxLeica/FARO scanner exchange format
PTS.ptsASCII point cloud format
XYZ.xyzSimple text-based point cloud (X Y Z per line)

Open in the point cloud viewer with orbit, pan, zoom, and measurement tools. Billions of points are supported — detail streams in as you move around.

3D models

FormatExtensionNotes
GLB.glbBinary glTF — preferred for web delivery (textures embedded)
glTF.gltfText-based glTF with separate texture files
OBJ.objWavefront OBJ — upload directly, no conversion required
FBX.fbxAutodesk FBX — upload directly, no conversion required
STEP.stp, .stepISO 10303 CAD exchange — automatically converted to GLB for viewing
IGES.igs, .igesInitial Graphics Exchange — automatically converted to GLB for viewing

Open in the 3D model viewer with full orbit, pan, and zoom. STEP and IGES files are converted to GLB on upload so they’re viewable in the browser.

BIM models

FormatExtensionNotes
IFC.ifcIndustry Foundation Classes — BIM models from Revit, ArchiCAD, etc.

Open in the BIM viewer with model tree, section planes, and measurement tools.

CAD drawings

FormatExtensionNotes
DXF.dxfAutoCAD exchange format — as-built surveys, site plans, cadastral drawings

Open in the CAD viewer — renders lines, arcs, polylines, circles, and text with layer support.

Geospatial vector

FormatExtensionNotes
GeoJSON.geojsonStandard web GIS format — any geometry type
Shapefile.shpESRI vector format — upload as a ZIP containing .shp, .dbf, .prj, .shx
GPX.gpxGPS track logs — drone flights, traverse surveys, control points
GPS Sidecar (SRT).srtDJI GPS subtitle — pairs with video by filename; hidden after linking
Flight Log (CSV).csvDJI/Litchi GPS telemetry — geolocates photos in the same collection
CZML.czmlCesium animation format — time-dynamic 3D data
CSV.csvTabular data with coordinate columns — auto-detected and converted to GeoJSON
GeoPackage.gpkgOGC standard for vector/raster GIS data — converted to GeoJSON for viewing
MBTiles.mbtilesTiled map data — converted to PMTiles for cloud-native serving

GeoJSON, SHP, and GPX open in the 2D map viewer. CZML opens in the 3D globe. CSV point data opens in the large point dataset viewer for performance.

Geospatial 3D

FormatExtensionNotes
KMZ.kmzKeyhole Markup (zipped) — common from DJI, survey software
KML.kmlKeyhole Markup — vectors, paths, overlays
GeoTIFF.tif, .tiffGeoreferenced raster — orthomosaics, elevation models

KMZ and KML open on a 3D globe. GeoTIFF opens on a 2D map as an overlaid layer — large orthomosaics stream tile-by-tile.

ZIP archives

Swyvl automatically inspects ZIP files on upload and handles them in one of four ways depending on their contents.

3D Tiles

FormatExtensionNotes
3D Tiles.zipZIP archive containing a top-level JSON + tile data

Upload your 3D Tiles directory as a ZIP file. Swyvl extracts it automatically and loads it on the 3D globe.

How to upload 3D Tiles:

  1. Locate your 3D Tiles output directory (from Cesium Ion, Pix4D, Metashape, etc.)
  2. The directory should contain a top-level tileset.json and tile data files
  3. Compress the directory as a .zip — the JSON file should be at the root or one folder deep
  4. Upload the ZIP file like any other file

Photogrammetry meshes, instanced models, point cloud tiles, composite tilesets, native glTF, and Gaussian Splat tiles are all supported.

Archive limits: 2 GB compressed, 2 GB extracted, 50,000 files max

glTF model packages

ZIP archives containing a .gltf file and companion textures are automatically extracted and loaded in the 3D model viewer.

Archive limits: 500 MB compressed, 500 files max

Shapefiles

ZIP archives containing a .shp file are automatically extracted. Include the companion files (.dbf, .prj, .shx, .cpg) in the same ZIP.

Archive limits: 500 MB compressed, 100 files max

Delivery packages (any other ZIP)

Any ZIP containing supported spatial files that isn’t a 3D Tiles, glTF, or shapefile dataset is treated as a delivery package — each file is extracted as an individual resource in the same collection, with its own viewer, thumbnail, and metadata extraction.

Supported file types inside a delivery package:

CategoryExtensions
Images.jpg, .jpeg, .png, .webp
Video.mp4, .mov, .avi, .webm
GPS sidecar.srt
Point cloud.las, .laz, .e57, .ply, .ptx, .pts, .xyz
GeoTIFF.tif, .tiff
Gaussian splat.splat, .ksplat, .spz
PDF.pdf
CAD / BIM.dxf, .dwg, .ifc, .stp, .step, .igs, .iges
3D model.glb, .fbx, .obj
Geospatial vector.geojson, .gpx, .kml, .kmz, .gpkg, .mbtiles, .csv

Archive limits: 500 files max, 50 GB total extracted size

Keeping a ZIP as a file

Uncheck Extract ZIP contents as individual files in the upload modal to keep any ZIP as a single downloadable file, regardless of its contents.

Gaussian splats

FormatExtensionNotes
PLY (Gaussian splat).plyPLY files with Gaussian splat data — auto-detected from header
Splat.splatRaw Gaussian splat capture
KSplat.ksplatCompressed Gaussian splat (KSplat format)
SPZ.spzNiantic SPZ compressed format — opens in the Spark viewer (supports v1, v2, and v3)
SPLZ.splzCompressed splat ZIP format

Viewed in the Gaussian splat viewer — photorealistic real-time 3D renders from structure-from-motion captures. Full orbit, pan, and zoom. SPZ files open in the Spark viewer, which decodes every SPZ version (including v3).

Whatever the format, splats are labelled 3DGS in the file list (so a splat PLY isn’t confused with a point-cloud PLY). Large PLY/SPLAT/KSPLAT scenes also render progressively — a coarse version appears quickly and sharpens as the file streams in.

360° panoramas

FormatExtensionNotes
Equirectangular image.jpg, .jpeg, .png360° still from Ricoh Theta, Insta360, GoPro Max, or similar
Equirectangular video.mp4, .mov360° video from 360° cameras

Swyvl detects equirectangular files from known 360° cameras automatically and opens them in the 360° viewer — click and drag to look around. If GPS metadata is present, a minimap overlay is shown.

How 360° detection works

Swyvl automatically identifies 360° content using:

  • XMP / spherical metadata — photos tagged ProjectionType=equirectangular, and videos carrying spherical (equirectangular) projection metadata, are detected as 360°. This is the authoritative signal that 360° cameras (Ricoh Theta, Insta360, GoPro Max) embed.
  • Camera detection — Ricoh Theta (filename pattern / EXIF) and Insta360 cameras (EXIF camera make Insta360 / Arashi Vision, combined with a 2:1 equirectangular frame) are recognised automatically — handy for 360° stills that don’t carry the XMP tag above.
  • Filename — files whose name contains “360”, “pano”, “equirectangular”, or “spherical”.

Aspect ratio alone is not used to detect 360° — a flat stitched panorama or an 18:9 video is also 2:1, and opening flat content in the 360° viewer looks distorted. If a genuine 360° file lacks the metadata above, you can switch it to the 360° viewer manually.

Drone video with GPS

FormatExtensionNotes
MP4.mp4Drone video — H.264 recommended
MOV.movQuickTime drone video
SRT (sidecar).srtDJI GPS subtitle file — contains GPS coordinates per second
GPX (sidecar).gpxGPS track file — can be paired with any video or photo set

DJI drone video with SRT files

DJI drones record a .srt subtitle file alongside each .mp4 video. The SRT file contains GPS coordinates, altitude, and other flight data logged once per second.

To upload DJI drone video with GPS:

  1. Upload both the .mp4 and .srt files together in the same batch (drag and drop both files at once)
  2. Swyvl automatically detects the SRT as a GPS sidecar and pairs it with the matching video by filename
  3. The video opens in the multi-panel viewer — a split-screen showing the video on one side and a live GPS map on the other
  4. As the video plays, the map marker follows the drone’s flight path in real time

GPS track from photos

You can also pair a .gpx file with a set of geotagged photos:

  1. Export a GPX track from your GPS device, drone controller, or flight logging app
  2. Upload the GPX file alongside your photos in the same batch
  3. Swyvl pairs the GPX with the primary files and extracts the GPS track
  4. Swyvl interpolates a position along the track for every photo that has a capture time but no GPS of its own, and shows each on the map. The photo-to-track time offset — including daylight saving — is worked out automatically from the photo and track, so there’s no timezone to set.

Media

FormatExtensionNotes
JPEG.jpg, .jpegPhotos, site images, drone stills
PNG.pngScreenshots, annotated images
WebP.webpModern compressed images
MP4.mp4Drone video — H.264 recommended
MOV.movQuickTime video
AVI.aviAVI video
WebM.webmWeb-native video
PDF.pdfSurvey reports, plans, specifications

File size limits

Swyvl supports files up to 100 GB. Large uploads keep going even if your connection drops — Swyvl resumes from where it left off when you’re back online. Very large files (orthomosaics, dense point clouds, long 4K video) may take a few extra minutes to process after the upload finishes.

Unsupported formats

Files in unsupported formats can still be uploaded and downloaded — they just won’t have an in-browser viewer. They appear with a generic file icon and a download button.

Raw photo files (.dng, .cr2, .cr3, .nef, .arw, .rw2, .orf, .raf, and similar) are download-only — Swyvl stores and shares them but does not generate a thumbnail or open them in a viewer. For an in-browser preview, export a JPEG alongside the raw file (most cameras and 360° apps can shoot RAW+JPEG, or you can export from Lightroom) and upload both; the JPEG previews and the raw travels with it as a downloadable original.

If you need a format that isn’t supported, contact support — we add new formats regularly.

Want a walkthrough? Book a 30-min demo with Alex →