Françoise Cardigan (EN)

About Françoise Cardigan (EN)

Françoise Cardigan by Mrs Funny Valentine is a top-down knitted cardigan with tailored shoulders and a deep V-neck. Inspired by Françoise Hardy, the design blends classic structure with subtle individuality.

The cardigan is knitted with 3.0 mm and 2.75 mm needles and can be made in two versions: a soft Nordic style using wool and silk mohair held together, or a bold color-blocked version worked with intarsia technique. The hem can be finished split or closed, allowing for personal customization.

Françoise Cardigan is available in sizes XS to 5XL and is ideal for knitters who enjoy refined shaping and versatile wardrobe staples.

Designer

Craft

Stitch Pattern & Technique

, , ,

Difficulty Level

Clothing Size (Adult)

, , , , , , , ,

Language

Needle / Hook Size

,

Meterage (per 50 g)

,

Gauge

Collection

About this Pattern

Françoise Cardigan is a timeless knitted cardigan designed by Mrs Funny Valentine and inspired by the quiet elegance and individuality of French icon Françoise Hardy. The design celebrates subtle rebellion, personal choice, and refined simplicity, resulting in a cardigan that feels classic yet quietly distinctive.


The cardigan is worked top-down with a tailored shoulder construction and a deep V-neckline. Knitting begins at the upper back, where shoulder shaping creates a clean and flattering fit. The fronts are then picked up and worked separately with mirrored neckline increases before all parts are joined at the underarm. The body is knitted flat and can be finished either with a split hem for added movement or as a closed hem for a more traditional silhouette.


Françoise Cardigan offers two distinct style options. The Nordic Basic Version is worked in a soft, understated fabric created by holding fingering-weight wool together with silk mohair, adding gentle texture and light sheen. The Faux-Marni Colored Version uses sport-weight wool in three contrasting colors and is worked with intarsia technique, creating bold graphic color blocks that transform the cardigan into a statement piece.


The cardigan is knitted using 3.0 mm and 2.75 mm needles. The Nordic version uses Kremke Soul Wool Merry Merino 220 GOTS held together with Kremke Soul Wool Silky Kid RMS. The Faux-Marni version uses Kremke Soul Wool Merry Merino 140 GOTS in three colors. Depending on size and version, total yarn usage ranges from approximately 1012 to 1945 meters. This corresponds to a running length of 220 meters per 50 grams for Merry Merino 220 and 140 meters per 50 grams for Merry Merino 140.


Françoise Cardigan is available in women’s sizes XS, S, M (L, XL, 2XL) 3XL, 4XL, 5XL. Finished chest measurements after blocking range from approximately 82.5 cm to 157.5 cm, with positive ease included for a comfortable fit.


The blocked gauge is 25 stitches and 32 rows per 10 cm in stockinette stitch using 3.0 mm needles. Maintaining gauge ensures the cardigan’s tailored structure and clean lines.


Françoise Cardigan is suited for intermediate knitters who enjoy thoughtful construction, customization options, and garments that balance elegance with individuality. The result is a versatile cardigan that adapts effortlessly to both quiet and bold personal styles.

Meet

MrsFunnyValentine

I’m Miriam, the mind and heart behind MrsFunnyValentine. I design feminine, minimalist knitwear with soft aesthetic but bold details. My patterns are inspired by strong women and made for busy lives that crave beauty, calm and confidence. I learned to knit at age 10 from my grandmother, and it has been my creative anchor ever since.

Related patterns

Other patterns you might enjoy.

Chloé Shirt (EN)

MrsFunnyValentine

Sharpei Sweater (EN)

Créadia Studio

Hul Blusen (EN)

Dorte Bak Knitting

Marcu Polo Man (EN)

Créadia Studio

Nexi Vest (EN)

Créadia Studio

Sagittarius Sweater (EN)

Knitter from Iceland

Ef ég nenni Sweater (EN)

Knitter from Iceland

Kelda Sweater (EN)

Knitter from Iceland

Vegvisir Sweater (EN)

Knitter from Iceland

Sitkagreni Kids Sweater (EN)

Knitter from Iceland
<?php
/**
 * Mini-cart
 *
 * Contains the markup for the mini-cart, used by the cart widget.
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/cart/mini-cart.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see              https://woocommerce.com/document/template-structure/
 * @package          WooCommerce\Templates
 * @version          9.5.0
 * @flatsome-version 3.19.8
 */

defined( 'ABSPATH' ) || exit;

do_action( 'woocommerce_before_mini_cart' ); ?>

<?php if ( WC()->cart && ! WC()->cart->is_empty() ) : ?>

	<ul class="woocommerce-mini-cart cart_list product_list_widget <?php echo esc_attr( $args['list_class'] ); ?>">
		<?php
		do_action( 'woocommerce_before_mini_cart_contents' );

		foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
			$_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
			$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

			if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
				/**
				 * This filter is documented in woocommerce/templates/cart/cart.php.
				*
				* @since 2.1.0
				*/
				$product_name      = apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key );
				$thumbnail         = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
				$product_price     = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
				$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
				?>
				<li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">
					<?php
					echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
						'woocommerce_cart_item_remove_link',
						sprintf(
							'<a href="%s" class="remove remove_from_cart_button" aria-label="%s" data-product_id="%s" data-cart_item_key="%s" data-product_sku="%s" data-success_message="%s">&times;</a>',
							esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
							/* translators: %s is the product name */
							esc_attr( sprintf( __( 'Remove %s from cart', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) ),
							esc_attr( $product_id ),
							esc_attr( $cart_item_key ),
							esc_attr( $_product->get_sku() ),
							/* translators: %s is the product name */
							esc_attr( sprintf( __( '&ldquo;%s&rdquo; has been removed from your cart', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) )
						),
						$cart_item_key
					);
					?>
					<?php if ( empty( $product_permalink ) ) : ?>
						<?php echo $thumbnail . wp_kses_post( $product_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php else : ?>
						<a href="<?php echo esc_url( $product_permalink ); ?>">
							<?php echo $thumbnail . wp_kses_post( $product_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
						</a>
					<?php endif; ?>
					<?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity">' . sprintf( '%s &times; %s', $cart_item['quantity'], $product_price ) . '</span>', $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
				</li>
				<?php
			}
		}

		do_action( 'woocommerce_mini_cart_contents' );
		?>
	</ul>

	<?php do_action( 'flatsome_after_mini_cart_contents' ); ?>

	<div class="ux-mini-cart-footer">
		<?php do_action( 'flatsome_before_mini_cart_total' ); ?>

		<p class="woocommerce-mini-cart__total total">
			<?php
			/**
			 * Hook: woocommerce_widget_shopping_cart_total.
			*
			* @hooked woocommerce_widget_shopping_cart_subtotal - 10
			*/
			do_action( 'woocommerce_widget_shopping_cart_total' );
			?>
		</p>

		<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>

		<p class="woocommerce-mini-cart__buttons buttons"><?php do_action( 'woocommerce_widget_shopping_cart_buttons' ); ?></p>

		<?php do_action( 'woocommerce_widget_shopping_cart_after_buttons' ); ?>
	</div>

<?php else : ?>

	<div class="ux-mini-cart-empty flex flex-row-col text-center pt pb">
		<?php do_action( 'flatsome_before_mini_cart_empty_message' ); ?>
		<p class="woocommerce-mini-cart__empty-message empty"><?php esc_html_e( 'No products in the cart.', 'woocommerce' ); ?></p>
		<?php do_action( 'flatsome_after_mini_cart_empty_message' ); ?>
	</div>

<?php endif; ?>

<?php do_action( 'woocommerce_after_mini_cart' ); ?>