Main features

  • Portable
    SFML compiles on standard platforms like Windows (98, 2000, XP, Vista) and Unix systems (Linux, Mac OS X). As the library grows up, support for more operating systems will be added.
  • Object-oriented
    SFML is written in C++ and provides an efficient, object-oriented design. It relies on standard patterns and idioms to provide a simple and robust framework.
  • Easy to use
    SFML aims at being easy to manipulate. Effort is put on internal code to provide the simplest public interface.
  • Flexible
    Instead of being one big API, SFML rather contains a lot of small packages, that can be chosen and combined according to the intended usage. You can use only the base package to get input and windowing, as well as the full graphics package with sprites and post-effects.
  • Easily integrable
    SFML can be used in one or more windows, and/or can be integrated in existing interface components. Integration with existing graphical user interface (GUI) libraries is easy, so that you can add SFML views into complex interfaces built with Qt, wxWidgets, MFC or whatever.


  • C++
  • C
  • .Net (C#, VB.Net, C++/CLI, ...)
  • Python
  • D
  • Ruby


  • Portable and accurate time measurement
  • Simple and object oriented threads and mutexes
  • Unicode module for proper conversions between UTF and locale-dependant encodings


  • Can be used as a minimal, portable package to replace GLUT or SDL for windowing and input with OpenGL
  • Can create several rendering windows
  • Can be integrated into components of existing Qt / MFC / wxWidgets / Win32 / X11 / ... interfaces
  • Provides both a message-based and a real-time interface for handling input
  • Can handle mouses with up to 5 buttons
  • Can handle four joysticks with up to 7 axes and 32 buttons


  • Interfaces very easily with OpenGL (see OpenGL samples)
  • Modern effects available and hardware-accelerated : alpha-blending, rotations, shaders, ...
  • Manages memory efficiently, so that you don't have to worry about resources lifetime or storage ; you can even load your graphical resources before any window is created
  • Can load and save standard image formats : bmp, dds, jpg, png, tga, psd
  • Can load all graphics resources directly from files in memory
  • Can use views like in a 3D scene, to zoom / translate / rotate the whole world
  • Uses a simplified shader language for adding real-time post-effects
  • Easy manipulation of graphical text through bitmap fonts
  • Supports unicode characters
  • Can load standard font file formats : ttf, cff, pcf, fnt, bdf, pfr, sfnt, type 1, type 42


  • Uses hardware acceleration whenever possible
  • Can load and save standard sound formats : ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k, rf64
  • Can load all audio resources directly from files in memory
  • 3D sound spacialization
  • Easy interface for capturing audio
  • Manages memory efficiently, so that you don't have to worry about resources lifetime or storage
  • Supports streaming for big files ; you can even write your custom streaming class for any source (network, ...)
  • Supports multi-channels formats (mono, stereo, 4.0, 5.1, 6.1, 7.1)


  • Implements a portable layer over TCP and UDP sockets
  • Easy data transfers through stream-based extensible packets
  • Classes to use the HTTP and FTP internet protocols
Image RSS Feed Latest Screens
Rounded Soccer Atom Zombie Smasher iCE3
Blog RSS Feed Report abuse Latest News: Teaser Video + Trailer Video + Let's Play Contest!

About Elemental Brawl with 0 comments by guitargodd97 on Oct 27th, 2014

Elemental Brawl is moving along quickly in its development while our kickstarter runs. A lot of bugs have been fixed, and the demo runs relatively smoothly. We are looking to add LAN multiplayer between 2 people as the next major feature. That should be a lot of fun! If you haven't checked out the Kickstarter yet, but sure to check it out here.

On another note, we have a couple of things to share with you about recent Elemental Brawl related things. For one, we have filmed and released a little teaser video. It's supposed to be short, funny, and to the average viewer, a little bit mysterious as to what the heck they just watched. The object of the video is that if someone happened to watch it, and they had no clue what Elemental Brawl is, they would then look up Elemental Brawl afterwards. We need your help to share this video EVERYWHERE! The more people we can get watching the video, the more people we can tell about Elemental Brawl, the more likely the game gets funded! Everyone wins! Here is the teaser video:

Also, we have recently created a much stronger trailer. It has more of a punch. It tells more about the game. So, be sure to check it out here:

One final thing before we finish up this little news blurb, Elemental Brawl is holding a sort of contest for the game involving fans of the game. While the kickstarter is going on, we need your help to spread any and all media about the game, so to do so, we are asking that if you have a YouTube channel that you do let's play videos on, you showcase the current demo of Elemental Brawl! If the game gets funded, and we create a full website, we will be featuring all the videos of those who made it happen on the website, as well as selecting 3 major helpers to be permanently featured on the website! The result will be more views for you all, and more exposure for Elemental Brawl! Let's make it happen!


Astrons Astrons Indie

Updated 1 month ago TBD Single & Multiplayer Adventure

Astron is an upcoming thrilling adventure game through our galaxy where you can only rely on YOUR own creations.

Balloons and numbers

Balloons and numbers Balloons and numbers Indie

Updated 3 months ago TBD Single Player Arcade

Explode balloons to hit every target number. You can add several numbers by exploding several balloons.

Battle Corp

Battle Corp Battle Corp Indie

Updated 2 years ago Released Oct 23, 2012 Multiplayer Turn Based Strategy

Battle Corp simplifies the classic board game BattleTech and brings it to the computer. Allowing it to be playable by new comers and enjoyed by die hard...


BattleStar BattleStar Indie

Updated 3 months ago Released Jul 2, 2014 Single Player Arcade

This is my first game I developed in C++ using SFML graphics library. This game is a simple retro style shoot'em'up. I made this game to learn the SFML...

Candy Slide Saga

Candy Slide Saga Candy Slide Saga Indie

Updated 8 months ago Released Feb 2, 2014 Single Player Puzzle Compilation

Desiged for the Candy Jam. Candy Slide Saga puzzle slider designed in the style of Pokemon Ice Slide puzzles, Candy Slide Saga is a short game...

Post comment Comments
MagnusJoker Mar 22 2013, 5:53am says:

SFML the best engine to develop games for desktop.

+3 votes     reply to comment
marek.zelinka Aug 16 2012, 2:14am says:

Creator`s of this site could add Library Used or anything like that to the Profile of game, so that game developers can make credits to the library they are using!

+2 votes     reply to comment
marek.zelinka Aug 16 2012, 2:06am says:

SFML is not an ENGINE!!!
SFML is a free multimedia C++ API that provides you low and high level access to graphics, input, audio, etc... !!!

+5 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Windows, Mac, Linux
SFML Developers
Send Message
Official Page
Release Date
Engine Watch
Track this engine
Embed Buttons

Promote SFML on your homepage or blog by selecting a button and using the HTML code provided (more).

148 of 659
Last Update
3 weeks ago
18 members