diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java
index 9d88e3cfa083f37dae1b03ff0ffc6c271e2a248e..8cb6efced68d8ec5f1a38afbd4651ae89d367a70 100644
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java
@@ -22,6 +22,7 @@ import gov.usgs.earthquake.nshmp.www.ResponseBody;
 
 import io.micronaut.http.HttpRequest;
 import io.micronaut.http.HttpResponse;
+import io.micronaut.http.MediaType;
 
 /**
  * Abstract service handler for {@code NetcdfController}.
@@ -89,7 +90,14 @@ public abstract class NetcdfService<S, T extends Query> {
       var service = getService(query);
       var response = processRequest(httpRequest, query, service);
       LOGGER.fine("Result:\n" + response);
-      return HttpResponse.ok(response);
+
+      var httpResponse = HttpResponse.ok(response);
+
+      if (query.format == ResponseFormat.CSV) {
+        httpResponse.header("Content-Type", MediaType.TEXT_CSV.toString());
+      }
+
+      return httpResponse;
     } catch (Exception e) {
       var url = httpRequest.getUri().toString();
       return NetcdfWsUtils.handleError(e, getServiceName(), url);