Open Source GIS · 2026

What Is GeoServer? How to Publish Spatial Data With OGC Standards

GeoServer turns your maps and spatial files into open web services that any GIS tool can read. This guide shows how it works, what it supports and how to run it well.

GeoServer is a free, open source map server written in Java. It takes spatial data from PostGIS, shapefiles, GeoPackage and GeoTIFF and shares it as OGC web services. So maps go out through WMS and WMTS, features through WFS and rasters through WCS. As a result, any web, desktop or mobile GIS client can use the same data.

Key Takeaways
  • GeoServer is a free Java server that shares and edits map data through open OGC standards.
  • It is the OGC reference for WFS and WCS, and it also offers WMS, WMTS and, as an add-on, WPS.
  • It reads PostGIS, shapefile, GeoPackage and GeoTIFF, and it can also read Oracle and SQL Server with extra drivers.
  • Before go-live, change default passwords, set request limits, cache tiles and use read-only database accounts.
  • GeoServer fits teams that want open standards with no licence fee, while MapServer and ArcGIS Enterprise suit other needs.

What Is GeoServer and What Does It Do?

GeoServer is an open source map server that shares spatial data as standard web services. According to the official GeoServer overview, it runs on Java. It also lets users share and edit map data from any major source through open standards.

In practice, GeoServer sits between your data and your users. For example, your data might live in a PostGIS database, a folder of shapefiles or a set of satellite images. GeoServer reads that data and applies a style. Then it answers requests from web maps, desktop tools such as QGIS and mobile apps. Because each request follows Open Geospatial Consortium (OGC) rules, the client never needs to know where the data lives.

How GeoServer Publishes Spatial Data: Connect data stores, Apply SLD styles, Cache tiles, Serve OGC services. RedPlanet Solutions diagram.
How GeoServer Publishes Spatial Data: Connect data stores > Apply SLD styles > Cache tiles > Serve OGC services.

The project also has a long track record. The Open Planning Project, a New York non-profit, started GeoServer in 2001. In addition, people from the GeoServer team founded GeoTools, the Java toolkit that still reads much of its data. Today the code sits on GitHub under the GPL, so you pay no licence fee for the server itself.

2001
The year GeoServer first started.
2
OGC standards where it is the reference, WFS and WCS.
4
Style formats: SLD, then CSS, YSLD and MBStyle as add-ons.

Which OGC Standards Does GeoServer Support?

GeoServer supports the main OGC web services: WMS, WFS, WCS and WMTS, and it also offers WPS as an add-on. In addition, it is the reference build for WFS and WCS. So the OGC uses it to show how those standards should work.

Each standard answers a different need. For example, a web map needs a picture of the network, so it calls WMS. However, an analyst who wants to query or edit pipe data needs the real features, so they call WFS. The table below shows what each service sends back.

StandardWhat it sends backStatus in GeoServer
WMS, Web Map Service.Map images.Built in and certified.
WFS, Web Feature Service.Features with their data.Built in, and also the reference.
WCS, Web Coverage Service.Raster values.Built in, and also the reference.
WMTS, Web Map Tile Service.Map tiles.Built in through GeoWebCache.
WPS, Web Processing Service.Process results.An add-on, so install it first.

GeoServer also offers OGC API Features, the newer web-style successor to WFS. As a result, one catalogue can serve older GIS clients and modern web developers. However, WPS needs its own limits, because one heavy process can use a lot of memory.

Flow diagram: PostGIS, shapefile, GeoPackage, GeoTIFF, Oracle and SQL Server data feed GeoServer, which publishes WMS, WMTS, WFS, WCS and OGC API Features to QGIS, web maps, mobile apps and ArcGIS.
GeoServer reads one master copy of each dataset and publishes it as open OGC services that any GIS client can use.

Which Data Sources Can GeoServer Publish?

GeoServer publishes vector data from databases and files, and it also serves raster data from image files. The most common pair is GeoServer with PostGIS, because the database runs the queries while GeoServer runs the web services.

PostGIS.

