Skip to content
A Swift Autolayout DSL for iOS & OS X
Branch: develop
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
CodeSnippets Update code snippets Dec 25, 2016
Documentation Added quirks section to migration guide Dec 25, 2016
Example-iOS Update example project for Swift 3 (#376) Dec 25, 2016
SnapKit.xcodeproj Update Swift Language version to 4.2 under build settings (#551) Oct 22, 2018
SnapKit.xcworkspace Snap is now SnapKit Apr 15, 2015
Source Adds 'constraint.isActive = bool' to Constraint (#496) Jun 23, 2018
.gitignore Add Swift Package Manager support (#501) May 19, 2018
.travis.yml Update Sep 20, 2016 3.0.2 Release (#347) Oct 7, 2016
LICENSE Prepare for release Sep 17, 2017

SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.

Build Status Platform Cocoapods Compatible Carthage compatible

⚠️ To use with Swift 3.x please ensure you are using >= 3.0.0 ⚠️

⚠️ To use with Swift 4.x please ensure you are using >= 4.0.0 ⚠️



  • iOS 8.0+ / Mac OS X 10.11+ / tvOS 9.0+
  • Xcode 9.0+
  • Swift 3.0+


  • If you need help, use Stack Overflow. (Tag 'snapkit')
  • If you'd like to ask a general question, use Stack Overflow.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.



CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+.

To integrate SnapKit into your Xcode project using CocoaPods, specify it in your Podfile:

source ''
platform :ios, '10.0'

target '<Your Target Name>' do
    pod 'SnapKit', '~> 4.0.0'

Then, run the following command:

$ pod install


Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate SnapKit into your Xcode project using Carthage, specify it in your Cartfile:

github "SnapKit/SnapKit" ~> 4.0.0

Run carthage update to build the framework and drag the built SnapKit.framework into your Xcode project.


If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually.


Quick Start

import SnapKit

class MyViewController: UIViewController {

    lazy var box = UIView()

    override func viewDidLoad() {

        box.snp.makeConstraints { (make) -> Void in





SnapKit is released under the MIT license. See LICENSE for details.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.