# Cartograph Map Poster (SVG + PDF from OpenStreetMap) > Turn an OpenStreetMap extract into a print-ready city map poster as SVG and vector PDF. Draws a city map poster from your own OpenStreetMap extract (.osm XML, .osm.pbf or GeoJSON with OSM tags): roads by class, paths, railways, water, parks and woods, optional buildings, in one of six original colour styles, on A4–A2, 30 × 40, 50 × 70 or square paper, with a rectangular or round frame, title, subtitle, coordinates and the OpenStreetMap attribution. Returns a true-size SVG and a vector PDF. It is the poster engine of the Cartograph app. Part of usefulweb.site (https://usefulweb.site/). Part of [Cartograph](https://cartograph.usefulweb.site/) (ownerApp: cartograph). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://cartographmapposter.usefulweb.site/ (interactive tool at https://cartographmapposter.usefulweb.site/tool) - JSON API: POST https://cartographmapposter.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://cartographmapposter.usefulweb.site/api/v1/tool) - OpenAPI: https://cartographmapposter.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://cartographmapposter.usefulweb.site/mcp - tool `cartograph_map_poster` ## Inputs - file (file): OpenStreetMap extract (.osm, .osm.pbf or GeoJSON) - Up to 25 MB. Leave empty to use the built-in Vaduz sample. Download extracts from your own OpenStreetMap export, Geofabrik or BBBike; Cartograph never fetches map data itself. - center (text): Poster centre - Any coordinate format (decimal degrees, DMS, UTM, MGRS, plus code). Empty: the middle of the extract. - radiusM (number): Area half-width - Ground distance from the centre to the left and right edges of the map frame. - paper (select): Paper - orientation (select): Orientation - frame (select): Map frame - style (select): Colour style - paths (boolean): Draw footpaths and cycleways - buildings (boolean): Draw buildings - lineScale (number): Line width factor - title (text): Title - Empty: the town name found in the extract. - subtitle (text): Subtitle - showCoords (boolean): Print the centre coordinates ## Method - The extract is read locally: OSM XML (API 0.6), OSM PBF (zlib blocks, dense nodes, ways, multipolygon relations) or GeoJSON with OSM tags as properties. Nothing is downloaded from a map server. - Tags become layers: highway=* by class (motorway/trunk, primary, secondary/tertiary, streets, service/track, paths), railway=rail/light_rail/tram, waterway=river/canal/stream, natural=water and reservoirs (also multipolygons), parks/meadows/cemeteries and woods, building=*. Tunnels are left out. - Projection: Web Mercator around the centre, scaled so that the chosen half-width on the ground spans half of the frame. Every feature is clipped to the frame (Cyrus–Beck for lines, Sutherland–Hodgman for areas) and thinned to 0.04 mm, so the files carry only what is visible. - Line widths depend on the road class, the paper size, the area (wider areas get thinner lines) and the factor. Text uses Helvetica in the PDF; labels in other scripts are embedded as Noto subsets (Arabic shaping and Devanagari included). - Every poster carries “© OpenStreetMap contributors, ODbL”. Posters are Produced Works under the ODbL; the share-alike terms apply to databases, not to the printed map.