This is the usual choice for large vector datasets, because tables stay indexed and GeoServer passes filters to SQL.

1

Shapefile.

It is easy to publish from a folder, but it suits small, stable data better than live editing by many users.

2

GeoPackage.

This single-file OGC format works well, since GeoServer can use it as both a vector and a raster store.

3

GeoTIFF.

This is the standard raster input for imagery and height models, so you can serve it through WMS or WCS.

4

Oracle and SQL Server.

Both work for teams with existing databases, but each needs an extra driver first.

5

Still, data quality matters more than the store type. For instance, a utility moving records out of an old system should clean shapes and fields first. Our GIS data migration team often loads clean data into PostGIS with FME, and then GeoServer publishes it.

One simple rule follows from this. Keep one master copy of each dataset and let GeoServer read it directly. Otherwise copies drift apart, and then users see different answers in different portals.

How Do Styling and Tile Caching Work in GeoServer?

GeoServer styles layers with SLD by default. In addition, its tile cache, GeoWebCache, stores drawn tiles so repeat requests return fast. Together they control how maps look and how fast they load.

Styling with SLD and CSS

Styled Layer Descriptor (SLD) is an XML format for colours, symbols, labels and scale rules. It is precise but long. So GeoServer also offers CSS, YSLD and MBStyle add-ons, which say the same thing in fewer lines. Many teams write styles in CSS, because the files are easier to read and review.

Tiling with GeoWebCache

GeoWebCache ships inside GeoServer. It sits between the map client and the map server and saves tiles as users ask for them. As a result, the server does not redraw the same area for every user. The built-in version also sets up each layer in the two most common map grids.

  • WMTS: this is the standard OGC tile service, so modern web clients can use it.
  • TMS: this simpler tile scheme also works with many JavaScript map libraries.
  • WMS-C: this serves cached WMS tiles at /gwc/service/wms for older clients.
  • Direct link: this is off by default, but once you switch it on, WMS calls with TILED=TRUE come from the cache.

Tile caching suits stable layers such as basemaps, boundaries and imagery. By contrast, if a layer changes every few minutes, such as an outage area, live WMS usually works better.

How Do You Publish Spatial Data With GeoServer, Step by Step?

Publishing a layer in GeoServer follows a fixed order: workspace, store, layer, style and then tests. You can do each step in the web admin pages, or you can script it through the REST API.

Step 1

First, create a workspace.

Group related layers, for example one workspace per team or network type. Workspaces also set security limits and their own service addresses.

Step 2

Next, add a data store.

Connect to PostGIS, a GeoPackage, a shapefile folder or a GeoTIFF. Also use a read-only database account unless users must edit data.

Step 3

Then publish the layer.

Pick a table or file, check the map projection and work out the extent. If the projection is wrong, the map will often look empty.

Step 4

Next, apply a style.

Attach an SLD or CSS style with scale rules and labels. Then check the result in the Layer Preview page.

Step 5

Then set up caching.

Turn on tile caching for stable layers and choose your grids. Then fill busy areas in advance, or let the cache fill as users browse.

Step 6

Next, test from real clients.

Load the WMS, WFS or WMTS address in QGIS, a web map and a mobile app. Also check feature counts and response times.

Step 7

Finally, automate and record.

Script repeat tasks with the REST API, since it can manage workspaces, stores, layers, styles and caching. Then record every service address for client teams.

For one layer, these steps take minutes. However, a catalogue with hundreds of layers needs scripts, naming rules and version control for styles. That is often where GIS software development work starts.

Need a GeoServer catalogue built, styled and scripted for production use?

Talk To Our Consultants →

How Should You Secure and Deploy GeoServer in Production?

A live GeoServer needs new default passwords, request limits, production logging and tight data access. The GeoServer production guide lists these settings. If teams skip them, servers often end up slow or exposed.

Security also works at several levels. First, users, groups and roles control who signs in. Next, layer rules grant read, write or admin rights per workspace and layer. Finally, service rules can block tasks such as WFS edits. But if one user holds several roles, the least strict right wins, so plan roles with care.

