OGC 1.1.1 / 1.3.0 / 2.0.0 Compliant

Web Map Service (WMS) Reference

GeoServer implements the full OGC Web Map Service specification to render and deliver geospatial data as image tiles. Supports multiple raster formats, styling languages, and real-time parameterized queries.

Service Overview

Core capabilities and endpoint structure for integrating GeoServer WMS into your applications.

GetCapabilities GET

Returns an XML document describing available layers, supported CRS, formats, and service metadata.

GetMap GET/POST

Generates map images for requested layers within a specified bounding box and coordinate reference system.

GetFeatureInfo GET/POST

Retrieves attribute data for features located at specified pixel or map coordinates.

n

Standard Parameters

Required and optional request parameters for WMS operations.

Parameter Status Description
SERVICE
String
Required Must be set to WMS
REQUEST
String
Required Operation type: GetCapabilities, GetMap, or GetFeatureInfo
LAYERS
Comma-separated list
Required One or more workspace:layer names to render
STYLES
Comma-separated list
Optional Named styles or empty string for default
CRS / SRS
EPSG code
Required Coordinate reference system (e.g., EPSG:4326, EPSG:3857)
BBOX
Number,Number,Number,Number
Required Bounding box: minx,miny,maxx,maxy in requested CRS
WIDTH / HEIGHT
Integer
Required Image dimensions in pixels
FORMAT
String
Required Output format: image/png, image/jpeg, image/png8, application/gml+xml
TRANSPARENT
Boolean
Optional Set to true for PNG transparency support
INFO_FORMAT
String
Optional Feature info format: text/html, application/json, text/xml

Interactive URL Builder

Configure parameters to generate a ready-to-use WMS GetMap request.

Loading...

Code Examples

Integration patterns for popular platforms and languages.

# Fetch a PNG map tile via cURL curl "https://demo.geoportal.org/geoserver/wms?SERVICE=WMS&REQUEST=GetMap&LAYERS=topp:states&CRS=EPSG:4326&BBOX=-180,-90,180,90&WIDTH=1024&HEIGHT=512&FORMAT=image/png" --output map.png

Performance & Best Practices

Optimize your WMS requests for faster rendering and lower server load.

📦 Use Caching / Tiles

For repeated map views, switch to WMTS or GeoServer's built-in GeoWebCache. WMS renders dynamically on every request.

🎯 Constrain BBOX

Always request the smallest necessary bounding box. Large global queries increase render time and memory usage significantly.

🎨 Optimize SLD Styles

Avoid complex raster symbols or dynamic filters in production. Pre-compute styles and use vector tiles for heavy datasets.

🌐 Prefer EPSG:3857

Web Mercator is widely optimized in browsers and tile servers. Reprojection on-the-fly adds CPU overhead.