GeoServer go-live checklist

Run these checks before any GeoServer server faces real users.

Security
First, change the default admin password and the master password.
Also use read-only database accounts for data stores.
Set WFS to Basic if nobody needs to edit data.
Keep the default security headers, and also set the Secure cookie flag on HTTPS.
Performance
Cap the features each WFS GetFeature call can return.
Also set WMS limits, plus WPS memory and time limits.
Then add the control flow module so busy periods stay under control.
Turn on tile caching for stable, busy layers.
Operations
Switch to the PRODUCTION logging profile.
Set the proxy base URL if a reverse proxy sits in front.
Then remove demo layers and add contact details.
Give each cluster node its own log folder.

For high uptime, a common pattern runs several GeoServer nodes behind a load balancer. In this setup, all nodes share one data folder. This works well if settings rarely change. However, GeoServer reads its settings at start-up, so each node needs a reload after changes. GeoWebCache also needs extra setup in a cluster.

In our experience, most GeoServer problems are not software faults. Instead, they come from default settings that nobody changed before go-live.
RedPlanet Solutions

Where Do Utilities and Government Agencies Use GeoServer?

Utilities and government agencies use GeoServer to share one master dataset with many systems through open standards. It often works as the publishing layer beside a core GIS, rather than in place of it.

  • Electric and water networks: teams publish asset layers to field apps and outage portals, often as part of a wider electric utility GIS programme.
  • Sharing between agencies: boundaries, land parcels and planning layers go out as WMS and WFS, so other teams use them without file transfers.
  • Smart city portals: imagery and asset layers feed public and internal dashboards in smart city GIS projects.
  • Mixed estates: an open source stack serves data to teams that also use Esri ArcGIS or other tools.

In Malaysia, the public sector already shares map data through MyGDI, the Malaysia Geospatial Data Infrastructure. It supports GIS work at federal, state and local levels. So open web services fit this model well, because each agency can publish once while others read the data in their own tools.

Honest Fit Check

GeoServer publishes data, but it does not model utility networks or manage work orders on its own. So if you need network tracing or design tools, pair it with a network GIS and use GeoServer as the open publishing layer.

How Does GeoServer Compare With MapServer and ArcGIS Enterprise?

GeoServer, MapServer and ArcGIS Enterprise all publish OGC services. However, they differ in language, setup style and licence. So the right choice depends on your skills, your platform and your support model.

FactorGeoServerMapServerArcGIS Enterprise
Licence.Open source, GPL.Open source, OSGeo.Paid Esri licence.
Built in.Java.C.The Esri platform.
Setup.Web admin and REST API.Text mapfiles.ArcGIS Pro and portal admin.
OGC services.Plus WCS, WMTS and OGC API Features.Adds WCS and SOS.Also WMTS, WCS and WPS.
Best fit.Open standards with no licence fee.Fast drawing from text files.Teams already on Esri.

All three serve WMS and WFS, so the table lists only the extra services. In addition, GeoServer offers WPS as an add-on, and ArcGIS Enterprise also offers OGC API Features.

Matching Your Situation to the Right Approach
Your situation

You want an open source server that analysts can run in a browser.

→
Best fit

GeoServer.

Your situation

Your team likes text config files and lean C-based drawing.

→
Best fit

MapServer.

Your situation

Your GIS, skills and licences already run on Esri.

→
Best fit

ArcGIS Enterprise.

Your situation

You run Esri inside but must share data openly with partners.

→
Best fit

ArcGIS Enterprise, plus GeoServer for open sharing.

These tools also work side by side. For example, many teams keep a paid core GIS and then add GeoServer to share some layers with partners. Therefore the real question is often which layers each server should publish.

What Mistakes Should Teams Avoid With GeoServer?

Most GeoServer issues come from setup, not code. In fact, the five mistakes below cause most slow maps, empty layers and security gaps.

1

Leaving default passwords.

Change the admin and master passwords before go-live. Otherwise anyone who knows the defaults can change the server.

2

No request limits.

If there is no cap on WFS features or WPS memory, one large request can slow the server for every user.

3

Wrong map projections.

If a layer has the wrong projection, it shows up empty or in the wrong place. So check the projection of every layer.

4

Caching fast-changing layers.

Tile caches suit stable data. But if a layer changes hourly, users see old tiles unless you clear the cache.

5

Manual setup at scale.

Clicking through hundreds of layers leads to messy names and styles. Instead, use the REST API and keep styles in version control.

Each of these is cheap to fix early but costly to fix later. So build the checks into your release process rather than relying on memory.

Frequently Asked Questions

What is GeoServer used for?

GeoServer shares spatial data as standard web services. First, you connect it to a database such as PostGIS or to files such as shapefiles and GeoTIFFs. Then it shares maps, features and rasters through WMS, WFS, WCS and WMTS. As a result, web maps, desktop GIS and mobile apps can all read the same data without custom links.

Is GeoServer free to use?

Yes. GeoServer is open source software under the GPL licence, so there is no fee for the server itself. However, teams still need a budget for hosting, setup, security work, data preparation and ongoing support. In many GIS projects, these costs are larger than the software cost would have been.

What is the difference between WMS and WFS in GeoServer?

WMS returns map images, so the client sees a picture of the data. WFS returns the real vector features with their fields, so the client can query, study or download them. Also, if you turn on WFS editing, approved users can change features. So use WMS for display and WFS when you need the data itself.

Does GeoServer work with PostGIS?

Yes. In fact, PostGIS is one of the most common GeoServer data stores. The database runs spatial indexes and queries, while GeoServer handles styles and web services. For live use, connect with a read-only database account unless users must edit data. Also make sure large tables have spatial indexes.

Does GeoServer support WMTS and tile caching?

Yes. GeoServer includes GeoWebCache, which caches tiles and offers WMTS, TMS and cached WMS addresses. It suits stable layers such as basemaps and boundaries. You can fill tiles in advance, or you can let the cache fill as users browse. Also, disk quotas can cap how large the cache grows.

Can GeoServer work alongside ArcGIS?

Yes. Many teams keep ArcGIS as their core GIS and then use GeoServer to share some layers through open standards. Because both support OGC services, clients can read data from either one. So the two often run side by side, and our GeoServer team designs these mixed setups.

Is GeoServer the Right Map Server for Your Organisation?

GeoServer is a strong choice if you need to publish spatial data through open OGC standards with no licence fee. It reads PostGIS, files and imagery, and then serves WMS, WFS, WCS and WMTS. It also gives admins a browser interface plus a REST API. However, it rewards careful setup: safe defaults, request limits, caching and clean source data.

If you plan a new publishing layer, start with a short review of your data, users and current GIS. Our GeoServer consulting and development team can then design, deploy and support it beside your current tools. You can also get in touch to talk through a specific use case.

Plan a Secure, Standards-Based GeoServer Deployment

RedPlanet Solutions designs, sets up and supports GeoServer for utilities, government agencies and firms across Malaysia and the region. Tell us about your data and users, and then we will outline a practical publishing plan.

Talk To Our GIS Consultants
PK Senthilkumar
PK Senthilkumar
Chief Executive Officer, RedPlanet Solutions

PK Senthilkumar is CEO of RedPlanet Solutions. His work focuses on GIS consulting, network-based GIS for utilities, enterprise GIS modernisation and practical spatial decision-making for organisations operating across Malaysia, India, Australia and international markets.

About RedPlanet Solutions

RedPlanet Solutions (M) Sdn Bhd is a Malaysia-based GIS consulting and geospatial services company and part of RedPlanet Berhad. The company delivers GIS for electric utilities, spatial data collection, drone surveying, mobile mapping and GIS software development to utilities, government agencies, smart cities and private sector organisations across Southeast Asia, the Middle East, Australia and beyond. RedPlanet works across leading commercial and open-source GIS ecosystems, including GE Vernova Smallworld, Esri, Hexagon, SuperMap, QGIS, GeoServer and FME.